module ActiveModelSerializers::Adapter::JsonApi::Jsonapi

toplevel_jsonapi definition:

JSON Object

properties:

version : String
meta

description:

An object describing the server's implementation

structure:

{
  version: ActiveModelSerializers.config.jsonapi_version,
  meta: ActiveModelSerializers.config.jsonapi_toplevel_meta
}.reject! { |_, v| v.blank? }

prs:

https://github.com/rails-api/active_model_serializers/pull/1050

Public Instance Methods

add!(hash) click to toggle source
# File lib/active_model_serializers/adapter/json_api/jsonapi.rb, line 28
def add!(hash)
  hash.merge!(object) if include_object?
end
include_object?() click to toggle source
# File lib/active_model_serializers/adapter/json_api/jsonapi.rb, line 32
def include_object?
  ActiveModelSerializers.config.jsonapi_include_toplevel_object
end
object() click to toggle source

TODO: see if we can cache this

# File lib/active_model_serializers/adapter/json_api/jsonapi.rb, line 37
def object
  object = {
    jsonapi: {
      version: ActiveModelSerializers.config.jsonapi_version,
      meta: ActiveModelSerializers.config.jsonapi_toplevel_meta
    }
  }
  object[:jsonapi].reject! { |_, v| v.blank? }

  object
end