class Seria::DefaultConverter
Attributes
type[R]
value[R]
Public Class Methods
new(value, type)
click to toggle source
# File lib/seria/converters.rb, line 4 def initialize(value, type) @value, @type = value, type end
Public Instance Methods
conversions()
click to toggle source
# File lib/seria/converters.rb, line 16 def conversions @conversions ||= { 'Fixnum' => lambda { value.to_i }, 'BigDecimal' => lambda { value.to_d }, 'Float' => lambda { value.to_f }, 'NilClass' => nil, 'FalseClass' => false, 'TrueClass' => true, 'String' => lambda { value.to_s }, 'Time' => lambda { Time.parse(value) }, 'DateTime' => lambda { DateTime.parse(value) }, 'Date' => lambda { Date.parse(value) }, 'ActiveSupport::TimeWithZone' => lambda { Time.zone.parse(value) } } end
convert()
click to toggle source
# File lib/seria/converters.rb, line 33 def convert if value.class.to_s != klass conversion = conversions[klass] if conversion.is_a?(Proc) conversion.call else conversion end else value end end
klass()
click to toggle source
# File lib/seria/converters.rb, line 8 def klass if type.present? type else value.class.to_s end end
to_db()
click to toggle source
# File lib/seria/converters.rb, line 46 def to_db value end