Class: ActiveModelSerializers::Adapter::JsonApi::PaginationLinks
- Inherits:
-
Object
- Object
- ActiveModelSerializers::Adapter::JsonApi::PaginationLinks
- Defined in:
- lib/active_model_serializers/adapter/json_api/pagination_links.rb
Constant Summary
- FIRST_PAGE =
1
Instance Attribute Summary (collapse)
-
- (Object) collection
readonly
Returns the value of attribute collection.
-
- (Object) context
readonly
Returns the value of attribute context.
Instance Method Summary (collapse)
- - (Object) as_json
-
- (PaginationLinks) initialize(collection, adapter_options)
constructor
A new instance of PaginationLinks.
Constructor Details
- (PaginationLinks) initialize(collection, adapter_options)
Returns a new instance of PaginationLinks
9 10 11 12 13 |
# File 'lib/active_model_serializers/adapter/json_api/pagination_links.rb', line 9 def initialize(collection, ) @collection = collection @adapter_options = @context = .fetch(:serialization_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) as_json
15 16 17 18 19 20 21 22 |
# File 'lib/active_model_serializers/adapter/json_api/pagination_links.rb', line 15 def as_json 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()}?#{params}" end end |