Class: Eggshell::ExpressionEvaluator::ExprHash

Inherits:
Hash
  • Object
show all
Defined in:
lib/eggshell/expression-evaluator.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#dyn_keysObject (readonly)

Returns the value of attribute dyn_keys.



62
63
64
# File 'lib/eggshell/expression-evaluator.rb', line 62

def dyn_keys
  @dyn_keys
end

#dynamicObject

Returns the value of attribute dynamic.



61
62
63
# File 'lib/eggshell/expression-evaluator.rb', line 61

def dynamic
  @dynamic
end

Instance Method Details

#add_term(key, term) ⇒ Object



64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/eggshell/expression-evaluator.rb', line 64

def add_term(key, term)
  @dyn_keys = [] if !@dyn_keys

  if term.is_a?(ExprArray) || term.is_a?(ExprHash)
    if term.dynamic
      @dynamic = true
      @dyn_keys << key
    end         
  elsif term.is_a?(Array)
    term, dyn = Eggshell::ExpressionEvaluator::struct_compact(term)
    if dyn
      @dynamic = true
      @dyn_keys << key
    end
  end

  self[key] = term
end