module GenMachine::Generators::Generator

Public Class Methods

new(opts={}) click to toggle source
# File lib/genmachine/generators/generator.rb, line 4
def initialize(opts={})
  opts ||= {}
  @spec_ast       = opts.delete(:spec_ast)
  @gen_executable = opts.delete(:executable)
  @classname      = opts.delete(:classname)  || 'MiscParser'
  @test_file      = opts.delete(:test_file)
  @output_dir     = opts.delete(:output_dir) || './'
  @class_fname    = opts.delete(:class_fname)|| @classname.to_underscored
  @exe_fname      = opts.delete(:exe_fname)  || @classname.sub(/parser$/i,'').to_underscored
  @debug          = opts.delete(:debug)
  @gen_executable = false if @gen_executable.nil?
  @debug          = false if @debug.nil?
  raise ArgumentError, "Must include the table specification data (:spec_ast)" if @spec_ast.nil?
end

Public Instance Methods

generate_class() click to toggle source
# File lib/genmachine/generators/generator.rb, line 19
def generate_class
  puts "TODO: Generate class (#{@classname}): #{@class_fname}" if @debug
end
generate_executable() click to toggle source
# File lib/genmachine/generators/generator.rb, line 23
def generate_executable
  return unless @gen_executable
  puts "TODO: Generate executable: #{@exe_fname}" if @debug
end
run_test() click to toggle source
# File lib/genmachine/generators/generator.rb, line 28
def run_test
  return if @test_file.nil?
  puts "TODO: Run test" if @debug
end