Class: TenderHash::Caster::Default

Inherits:
Object
  • Object
show all
Defined in:
lib/tender_hash/caster.rb

Instance Method Summary collapse

Constructor Details

#initialize(cast_to) ⇒ Default

Returns a new instance of Default.



13
14
15
# File 'lib/tender_hash/caster.rb', line 13

def initialize(cast_to)
  @cast_to = cast_to
end

Instance Method Details

#call(val) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/tender_hash/caster.rb', line 17

def call(val)
  case @cast_to && @cast_to.to_sym
  when :integer
    val.to_i
  when :string
    val.to_s
  when :boolean
    cast_to_boolean(val)
  else
    val
  end
end

#cast_to_boolean(val) ⇒ Object



30
31
32
33
34
35
36
37
38
39
# File 'lib/tender_hash/caster.rb', line 30

def cast_to_boolean(val)
  case val
  when 'true', 1
    true
  when 'false', 0
    false
  else
    val
  end
end