Class: FelFlame::Components
- Inherits:
-
Object
- Object
- FelFlame::Components
- Extended by:
- Enumerable
- Defined in:
- felflame.rb,
component_manager.rb
Overview
Creates component managers and allows accessing them them under the Components namespace as Constants
To see how component managers are used please look at the Helper::ComponentManagerTemplate documentation.
TODO: Improve Component overview
Class Method Summary collapse
-
.each(&block) ⇒ Enumerator
Iterate over all existing component managers.
-
.new(component_name, *attrs, **attrs_with_defaults) ⇒ Object
Creates a new component manager.
Class Method Details
.each(&block) ⇒ Enumerator
Iterate over all existing component managers. You also call other enumerable methods instead of each, such as `each_with_index` or `select`
32 33 34 |
# File 'component_manager.rb', line 32 def each(&block) constants.each(&block) end |
.new(component_name, *attrs, **attrs_with_defaults) ⇒ Object
Creates a new component manager.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'component_manager.rb', line 15 def new(component_name, *attrs, **attrs_with_defaults) const_set(component_name, Class.new(FelFlame::Helper::ComponentManagerTemplate) {}) attrs.each do |attr| FelFlame::Components.const_get(component_name).attr_accessor attr end attrs_with_defaults.each do |attr, _default| FelFlame::Components.const_get(component_name).attr_accessor attr end FelFlame::Components.const_get(component_name).define_method(:initialize) do attrs_with_defaults.each do |attr, default| instance_variable_set("@#{attr}", default) end end end |