Class: RgGen::OutputBase::Item
Defined Under Namespace
Classes: CodeGenerator, FileWriter
Instance Attribute Summary
Attributes inherited from Base::Item
#owner
Class Method Summary
collapse
Instance Method Summary
collapse
included, #process_template
Methods inherited from Base::Item
#available?, available?, define_helpers, inherit_class_instance_variable
#def_class_delegator, #def_class_delegators
Constructor Details
#initialize(owner) ⇒ Item
Returns a new instance of Item.
130
131
132
133
|
# File 'lib/rggen/output_base/item.rb', line 130
def initialize(owner)
super(owner)
define_hierarchical_item_accessors
end
|
Class Method Details
.inherited(subclass) ⇒ Object
116
117
118
119
120
121
122
123
124
125
126
127
128
|
# File 'lib/rggen/output_base/item.rb', line 116
def self.inherited(subclass)
super(subclass)
[:@builders, :@exported_methods].each do |v|
subclass.inherit_class_instance_variable(v, self, &:dup)
end
[
:@pre_code_generator,
:@code_generator,
:@post_code_generator
].each do |v|
subclass.inherit_class_instance_variable(v, self, &:copy)
end
end
|
Instance Method Details
#build ⇒ Object
142
143
144
145
146
147
|
# File 'lib/rggen/output_base/item.rb', line 142
def build
return if builders.nil?
builders.each do |builder|
instance_exec(&builder)
end
end
|
#generate_code(kind, buffer) ⇒ Object
154
155
156
157
|
# File 'lib/rggen/output_base/item.rb', line 154
def generate_code(kind, buffer)
return if code_generator.nil?
code_generator.generate_code(self, kind, buffer)
end
|
#generate_post_code(kind, buffer) ⇒ Object
159
160
161
162
|
# File 'lib/rggen/output_base/item.rb', line 159
def generate_post_code(kind, buffer)
return if post_code_generator.nil?
post_code_generator.generate_code(self, kind, buffer)
end
|
#generate_pre_code(kind, buffer) ⇒ Object
149
150
151
152
|
# File 'lib/rggen/output_base/item.rb', line 149
def generate_pre_code(kind, buffer)
return if pre_code_generator.nil?
pre_code_generator.generate_code(self, kind, buffer)
end
|
#write_file(output_directory = '') ⇒ Object
164
165
166
167
|
# File 'lib/rggen/output_base/item.rb', line 164
def write_file(output_directory = '')
return if file_writer.nil?
file_writer.write_file(self, output_directory)
end
|