Module: FastSerializer::Schema::Mixin::InstanceMethods

Defined in:
lib/fast_serializer/schema/mixin.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#paramsObject

Returns the value of attribute params.



35
36
37
# File 'lib/fast_serializer/schema/mixin.rb', line 35

def params
  @params
end

#resourceObject Also known as: object

Returns the value of attribute resource.



35
36
37
# File 'lib/fast_serializer/schema/mixin.rb', line 35

def resource
  @resource
end

Instance Method Details

#initialize(resource, params = {}) ⇒ Object



37
38
39
40
# File 'lib/fast_serializer/schema/mixin.rb', line 37

def initialize(resource, params = {})
  self.resource = resource
  self.params   = params || {}
end

#serializable_hash(opts = {}) ⇒ Object Also known as: as_json



44
45
46
47
48
49
50
51
52
53
# File 'lib/fast_serializer/schema/mixin.rb', line 44

def serializable_hash(opts = {})
  Utils.ref_merge(params, opts)
  self.params = params

  unless self.class.__patched__
    self.class.__patch_with_attribute_definition
  end

  self.class.__schema__.serialize_resource(resource, params, self)
end

#serialized_json(opts = {}) ⇒ Object Also known as: to_json



55
56
57
# File 'lib/fast_serializer/schema/mixin.rb', line 55

def serialized_json(opts = {})
  FastSerializer.config.coder.dump(serializable_hash(opts))
end