class Extant::Coercers::Array
Attributes
value_type[RW]
Public Instance Methods
coerce()
click to toggle source
# File lib/extant/coercers/array.rb, line 7 def coerce return ArgumentError unless value.respond_to?(:to_a) result = value.to_a return ArgumentError unless result.is_a?(::Array) if value_type result = result.map do |v| coerce_value(v) end end self.coerced = true result rescue ArgumentError UncoercedValue end
Private Instance Methods
coerce_value(v)
click to toggle source
# File lib/extant/coercers/array.rb, line 27 def coerce_value(v) coercer = value_type.new(v) result = coercer.coerce raise ArgumentError unless coercer.coerced? result end
key_type()
click to toggle source
# File lib/extant/coercers/array.rb, line 34 def key_type self.class.key_type end
value_type()
click to toggle source
# File lib/extant/coercers/array.rb, line 38 def value_type self.class.value_type end