class Protobuf::Generate::Language

Public Class Methods

find(language) click to toggle source
# File lib/protobuf/generate/language.rb, line 43
def self.find language
  @@languages.find{|l| l.match(language.to_s)}
end
inherited(klass) click to toggle source
# File lib/protobuf/generate/language.rb, line 47
def self.inherited klass
  (@@languages ||= []) << klass
end
match(language = nil) click to toggle source
# File lib/protobuf/generate/language.rb, line 33
def self.match language = nil
  @language = language if language
  @language
end
new(ast) click to toggle source
# File lib/protobuf/generate/language.rb, line 53
def initialize ast
  @ast = ast
end
templates(templates = nil) click to toggle source
# File lib/protobuf/generate/language.rb, line 38
def self.templates templates = nil
  @templates = templates if templates
  @templates
end

Public Instance Methods

generate(template, filename) click to toggle source
# File lib/protobuf/generate/language.rb, line 61
def generate template, filename
  ast = @ast
  ast.extend(Helpers)
  ast.template = template
  ast.filename = filename
  Erubis::Eruby.new(File.read(template), filename: template).evaluate(ast)
end
templates() click to toggle source
# File lib/protobuf/generate/language.rb, line 57
def templates
  self.class.templates
end