Comment puis-je parse un fichier YAML?

Je voudrais savoir comment analyser un fichier YAML avec le contenu suivant:

--- 
javascripts: 
- fo_global:
  - lazyload-min
  - holla-min

Actuellement, je suis en train de l'analyser de cette façon:

@custom_asset_packages_yml = (File.exists?("#{RAILS_ROOT}/config/asset_packages.yml") ? YAML.load_file("#{RAILS_ROOT}/config/asset_packages.yml") : nil)
    if !@custom_asset_packages_yml.nil?
      @custom_asset_packages_yml['javascripts'].each{ |js|
        js['fo_global'].each{ |script|
         script
        }
      }
    end

Mais il ne semble pas fonctionner et me donne une erreur que la valeur est nulle.

You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.each

Si j'essaie cela, il met de l'ensemble de la chaîne (fo_globallazyload-minholla-min):

if !@custom_asset_packages_yml.nil?
          @custom_asset_packages_yml['javascripts'].each{ |js|
            js['fo_global']
          }
        end
  • pouvez-vous donner la sortie du script lorsque vous l'exécutez? les fichiers au bon endroit? vous pouvez toujours le feu jusqu'à une console Rails et de voir si ruby peut voir que le chemin ainsi.
  • Oui, le fichier existe et est dans le bon endroit. Ive mis à jour mon post avec l'erreur.
InformationsquelleAutor alvincrespo | 2010-10-06