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.
129
130
131
132
|
# File 'lib/rggen/output_base/item.rb', line 129
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
|
# File 'lib/rggen/output_base/item.rb', line 116
def self.inherited(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
141
142
143
144
145
146
|
# File 'lib/rggen/output_base/item.rb', line 141
def build
return if builders.nil?
builders.each do |builder|
instance_exec(&builder)
end
end
|
#generate_code(kind, buffer) ⇒ Object
153
154
155
156
|
# File 'lib/rggen/output_base/item.rb', line 153
def generate_code(kind, buffer)
return if code_generator.nil?
code_generator.generate_code(self, kind, buffer)
end
|
#generate_post_code(kind, buffer) ⇒ Object
158
159
160
161
|
# File 'lib/rggen/output_base/item.rb', line 158
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
148
149
150
151
|
# File 'lib/rggen/output_base/item.rb', line 148
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
163
164
165
166
|
# File 'lib/rggen/output_base/item.rb', line 163
def write_file(output_directory = '')
return if file_writer.nil?
file_writer.write_file(self, output_directory)
end
|