Module: Landescape
- Defined in:
- lib/landescape.rb,
lib/landescape/version.rb,
lib/landescape/converter.rb,
lib/landescape/evaluator.rb,
lib/landescape/tokenizer.rb,
lib/landescape/evaluator/curses.rb
Defined Under Namespace
Modules: Converter, Evaluator
Classes: Nullogger, Tokenizer
Constant Summary
collapse
- VERSION =
"0.0.2"
- Curses =
Evaluator::Curses
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.logger ⇒ Object
18
19
20
|
# File 'lib/landescape.rb', line 18
def logger
@logger ||= Nullogger.new
end
|
Class Method Details
.run(source, window, options = {}) ⇒ Object
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/landescape.rb', line 22
def run(source, window, options = {})
options = {non_block: false, converter: Converter::VT100, evaluator: Curses}.merge(options)
converter_klass, evaluator_klass = [:converter, :evaluator].map {|n|
options.delete(n)
}
tokenizer = Tokenizer.start(source)
converter = converter_klass.start(tokenizer.result, options)
evaluator_klass.start(converter.result, window, options).tap {|evaluator|
at_exit do
[tokenizer, converter, evaluator].each &:stop
end
}
end
|