Module: Monies::Serialization::Sequel::ClassMethods

Defined in:
lib/monies/serialization/sequel.rb

Instance Method Summary collapse

Instance Method Details

#serialize_monies(column, currency: nil) ⇒ Object



5
6
7
8
9
10
11
12
13
# File 'lib/monies/serialization/sequel.rb', line 5

def serialize_monies(column, currency: nil)
  if currency.is_a?(Symbol) && !columns.include?(currency)
    raise RuntimeError, "missing currency column #{currency.inspect}"
  end

  column_type = db_schema.fetch(column).fetch(:type)

  serialize_monies_attribute(column, column_type, currency)
end

#serialize_monies_string(column) ⇒ Object



15
16
17
18
19
20
21
22
23
# File 'lib/monies/serialization/sequel.rb', line 15

def serialize_monies_string(column)
  require 'sequel/plugins/serialization'

  plugin(:serialization) unless respond_to?(:serialization_map)

  serializer, deserializer = Monies.method(:dump), Monies.method(:load)

  define_serialized_attribute_accessor(serializer, deserializer, column)
end