Class: AbcJsonapi::Collection

Inherits:
Object
  • Object
show all
Defined in:
lib/abc_jsonapi/collection.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(collection:, resource_type:, resource_attributes:, virtual_attributes:, relationships:) ⇒ Collection

Returns a new instance of Collection.



7
8
9
10
11
12
13
# File 'lib/abc_jsonapi/collection.rb', line 7

def initialize(collection:, resource_type:, resource_attributes:, virtual_attributes:, relationships:)
  @collection = collection
  @resource_type = resource_type
  @resource_attributes = resource_attributes
  @virtual_attributes = virtual_attributes
  @relationships = relationships
end

Instance Attribute Details

#collectionObject (readonly)

Returns the value of attribute collection.



5
6
7
# File 'lib/abc_jsonapi/collection.rb', line 5

def collection
  @collection
end

#relationshipsObject (readonly)

Returns the value of attribute relationships.



5
6
7
# File 'lib/abc_jsonapi/collection.rb', line 5

def relationships
  @relationships
end

#resource_attributesObject (readonly)

Returns the value of attribute resource_attributes.



5
6
7
# File 'lib/abc_jsonapi/collection.rb', line 5

def resource_attributes
  @resource_attributes
end

#resource_typeObject (readonly)

Returns the value of attribute resource_type.



5
6
7
# File 'lib/abc_jsonapi/collection.rb', line 5

def resource_type
  @resource_type
end

#virtual_attributesObject (readonly)

Returns the value of attribute virtual_attributes.



5
6
7
# File 'lib/abc_jsonapi/collection.rb', line 5

def virtual_attributes
  @virtual_attributes
end

Instance Method Details

#serializable_hashObject



15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/abc_jsonapi/collection.rb', line 15

def serializable_hash
  collection.map do |model|
    next if model.nil?
    AbcJsonapi::Model.new(
      model: model,
      resource_type: resource_type,
      resource_attributes: resource_attributes,
      virtual_attributes: virtual_attributes,
      relationships: relationships
    ).serializable_hash
  end
end