Class: PaginationSearch::HashPaginate

Inherits:
Object
  • Object
show all
Defined in:
lib/pagination_search/hash_paginate.rb

Direct Known Subclasses

Schemas::Paginate

Instance Method Summary collapse

Constructor Details

#initialize(keys = nil) ⇒ HashPaginate



4
5
6
# File 'lib/pagination_search/hash_paginate.rb', line 4

def initialize(keys = nil)
  @keys = keys
end

Instance Method Details

#page(items, params) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/pagination_search/hash_paginate.rb', line 8

def page(items, params)
  return [] unless items
  return items unless params[:limit] && params[:offset]

  length = params[:limit].to_i
  start = params[:offset].to_i * length

  search = params[:search]
  sort_by = params[:sort_by]
  sort_descending = params[:sort_descending]

  processed = process(items, search, sort_by, sort_descending)[start, length]
  processed ? processed : []
end