Class: ActiveModelSerializers::Adapter::JsonApi::PaginationLinks

Inherits:
Object
  • Object
show all
Defined in:
lib/active_model_serializers/adapter/json_api/pagination_links.rb

Constant Summary

FIRST_PAGE =
1

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

- (PaginationLinks) initialize(collection, context)

Returns a new instance of PaginationLinks



9
10
11
12
# File 'lib/active_model_serializers/adapter/json_api/pagination_links.rb', line 9

def initialize(collection, context)
  @collection = collection
  @context = context
end

Instance Attribute Details

- (Object) collection (readonly)

Returns the value of attribute collection



7
8
9
# File 'lib/active_model_serializers/adapter/json_api/pagination_links.rb', line 7

def collection
  @collection
end

- (Object) context (readonly)

Returns the value of attribute context



7
8
9
# File 'lib/active_model_serializers/adapter/json_api/pagination_links.rb', line 7

def context
  @context
end

Instance Method Details

- (Object) serializable_hash(options = {})



14
15
16
17
18
19
20
21
# File 'lib/active_model_serializers/adapter/json_api/pagination_links.rb', line 14

def serializable_hash(options = {})
  per_page = collection.try(:per_page) || collection.try(:limit_value) || collection.size
  pages_from.each_with_object({}) do |(key, value), hash|
    params = query_parameters.merge(page: { number: value, size: per_page }).to_query

    hash[key] = "#{url(options)}?#{params}"
  end
end