class ValueSemantics::ArrayCoercer
Attributes
element_coercer[R]
Public Class Methods
new(element_coercer = nil)
click to toggle source
# File lib/value_semantics/array_coercer.rb, line 5 def initialize(element_coercer = nil) @element_coercer = element_coercer freeze end
Public Instance Methods
call(obj)
click to toggle source
# File lib/value_semantics/array_coercer.rb, line 10 def call(obj) if obj.respond_to?(:to_a) array = obj.to_a if element_coercer array.map { |element| element_coercer.call(element) } else array end else obj end end