Module: Trax::Controller::Collection::Pageable
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/trax/controller/collection/pageable.rb
Constant Summary collapse
- PAGINATION_META_METHODS =
[ :current_page, :per_page, :size, :total_pages, :total_entries ].freeze
Instance Method Summary collapse
- #collection ⇒ Object
- #collection_pagination_meta ⇒ Object
- #collection_response_meta ⇒ Object
- #pagination_params ⇒ Object
Instance Method Details
#collection ⇒ Object
26 27 28 |
# File 'lib/trax/controller/collection/pageable.rb', line 26 def collection @collection ||= super.paginate(pagination_params) end |
#collection_pagination_meta ⇒ Object
30 31 32 33 34 35 |
# File 'lib/trax/controller/collection/pageable.rb', line 30 def @collection_pagination_meta ||= ::Trax::Controller::Collection::Pageable::PAGINATION_META_METHODS.inject({}) do |h, key| h[key] = collection.try(key) h end end |
#collection_response_meta ⇒ Object
37 38 39 40 41 42 43 |
# File 'lib/trax/controller/collection/pageable.rb', line 37 def if collection_action? super.merge!(:pagination => ) else super end end |
#pagination_params ⇒ Object
19 20 21 22 23 24 |
# File 'lib/trax/controller/collection/pageable.rb', line 19 def pagination_params params[:page] ||= self.class..page params[:per_page] ||= self.class..per_page @pagination_params ||= { :page => params[:page], :per_page => params[:per_page] } end |