Module: Travis::Conditions::V0
- Defined in:
- lib/travis/conditions/v0.rb,
lib/travis/conditions/v0/data.rb,
lib/travis/conditions/v0/eval.rb,
lib/travis/conditions/v0/parser.rb
Defined Under Namespace
Classes: Data, Eval, Parser, Transform
Class Method Summary
collapse
Class Method Details
.eval(str, data, opts = {}) ⇒ Object
9
10
11
|
# File 'lib/travis/conditions/v0.rb', line 9
def eval(str, data, opts = {})
Eval.new(parse(str, keys: data.keys), Data.new(data)).apply
end
|
.parse(str, opts = {}) ⇒ Object
13
14
15
16
17
18
|
# File 'lib/travis/conditions/v0.rb', line 13
def parse(str, opts = {})
tree = parser(opts).parse(str)
Transform.new.apply(tree)
rescue Parslet::ParseFailed
raise ParseError
end
|
.parser(opts) ⇒ Object
20
21
22
|
# File 'lib/travis/conditions/v0.rb', line 20
def parser(opts)
parsers[opts] ||= Parser.new(opts)
end
|
.parsers ⇒ Object
24
25
26
|
# File 'lib/travis/conditions/v0.rb', line 24
def parsers
@parsers ||= {}
end
|