Class: JSONAPI::Serializable::Resource

Inherits:
Object
  • Object
show all
Includes:
Attributes, Id, Links, Meta, Relationships, Type
Defined in:
lib/jsonapi/serializable/resource.rb,
lib/jsonapi/serializable/resource/id.rb,
lib/jsonapi/serializable/resource/meta.rb,
lib/jsonapi/serializable/resource/type.rb,
lib/jsonapi/serializable/resource/links.rb,
lib/jsonapi/serializable/resource/attributes.rb,
lib/jsonapi/serializable/resource/key_format.rb,
lib/jsonapi/serializable/resource/relationships.rb,
lib/jsonapi/serializable/resource/conditional_fields.rb

Defined Under Namespace

Modules: Attributes, ConditionalFields, Id, KeyFormat, Links, Meta, Relationships, Type

Instance Method Summary collapse

Methods included from Id

prepended

Methods included from Type

prepended

Methods included from Meta

prepended

Methods included from Links

prepended

Methods included from Attributes

prepended, #requested_attributes

Methods included from Relationships

prepended, #requested_relationships

Constructor Details

#initialize(exposures = {}) ⇒ Resource

Returns a new instance of Resource.



21
22
23
24
# File 'lib/jsonapi/serializable/resource.rb', line 21

def initialize(exposures = {})
  exposures.each { |k, v| instance_variable_set("@#{k}", v) }
  @_exposures = exposures
end

Instance Method Details

#as_jsonapiObject



26
27
28
# File 'lib/jsonapi/serializable/resource.rb', line 26

def as_jsonapi(*)
  {}
end

#jsonapi_idObject



34
35
36
# File 'lib/jsonapi/serializable/resource.rb', line 34

def jsonapi_id
  @_id
end


38
39
40
41
42
# File 'lib/jsonapi/serializable/resource.rb', line 38

def jsonapi_related(include)
  @_relationships
    .select { |k, _| include.include?(k) }
    .each_with_object({}) { |(k, v), h| h[k] = v.related_resources }
end

#jsonapi_typeObject



30
31
32
# File 'lib/jsonapi/serializable/resource.rb', line 30

def jsonapi_type
  @_type
end