Class: ActiveModel::DefaultSerializer

Inherits:
Object
  • Object
show all
Includes:
Serializable
Defined in:
lib/active_model/default_serializer.rb

Overview

DefaultSerializer

Provides a constant interface for all items

Constant Summary

Constants included from Serializable

Serializable::INSTRUMENTATION_KEY

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Serializable

#embedded_in_root_associations, included, #namespace, #serializable_data, #serializable_object_with_notification

Constructor Details

#initialize(object, options = {}) ⇒ DefaultSerializer

Returns a new instance of DefaultSerializer.



12
13
14
15
# File 'lib/active_model/default_serializer.rb', line 12

def initialize(object, options={})
  @object = object
  @wrap_in_array = options[:_wrap_in_array]
end

Instance Attribute Details

#objectObject (readonly)

Returns the value of attribute object.



10
11
12
# File 'lib/active_model/default_serializer.rb', line 10

def object
  @object
end

Instance Method Details

#as_json(options = {}) ⇒ Object Also known as: serializable_hash, serializable_object



17
18
19
20
21
22
23
# File 'lib/active_model/default_serializer.rb', line 17

def as_json(options={})
  instrument do
    return [] if @object.nil? && @wrap_in_array
    hash = @object.as_json
    @wrap_in_array ? [hash] : hash
  end
end