Class: RgGen::Builder::Category
- Inherits:
-
Object
- Object
- RgGen::Builder::Category
- Defined in:
- lib/rggen/builder/category.rb
Instance Method Summary collapse
- #add_item_store(component_name, item_store) ⇒ Object
- #define_list_item(list_name_or_names, item_name_or_names = nil, &body) ⇒ Object
- #define_simple_item(item_name_or_names, &body) ⇒ Object
- #enable(*args) ⇒ Object
-
#initialize ⇒ Category
constructor
A new instance of Category.
- #shared_context(&body) ⇒ Object
Constructor Details
#initialize ⇒ Category
Returns a new instance of Category.
4 5 6 |
# File 'lib/rggen/builder/category.rb', line 4 def initialize @item_stores = {} end |
Instance Method Details
#add_item_store(component_name, item_store) ⇒ Object
8 9 10 11 12 |
# File 'lib/rggen/builder/category.rb', line 8 def add_item_store(component_name, item_store) return if @item_stores.key?(component_name) @item_stores[component_name] = item_store define_definition_method(component_name) end |
#define_list_item(list_name_or_names, item_name_or_names = nil, &body) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/rggen/builder/category.rb', line 20 def define_list_item(list_name_or_names, item_name_or_names = nil, &body) if item_name_or_names.nil? Array(list_name_or_names).each do |list_name| do_definition(:define_list_item, list_name, nil, &body) end else list_name = list_name_or_names Array(item_name_or_names).each do |item_name| do_definition(:define_list_item, list_name, item_name, &body) end end end |
#define_simple_item(item_name_or_names, &body) ⇒ Object
14 15 16 17 18 |
# File 'lib/rggen/builder/category.rb', line 14 def define_simple_item(item_name_or_names, &body) Array(item_name_or_names).each do |item_name| do_definition(:define_simple_item, item_name, &body) end end |
#enable(*args) ⇒ Object
38 39 40 41 42 |
# File 'lib/rggen/builder/category.rb', line 38 def enable(*args) @item_stores.each_value do |item_registry| item_registry.enable(*args) end end |
#shared_context(&body) ⇒ Object
33 34 35 36 |
# File 'lib/rggen/builder/category.rb', line 33 def shared_context(&body) @shared_context ||= Object.new @shared_context.singleton_class.class_exec(&body) if block_given? end |