Module: ActiveRecord::MessagePack::Extensions
Instance Method Summary collapse
- #install(registry) ⇒ Object
- #read_record(unpacker) ⇒ Object
- #read_time_value(unpacker) ⇒ Object
- #write_record(record, packer) ⇒ Object
- #write_time_value(value, packer) ⇒ Object
Instance Method Details
#install(registry) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/active_record/message_pack.rb', line 25 def install(registry) registry.register_type 118, ActiveRecord::Type::Time::Value, packer: method(:write_time_value), unpacker: method(:read_time_value), recursive: true registry.register_type 119, ActiveModel::Type::Binary::Data, packer: :to_s, unpacker: :new registry.register_type 120, ActiveRecord::Base, packer: method(:write_record), unpacker: method(:read_record), recursive: true end |
#read_record(unpacker) ⇒ Object
53 54 55 |
# File 'lib/active_record/message_pack.rb', line 53 def read_record(unpacker) ActiveRecord::MessagePack.load(unpacker.read) end |
#read_time_value(unpacker) ⇒ Object
45 46 47 |
# File 'lib/active_record/message_pack.rb', line 45 def read_time_value(unpacker) ActiveRecord::Type::Time::Value.new(unpacker.read) end |
#write_record(record, packer) ⇒ Object
49 50 51 |
# File 'lib/active_record/message_pack.rb', line 49 def write_record(record, packer) packer.write(ActiveRecord::MessagePack.dump(record)) end |
#write_time_value(value, packer) ⇒ Object
41 42 43 |
# File 'lib/active_record/message_pack.rb', line 41 def write_time_value(value, packer) packer.write(value.__getobj__) end |