Sha256: 7c23382a624fab452b165c14ec8f1e438889755b8e3bbdfb2315510ef8905a66

Contents?: true

Size: 988 Bytes

Versions: 35

Compression:

Stored size: 988 Bytes

Contents

require "roar/decorator"
require "roar/json/hal"

module PactBroker
  module Api
    module Decorators
      module PaginationLinks
        include Roar::JSON::HAL
        include Roar::JSON::HAL::Links

        link :next do | context |
          if represented.respond_to?(:current_page) &&
              represented.respond_to?(:page_count) &&
              represented.current_page < represented.page_count
            {
              href: context[:resource_url] + "?pageSize=#{represented.page_size}&pageNumber=#{represented.current_page + 1}",
              title: "Next page"
            }

          end
        end

        link :previous do | context |
          if represented.respond_to?(:first_page?) && !represented.first_page?
            {
              href: context[:resource_url] + "?pageSize=#{represented.page_size}&pageNumber=#{represented.current_page - 1}",
              title: "Previous page"
            }
          end
        end
      end
    end
  end
end

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
pact_broker-2.105.0 lib/pact_broker/api/decorators/pagination_links.rb
pact_broker-2.104.0 lib/pact_broker/api/decorators/pagination_links.rb
pact_broker-2.103.0 lib/pact_broker/api/decorators/pagination_links.rb
pact_broker-2.102.2 lib/pact_broker/api/decorators/pagination_links.rb
pact_broker-2.102.1 lib/pact_broker/api/decorators/pagination_links.rb
pact_broker-2.102.0 lib/pact_broker/api/decorators/pagination_links.rb
pact_broker-2.101.0 lib/pact_broker/api/decorators/pagination_links.rb
pact_broker-2.100.0 lib/pact_broker/api/decorators/pagination_links.rb
pact_broker-2.99.0 lib/pact_broker/api/decorators/pagination_links.rb
pact_broker-2.98.0 lib/pact_broker/api/decorators/pagination_links.rb
pact_broker-2.97.0 lib/pact_broker/api/decorators/pagination_links.rb
pact_broker-2.96.0 lib/pact_broker/api/decorators/pagination_links.rb
pact_broker-2.95.1 lib/pact_broker/api/decorators/pagination_links.rb
pact_broker-2.95.0 lib/pact_broker/api/decorators/pagination_links.rb
pact_broker-2.94.0 lib/pact_broker/api/decorators/pagination_links.rb
pact_broker-2.93.4 lib/pact_broker/api/decorators/pagination_links.rb
pact_broker-2.93.3 lib/pact_broker/api/decorators/pagination_links.rb
pact_broker-2.93.2 lib/pact_broker/api/decorators/pagination_links.rb
pact_broker-2.93.1 lib/pact_broker/api/decorators/pagination_links.rb
pact_broker-2.93.0 lib/pact_broker/api/decorators/pagination_links.rb