Sha256: 6ae0539e20fa35f2dbcaf0e73f3455cf5f27cf6b79b24904b952f5e49db0a806

Contents?: true

Size: 684 Bytes

Versions: 42

Compression:

Stored size: 684 Bytes

Contents

class Bootstrap
  module ComponentLoader
    def load_components
      components.each do |component|
        require "component/#{component}"
        include_component component
      end
    end

    def include_component component
      component_class = to_const component.camelcase
      define_method component do |*args, &block|
        component_class.render self, *args, &block
      end
    end

    def components
      path = File.expand_path "../component/*.rb", __FILE__
      Dir.glob(path).map do |file|
        File.basename file, ".rb"
      end
    end

    def to_const name
      self.class.const_get "::Bootstrap::Component::#{name.camelcase}"
    end
  end
end

Version data entries

42 entries across 42 versions & 1 rubygems

Version Path
card-1.99.1 mod/bootstrap/lib/bootstrap/component_loader.rb
card-1.99.0 mod/bootstrap/lib/bootstrap/component_loader.rb
card-1.98.3 mod/bootstrap/lib/bootstrap/component_loader.rb
card-1.98.2 mod/bootstrap/lib/bootstrap/component_loader.rb
card-1.98.1 mod/bootstrap/lib/bootstrap/component_loader.rb
card-1.98.0 mod/bootstrap/lib/bootstrap/component_loader.rb
card-1.97.0.1 mod/bootstrap/lib/bootstrap/component_loader.rb
card-1.97.0 mod/bootstrap/lib/bootstrap/component_loader.rb
card-1.96.8 mod/bootstrap/lib/bootstrap/component_loader.rb
card-1.96.7 mod/bootstrap/lib/bootstrap/component_loader.rb
card-1.96.6 mod/bootstrap/lib/bootstrap/component_loader.rb
card-1.96.5 mod/bootstrap/lib/bootstrap/component_loader.rb
card-1.96.4 mod/bootstrap/lib/bootstrap/component_loader.rb
card-1.96.3 mod/bootstrap/lib/bootstrap/component_loader.rb
card-1.96.2 mod/bootstrap/lib/bootstrap/component_loader.rb
card-1.96.1 mod/bootstrap/lib/bootstrap/component_loader.rb
card-1.96.0 mod/bootstrap/lib/bootstrap/component_loader.rb
card-1.95.3 mod/bootstrap/lib/bootstrap/component_loader.rb
card-1.95.2 mod/bootstrap/lib/bootstrap/component_loader.rb
card-1.95.1 mod/bootstrap/lib/bootstrap/component_loader.rb