Sha256: edaa27e25b728d2ec63ab61b6a606cc96d1e727206d68e5623dd9d0e5a0c5dc4
Contents?: true
Size: 883 Bytes
Versions: 3
Compression:
Stored size: 883 Bytes
Contents
module JsonApiClient class ResultSet < Array attr_accessor :total_pages, :total_entries, :offset, :per_page, :current_page, :errors, :record_class alias_attribute :limit_value, :per_page def self.build(klass, data) result_data = data.fetch(klass.table_name, []) new(result_data.map {|attributes| klass.new(attributes) }).tap do |result_set| result_set.record_class = klass yield(result_set) if block_given? end end def has_errors? errors && errors.length > 0 end def out_of_bounds? current_page > total_pages end def previous_page current_page > 1 ? (current_page - 1) : nil end def next_page current_page < total_pages ? (current_page + 1) : nil end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
json_api_client-0.5.1 | lib/json_api_client/result_set.rb |
json_api_client-0.5.0 | lib/json_api_client/result_set.rb |
json_api_client-0.4.0 | lib/json_api_client/result_set.rb |