module Findable::Schema::Conversion
Constants
- FALSE_VALUE
Public Class Methods
add_type!(type)
click to toggle source
# File lib/findable/schema/conversion.rb, line 18 def add_type!(type) return type if type.is_a?(Proc) types[type.to_sym] = method(type).to_proc end
clear_types()
click to toggle source
# File lib/findable/schema/conversion.rb, line 23 def clear_types @_types = nil end
to(type)
click to toggle source
# File lib/findable/schema/conversion.rb, line 7 def to(type) return types[:default] if type.nil? types[type.to_sym] || add_type!(type) end
types()
click to toggle source
# File lib/findable/schema/conversion.rb, line 12 def types @_types ||= { default: Proc.new {|value| value } } end
Private Class Methods
boolean(value)
click to toggle source
# File lib/findable/schema/conversion.rb, line 45 def boolean(value) if value.is_a?(TrueClass) || value.is_a?(FalseClass) value else value.in?(FALSE_VALUE) ? false : !!value end end
date(value)
click to toggle source
# File lib/findable/schema/conversion.rb, line 53 def date(value) return value if value.is_a?(Date) Date.parse(value) end
datetime(value)
click to toggle source
# File lib/findable/schema/conversion.rb, line 58 def datetime(value) if value.is_a?(Time) || value.is_a?(ActiveSupport::TimeWithZone) return value end (Time.zone || Time).parse(value) end
decimal(value)
click to toggle source
# File lib/findable/schema/conversion.rb, line 37 def decimal(value) BigDecimal(value) end
float(value)
click to toggle source
# File lib/findable/schema/conversion.rb, line 33 def float(value) value.to_f end
inquiry(value)
click to toggle source
# File lib/findable/schema/conversion.rb, line 69 def inquiry(value) value.to_s.inquiry end
integer(value)
click to toggle source
Conversion
methods
# File lib/findable/schema/conversion.rb, line 29 def integer(value) value.to_i end
string(value)
click to toggle source
# File lib/findable/schema/conversion.rb, line 41 def string(value) value.to_s end
symbol(value)
click to toggle source
# File lib/findable/schema/conversion.rb, line 65 def symbol(value) value.to_sym end