Class: HashCast::Casters::IntegerCaster

Inherits:
Object
  • Object
show all
Defined in:
lib/hashcast/casters/integer_caster.rb

Class Method Summary collapse

Class Method Details

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



3
4
5
6
7
# File 'lib/hashcast/casters/integer_caster.rb', line 3

def self.cast(value, attr_name, options = {})
  return value              if value.is_a?(Integer)
  return cast_string(value) if value.is_a?(String)
  raise HashCast::Errors::CastingError, "should be a integer"
end

.cast_string(value) ⇒ Object



9
10
11
12
13
# File 'lib/hashcast/casters/integer_caster.rb', line 9

def self.cast_string(value)
  Integer(value)
rescue ArgumentError => e
  raise HashCast::Errors::CastingError, "is invalid integer"
end