Sha256: b682f7f6d42ad01fd0b2b05907cae9d658853d1a2bbbeb001281d847fb51353f

Contents?: true

Size: 974 Bytes

Versions: 12

Compression:

Stored size: 974 Bytes

Contents

require_relative 'resource'
require_relative 'resource/array_like'

module Contentful
  # Resource Class for Arrays (e.g. search results)
  # @see _ https://www.contentful.com/developers/documentation/content-delivery-api/#arrays
  # @note It also provides an #each method and includes Ruby's Enumerable module (gives you methods like #min, #first, etc)
  class Array
    # @private
    DEFAULT_LIMIT = 100

    include Contentful::Resource
    include Contentful::Resource::SystemProperties
    include Contentful::Resource::ArrayLike

    property :total, :integer
    property :limit, :integer
    property :skip, :integer
    property :items

    # Simplifies pagination
    #
    # @return [Contentful::Array, false]
    def next_page
      if request
        new_skip    = (skip || 0) + (limit || DEFAULT_LIMIT)
        new_request = request.copy
        new_request.query[:skip] = new_skip
        new_request.get
      else
        false
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
contentful-1.2.2 lib/contentful/array.rb
contentful-1.2.1 lib/contentful/array.rb
contentful-1.2.0 lib/contentful/array.rb
contentful-1.1.1 lib/contentful/array.rb
contentful-1.1.0 lib/contentful/array.rb
contentful-1.0.2 lib/contentful/array.rb
contentful-1.0.1 lib/contentful/array.rb
contentful-1.0.0 lib/contentful/array.rb
contentful-0.12.0 lib/contentful/array.rb
contentful-0.11.0 lib/contentful/array.rb
contentful-0.10.0 lib/contentful/array.rb
contentful-0.9.0 lib/contentful/array.rb