Module: A2::Paginated
Instance Method Summary
collapse
Methods included from Filtered
#generate_json_filters, #generate_query_filters, #parse_filters, #query_filter?, #set_custom_opts!, #set_filter_optparse_options!, #with_filter_query
Instance Method Details
#generate_paginated_json_filters ⇒ Object
25
26
27
|
# File 'lib/a2/mixins/paginated.rb', line 25
def generate_paginated_json_filters
generate_json_filters
end
|
#generate_paginated_query_string ⇒ Object
34
35
36
37
38
39
40
41
|
# File 'lib/a2/mixins/paginated.rb', line 34
def generate_paginated_query_string
query = generate_query_filters
query << "&pagination.page=#{@opt[:page]}" if @opt[:page]
query << "&pagination.page=#{@opt[:per_page]}" if @opt[:per_page]
query << "&sorting.field=#{@opt[:sort]}" if @opt[:sort]
query << "&sorting.order=#{@opt[:order]}" if @opt[:order]
query
end
|
#initialize(name, opts = {}) ⇒ Object
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/a2/mixins/paginated.rb', line 4
def initialize(name, opts = {})
set_custom_opts!(opts)
super(name, opts)
@opt = {
order: 'ASC'
}
options.on('-o', '--order ORDER', 'Return the results in ascending or descending order. Default is "ASC".') do |order|
@opt[:order] = order
end
options.on('-p', '--page PAGE', Integer, 'Starting page for the results. Default is 0') do |page|
@opt[:page] = page
end
options.on('-P', '--per-page PER_PAGE', Integer, 'The number of results on each page. Default is 100') do |per_page|
@opt[:per_page] = per_page
end
options.on('-s', '--sort SORT', 'Sort the results on a specific field.') do |sort|
@opt[:sort] = sort
end
set_filter_optparse_options!(options)
end
|
#with_paginated_filter_json {|json| ... } ⇒ Object
29
30
31
32
|
# File 'lib/a2/mixins/paginated.rb', line 29
def with_paginated_filter_json(&block)
json = generate_paginated_json_filters
yield(json)
end
|
#with_paginated_filter_query {|query_string| ... } ⇒ Object
43
44
45
46
|
# File 'lib/a2/mixins/paginated.rb', line 43
def with_paginated_filter_query(&block)
query_string = generate_paginated_query_string
yield(query_string)
end
|