Module: Nero::Resolvable

Included in:
Nero, BaseTag
Defined in:
lib/nero.rb

Instance Method Summary collapse

Instance Method Details

#deep_resolve(object) ⇒ Object



81
82
83
# File 'lib/nero.rb', line 81

def deep_resolve(object)
  Util.deep_transform_values(object, &method(:try_resolve))
end

#resolve_nested!(coder) ⇒ Object



85
86
87
88
89
90
91
92
# File 'lib/nero.rb', line 85

def resolve_nested!(coder)
  case coder.type
  when :seq
    coder.seq.map!(&method(:try_resolve))
  when :map
    coder.map = deep_resolve(coder.map)
  end
end

#try_resolve(object) ⇒ Object



73
74
75
76
77
78
79
# File 'lib/nero.rb', line 73

def try_resolve(object)
  if object.respond_to?(:resolve)
    object.resolve
  else
    object
  end
end