Method: Morf::Casters::IntegerCaster.cast

Defined in:
lib/morf/casters/integer_caster.rb

.cast(value, attr_name, options = {}) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/morf/casters/integer_caster.rb', line 2

def self.cast(value, attr_name, options = {})
  if value.is_a?(Integer)
    value
  elsif value.is_a?(String)
    begin
      Integer(value)
    rescue ArgumentError => e
      raise Morf::Errors::CastingError, "is invalid integer"
    end
  else
    raise Morf::Errors::CastingError, "should be a integer"
  end
end