class FastSerializer::JsonModel::Object

Attributes

attributes[RW]

Public Class Methods

new(args = {}) click to toggle source
Calls superclass method FastSerializer::JsonModel::Node::new
# File lib/fast_serializer/json_model/object.rb, line 8
def initialize(args = {})
  super
  @attributes = {}
end

Public Instance Methods

add_attribute(attribute) click to toggle source

@param attribute [FastSerializer::JsonModel::Node]

# File lib/fast_serializer/json_model/object.rb, line 14
def add_attribute(attribute)
  attributes[attribute.key] = attribute
end
included?(*) click to toggle source

@return [Boolean]

# File lib/fast_serializer/json_model/object.rb, line 38
def included?(*)
  true
end
serialize(resource, params, context) click to toggle source

@param resource [Object] @param params [Hash] @param context [Hash] @return [Hash]

# File lib/fast_serializer/json_model/object.rb, line 22
def serialize(resource, params, context)
  return if resource.nil?

  result = {}

  attributes.each do |_, attribute|
    next unless attribute.included?(resource, params, context)

    val = attribute.serialize(resource, params, context)
    result[attribute.key] = val
  end

  result
end