class Shrink::Wrap::Property::Coercion
Attributes
base[RW]
Public Class Methods
new(value)
click to toggle source
# File lib/shrink/wrap/property/coercion.rb, line 9 def initialize(value) case value when ::Class self.base = Coercion::Class.new(value) when ::Enumerable self.base = Coercion::Enumerable.new(value) when ::Proc self.base = Coercion::Proc.new(value) else fail!(value) end end
Public Instance Methods
coerce(data)
click to toggle source
# File lib/shrink/wrap/property/coercion.rb, line 22 def coerce(data) base.coerce(data) end
Private Instance Methods
fail!(value)
click to toggle source
# File lib/shrink/wrap/property/coercion.rb, line 28 def fail!(value) msg = "expected Class, Enumerable or Proc, got: #{value.inspect}" raise ArgumentError, msg end