Sha256: 6e34264399740b1fd178bcb73c46f404719340e7e89a58d6bca2a97728109791
Contents?: true
Size: 669 Bytes
Versions: 3
Compression:
Stored size: 669 Bytes
Contents
module Xdrgen class Compilation extend Memoist def initialize(source_paths, output_dir:".", language: :ruby, namespace: nil) @source_paths = source_paths @output_dir = output_dir @namespace = namespace @language = language end memoize def source @source_paths.map{|p| IO.read(p)}.join("\n") end memoize def ast parser = Parser.new parser.parse(source) end def compile output = Output.new(@source_paths, @output_dir) generator = Generators.for_language(@language).new(ast, output, @namespace) generator.generate ensure output.close end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
xdrgen-0.1.1 | lib/xdrgen/compilation.rb |
xdrgen-0.1.0 | lib/xdrgen/compilation.rb |
xdrgen-0.0.1 | lib/xdrgen/compilation.rb |