Module: Bootstrap::ComponentLoader
- Included in:
- Bootstrap, Bootstrapper
- Defined in:
- mod/bootstrap/lib/bootstrap/component_loader.rb
Instance Method Summary collapse
- #components ⇒ Object
- #include_component(component) ⇒ Object
- #load_components ⇒ Object
- #to_const(name) ⇒ Object
Instance Method Details
#components ⇒ Object
17 18 19 20 21 22 |
# File 'mod/bootstrap/lib/bootstrap/component_loader.rb', line 17 def components path = File. "../component/*.rb", __FILE__ Dir.glob(path).map do |file| File.basename file, ".rb" end end |
#include_component(component) ⇒ Object
10 11 12 13 14 15 |
# File 'mod/bootstrap/lib/bootstrap/component_loader.rb', line 10 def include_component component component_class = to_const component.camelcase define_method component do |*args, &block| component_class.render self, *args, &block end end |
#load_components ⇒ Object
3 4 5 6 7 8 |
# File 'mod/bootstrap/lib/bootstrap/component_loader.rb', line 3 def load_components components.each do |component| require_relative "component/#{component}" include_component component end end |
#to_const(name) ⇒ Object
24 25 26 |
# File 'mod/bootstrap/lib/bootstrap/component_loader.rb', line 24 def to_const name self.class.const_get "::Bootstrap::Component::#{name.camelcase}" end |