class Steamd::CodeGenerator

Generates the steam language into specified code

@example Generate Ruby code

generator = CodeGenerator.new('/input/dir', 'output/dir')
generator.generate

Public Class Methods

new(input, output) click to toggle source
# File lib/steamd/code_generator.rb, line 11
def initialize(input, output)
  @input  = input
  @output = output
end

Public Instance Methods

generate() click to toggle source

Generates ruby code from the input, places the Ruby files in the output

# File lib/steamd/code_generator.rb, line 18
def generate
  make_output_directory

  files.each do |file|
    File.write("#{@output}/#{File.basename(file, '.*')}.rb",
               Steamd::Generator::Ruby.new(file).run)
  end
end

Private Instance Methods

files() click to toggle source

@api private

# File lib/steamd/code_generator.rb, line 35
def files
  Dir.glob("#{@input}/*.steamd").map do |file|
    File.open(File.expand_path(file))
  end
end
make_output_directory() click to toggle source

@api private

# File lib/steamd/code_generator.rb, line 30
def make_output_directory
  FileUtils.mkdir_p(@output)
end