Class: Id::Model::TypeCasts::Cast

Inherits:
Object
  • Object
show all
Defined in:
lib/id/model/type_casts.rb

Direct Known Subclasses

Date, Identity, Money, Time

Instance Method Summary collapse

Constructor Details

#initialize(value) ⇒ Cast

Returns a new instance of Cast.



23
24
25
# File 'lib/id/model/type_casts.rb', line 23

def initialize(value)
  @value = value
end

Instance Method Details

#castObject



27
28
29
# File 'lib/id/model/type_casts.rb', line 27

def cast
  value.is_a?(type) ? value : conversion
end

#conversionObject

Raises:

  • (NotImplementedError)


35
36
37
# File 'lib/id/model/type_casts.rb', line 35

def conversion
  raise NotImplementedError
end

#typeObject



31
32
33
# File 'lib/id/model/type_casts.rb', line 31

def type
  self.class.type
end