Module: Her::Kaminari::Collection::ClassMethods
- Defined in:
- lib/her/kaminari/collection.rb
Instance Method Summary collapse
-
#new_collection(parsed_data) ⇒ Kaminari::PaginatableArray
Creates a new paginated collection from API data.
Instance Method Details
#new_collection(parsed_data) ⇒ Kaminari::PaginatableArray
Creates a new paginated collection from API data. This method makes the assumption the collection was already paginated by the API.
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/her/kaminari/collection.rb', line 26 def new_collection(parsed_data) collection = super(parsed_data) pagination = parsed_data[:pagination] collection = ::Kaminari::PaginatableArray.new( collection, total_count: pagination[:total_count], limit: pagination[:per_page] ).tap do |array| array.extend ::Kaminari::PageScopeMethods array.singleton_class.class_eval do # @return [Integer] our API page number define_method :current_page do pagination[:page] end # @return [Integer] our API offset number define_method :offset_value do pagination[:offset] end end end collection end |