Class: RgGen::OutputBase::Item
- Inherits:
-
Base::Item
- Object
- Base::Item
- RgGen::OutputBase::Item
- Includes:
- Base::HierarchicalItemAccessors
- Defined in:
- lib/rggen/output_base/item.rb
Direct Known Subclasses
Constant Summary collapse
- CODE_GENERATION_METHODS =
{ pre: :generate_pre_code, main: :generate_code, post: :generate_post_code }
Instance Attribute Summary
Attributes inherited from Base::Item
Class Method Summary collapse
Instance Method Summary collapse
- #build ⇒ Object
-
#initialize(owner) ⇒ Item
constructor
A new instance of Item.
- #write_file(output_directory = nil) ⇒ Object
Methods inherited from Base::Item
#available?, available?, define_helpers, inherit_class_instance_variable
Methods included from Forwardable
#def_class_delegator, #def_class_delegators
Constructor Details
#initialize(owner) ⇒ Item
Returns a new instance of Item.
70 71 72 73 |
# File 'lib/rggen/output_base/item.rb', line 70 def initialize(owner) super(owner) define_hierarchical_item_accessors end |
Class Method Details
.inherited(subclass) ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/rggen/output_base/item.rb', line 57 def self.inherited(subclass) super(subclass) [:@builders, :@exported_methods].each do |v| subclass.inherit_class_instance_variable(v, self, &:dup) end if @code_generators && @code_generators.size > 0 subclass.instance_variable_set( :@code_generators, Hash[*@code_generators.flat_map { |k, g| [k, g.copy] }] ) end end |
Instance Method Details
#build ⇒ Object
80 81 82 83 84 85 |
# File 'lib/rggen/output_base/item.rb', line 80 def build return if builders.nil? builders.each do |builder| instance_exec(&builder) end end |
#write_file(output_directory = nil) ⇒ Object
94 95 96 97 |
# File 'lib/rggen/output_base/item.rb', line 94 def write_file(output_directory = nil) return if file_writer.nil? file_writer.write_file(self, output_directory) end |