Method: Freightrain::BindingLoader#each_binding

Defined in:
lib/freightrain/binding/binding_loader.rb

#each_bindingObject

TODO: refactor, this needs a little cleanup, method does too much



21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/freightrain/binding/binding_loader.rb', line 21

def each_binding
  return nil unless filename
  binding_collection = YAML.load_file(filename) || []
  binding_collection.each do |widget, binding|
    binding = [binding] if binding.kind_of? Hash #needed if only 1 binding declared
    binding.each do |binding_options|
      options = {}
      binding_options.each do |key, value|
        options[key.to_sym] = value
      end
      yield(widget, options)
    end        
  end
end