class Generic
TODO
Attributes
model[RW]
output[RW]
properties[RW]
Public Class Methods
new(model=nil)
click to toggle source
# File lib/kody/engine/generic/generic.rb, line 18 def initialize(model=nil) @output = Dir.pwd @hash = Hash.new @model = model if !model.nil? @properties = Properties.load(@output) initialize_builders end end
Public Instance Methods
generate()
click to toggle source
# File lib/kody/engine/generic/generic.rb, line 47 def generate @entities.each do |e| generate_class(e) end end
name()
click to toggle source
# File lib/kody/engine/generic/generic.rb, line 39 def name return "Generic" end
version()
click to toggle source
# File lib/kody/engine/generic/generic.rb, line 43 def version return "1.0" end
Private Instance Methods
generate_class(clazz)
click to toggle source
# File lib/kody/engine/generic/generic.rb, line 97 def generate_class(clazz) @hash['class'] = clazz generate_classes(clazz) generate_dao(clazz) end
generate_classes(clazz)
click to toggle source
# File lib/kody/engine/generic/generic.rb, line 122 def generate_classes(clazz) case clazz.stereotype when :entity template = load_template("entity.tpl") when :enumeration template = load_template("enumeration.tpl") else return end @rendered = template.render(@hash) path = output + "/src/main/java/" + clazz.package.gsub(".", "/") + "/" file_name = clazz.name + ".java" save(@rendered, path, file_name) end
initialize_builders()
click to toggle source
# File lib/kody/engine/generic/generic.rb, line 54 def initialize_builders App.logger.info "Initializing builders..." @entities = Array.new @enumerations = Array.new @model.classes.each do |clazz| initialize_class(clazz) end App.logger.info "Builders initialized" end
initialize_class(clazz)
click to toggle source
# File lib/kody/engine/generic/generic.rb, line 81 def initialize_class(clazz) #App.logger.debug "Class: #{clazz.name}" class_builder = ClassBuilder.new(clazz, self) case class_builder.stereotype when :entity @entities << class_builder when :enumeration @enumerations << class_builder else return end end
initialize_package(package)
click to toggle source
# File lib/kody/engine/generic/generic.rb, line 68 def initialize_package(package) #App.logger.debug "Package: #{package.name}" package.classes.sort.each do |c| initialize_class(c) end package.packages.sort.each do |p| initialize_package(p) end end
load_template(template_name)
click to toggle source
# File lib/kody/engine/generic/generic.rb, line 105 def load_template(template_name) @templates = Hash.new if @templates.nil? return @templates[template_name] if !(@templates[template_name]).nil? full_template_name = File.expand_path File.dirname(__FILE__) + "/templates/" + template_name arquivo_template = File.read(full_template_name) template = Liquid::Template.parse(arquivo_template) Liquid::Template.register_filter(TextFilter) @templates[template_name] = template App.logger.info "Template '#{template_name}' loaded..." return template end
save(content, path, file_name)
click to toggle source
# File lib/kody/engine/generic/generic.rb, line 141 def save(content, path, file_name) FileUtils.mkdir_p(path) unless File.exists?(path) file = File.new("#{path}#{file_name}", "w") file.write(content) file.close App.logger.debug "Template saved in #{path}#{file_name}" end