class ModelMaker::Source::Generator

Public Class Methods

new(project) click to toggle source
# File src/lib/modelmaker.rb, line 375
def initialize(project)
    @project = project
end

Public Instance Methods

generate(target_directory='.') click to toggle source
# File src/lib/modelmaker.rb, line 379
def generate(target_directory='.')
    for cls in renderers do
        renderer = cls.new()
        
        for entity in @project.entities
            vars = TemplateVars.new()
            vars.project = @project
            vars.entity = entity
            
            filename = renderer.generated_file(vars)
            fullpath = File.join(target_directory, filename)
            fhandle = File.new(fullpath, 'w')
            fhandle.write(renderer.result(vars))
        end
    end
end
renderers() click to toggle source
# File src/lib/modelmaker.rb, line 396
def renderers
    [
        HeaderRenderer,
        ImplementationRenderer,
        MutableHeaderRenderer,
        MutableImplementationRenderer
    ]
end