class Bizflow::SourceGenerator
Constants
- JsTemplatesPath
- RbTemplatesPath
Attributes
domain_repo[R]
Public Class Methods
new(builder)
click to toggle source
# File lib/bizflow/source_generator.rb, line 13 def initialize(builder) @builder = builder @domain_repo = @builder.build end
Public Instance Methods
generate(config)
click to toggle source
# File lib/bizflow/source_generator.rb, line 18 def generate(config) generate_processes(config[:dest_process_path]) generate_processes_descriptor(config[:dest_descriptor_path]) #generate_handlers(source_dest) end
generate_handlers(source_dest)
click to toggle source
# File lib/bizflow/source_generator.rb, line 36 def generate_handlers(source_dest) domain_repo.processes.each do |_, process| presenter = Bizflow::ProcessTemplatePresenter.new(process) handler_source = ERB.new(File.read("#{RbTemplatesPath}/handler.tt")).result(presenter.get_binding) Dir.mkdir "#{source_dest}/handlers" process.handlers.each do |handler| out_file = File.new("#{source_dest}/handlers/#{handler.name}_handler.rb", "w") out_file.puts(handler_source) out_file.close end end end
generate_processes(source_dest)
click to toggle source
# File lib/bizflow/source_generator.rb, line 24 def generate_processes(source_dest) domain_repo.processes.each do |_, process| presenter = Bizflow::ProcessTemplatePresenter.new(process) process_source = ERB.new(File.read("#{RbTemplatesPath}/process.tt"), nil, '-').result(presenter.get_binding) out_file = File.new("#{source_dest}/#{presenter.name}_process.rb", "w") out_file.puts(process_source) out_file.close end end
generate_processes_descriptor(source_dest)
click to toggle source
# File lib/bizflow/source_generator.rb, line 51 def generate_processes_descriptor(source_dest) descriptor = ERB.new(File.read("#{JsTemplatesPath}/descriptor.tt"), nil, '-').result(domain_repo.get_binding) out_file = File.new("#{source_dest}/process-descriptor.json", "w") out_file.puts(descriptor) out_file.close end