Class: Undo::Serializer::ActiveModel

Inherits:
Object
  • Object
show all
Defined in:
lib/undo/serializer/active_model.rb,
lib/undo/serializer/active_model/connector.rb

Defined Under Namespace

Classes: Connector

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ ActiveModel

Returns a new instance of ActiveModel.



7
8
9
# File 'lib/undo/serializer/active_model.rb', line 7

def initialize(options = {})
  @connector = self.class.connector.with options
end

Class Method Details

.connectorObject



6
7
8
# File 'lib/undo/serializer/active_model/connector.rb', line 6

def self.connector
  @config ||= Connector.new
end

Instance Method Details

#deserialize(input, options = {}) ⇒ Object



24
25
26
27
28
29
30
31
# File 'lib/undo/serializer/active_model.rb', line 24

def deserialize(input, options = {})
  return input.map do |record|
    deserialize record
  end if array? input

  return primitive_serializer.deserialize(input) if primitive_serializer.deserialize? input
  deserialize_object(input)
end

#nameObject



11
12
13
# File 'lib/undo/serializer/active_model.rb', line 11

def name
  "active_model"
end

#serialize(object, options = {}) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/undo/serializer/active_model.rb', line 15

def serialize(object, options = {})
  return object.map do |record|
    serialize record, options
  end if array? object

  return primitive_serializer.serialize(object) if primitive_serializer.serialize? object
  serialize_object(object, options)
end