Sha256: 7e71caccd12fcc76154a7fb558b0a1186404d361725aa3bbba96c82fcc142f47
Contents?: true
Size: 565 Bytes
Versions: 3
Compression:
Stored size: 565 Bytes
Contents
# frozen_string_literal: true module DevRuby class Collection attr_reader :page, :per_page, :next_page, :prev_page, :data def self.from_response(response:, type:, params:) new(data: response.body.map { |attrs| type.new(attrs) }, page: params[:page], per_page: params[:per_page]) end def initialize(data:, page:, per_page:) @data = data @page = page @per_page = per_page @next_page = data.count.positive? ? (page + 1) : nil @prev_page = page.positive? ? (page - 1) : nil end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
dev_ruby-1.0.0 | lib/dev_ruby/collection.rb |
dev_ruby-0.2.0 | lib/dev_ruby/collection.rb |
dev_ruby-0.1.2 | lib/dev_ruby/collection.rb |