class Kafo::Params::Hash

Public Instance Methods

condition_value() click to toggle source
# File lib/kafo/params/hash.rb, line 17
def condition_value
  value.inspect
end
multivalued?() click to toggle source
# File lib/kafo/params/hash.rb, line 13
def multivalued?
  true
end
value=(value) click to toggle source
Calls superclass method Kafo::Param#value=
# File lib/kafo/params/hash.rb, line 4
def value=(value)
  super
  if @value == ['EMPTY_HASH']
    @value = {}
  else
    @value = typecast(@value)
  end
end

Private Instance Methods

typecast(value) click to toggle source
# File lib/kafo/params/hash.rb, line 23
def typecast(value)
  if value.nil?
    nil
  elsif value.is_a?(::Hash)
    value
  else
    value = [value].flatten
    ::Hash[value.map { |v| v.split(':', 2) }]
  end
rescue NoMethodError => e
  KafoConfigure.logger.warn "Could not typecast #{value} for parameter #{name}, defaulting to {}"
  return {}
end