Class: Pione::TestHelper::LangReader

Inherits:
Object
  • Object
show all
Defined in:
lib/pione/test-helper/lang-helper.rb

Overview

LangReader is a language reader that converts fromt string to pione inner model.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(string, parser_name, opts = {}) ⇒ LangReader

Returns a new instance of LangReader.



114
115
116
117
118
# File 'lib/pione/test-helper/lang-helper.rb', line 114

def initialize(string, parser_name, opts={})
  @string = string
  @parser_name = parser_name
  @opts = {package_name: "Test", filename: "Test.pione"}.merge(opts)
end

Class Method Details

.parser(name) ⇒ Object



103
104
105
# File 'lib/pione/test-helper/lang-helper.rb', line 103

def parser(name)
  @parser[name] ||= Pione::Lang::DocumentParser.new.send(name)
end

.transformerObject



107
108
109
# File 'lib/pione/test-helper/lang-helper.rb', line 107

def transformer
  @transformer ||= Pione::Lang::DocumentTransformer.new
end

Instance Method Details

#readObject



120
121
122
123
124
# File 'lib/pione/test-helper/lang-helper.rb', line 120

def read
  parsed = parser(@parser_name).parse(@string)
  opts = {package_name: @opts[:package_name], filename: @opts[:filename]}
  transformer.apply(parsed, opts)
end