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