Class: Primalize::Single::Primalizer

Inherits:
Object
  • Object
show all
Includes:
Type
Defined in:
lib/primalize/single.rb

Constant Summary

Constants included from Type

Type::DEFAULT_COERCION

Instance Method Summary collapse

Methods included from Type

#coerce

Constructor Details

#initialize(primalizer, &coercion) ⇒ Primalizer

Returns a new instance of Primalizer.



328
329
330
331
332
333
334
335
336
337
338
339
# File 'lib/primalize/single.rb', line 328

def initialize primalizer, &coercion
  @primalizer = primalizer
  @coercion = proc do |obj|
    # FIXME: this is dumb
    begin
      coerced = (coercion || DEFAULT_COERCION).call(obj)
      primalizer.new(coerced).call
    rescue ArgumentError => e
      raise TypeError.new(e)
    end
  end
end

Instance Method Details

#===(value) ⇒ Object



341
342
343
# File 'lib/primalize/single.rb', line 341

def === value
  true
end

#inspectObject



345
346
347
# File 'lib/primalize/single.rb', line 345

def inspect
  "primalize(#{@primalizer.inspect})"
end