Class: Musterb::Evaluator

Inherits:
Object
  • Object
show all
Includes:
ExtractValues
Defined in:
lib/musterb/evaluator.rb

Instance Method Summary collapse

Methods included from ExtractValues

#[], #chain, #value

Constructor Details

#initialize(context) ⇒ Evaluator

Returns a new instance of Evaluator.



4
5
6
# File 'lib/musterb/evaluator.rb', line 4

def initialize(context)
  @context = context
end

Instance Method Details

#block_if(value) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/musterb/evaluator.rb', line 8

def block_if(value)
  return if is_falsy? value

  case value
  when Hash
    switch_context(value) { |v| yield v }
  when Enumerable
    value.each { |e| switch_context(e) { |v| yield v } }
  else
    switch_context(value) { |v| yield v }
  end
end

#block_unless(value) ⇒ Object



21
22
23
# File 'lib/musterb/evaluator.rb', line 21

def block_unless(value)
  yield if is_falsy? value
end