Class: Freightrain::BindingLoader
- Inherits:
-
Object
- Object
- Freightrain::BindingLoader
- Defined in:
- lib/freightrain/binding/binding_loader.rb
Instance Method Summary collapse
-
#each_binding ⇒ Object
TODO: refactor, this needs a little cleanup, method does too much.
- #filename ⇒ Object
-
#initialize(class_name) ⇒ BindingLoader
constructor
A new instance of BindingLoader.
Constructor Details
#initialize(class_name) ⇒ BindingLoader
Returns a new instance of BindingLoader.
8 9 10 11 12 13 |
# File 'lib/freightrain/binding/binding_loader.rb', line 8 def initialize(class_name) @search_path = File.join( Freightrain.views_path, "**", class_name.to_convention + ".bnd.yml") end |
Instance Method Details
#each_binding ⇒ Object
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 |, binding| binding = [binding] if binding.kind_of? Hash #needed if only 1 binding declared binding.each do || = {} .each do |key, value| [key.to_sym] = value end yield(, ) end end end |
#filename ⇒ Object
15 16 17 18 |
# File 'lib/freightrain/binding/binding_loader.rb', line 15 def filename result = Dir.glob(@search_path) return result[0] || nil end |