class CursorPaginator::Paginator::Base
Constants
- SORT_DIRECTIONS
Attributes
options_parser[R]
paginator_options[R]
Public Class Methods
new(page_options: {}, paginator_options: {})
click to toggle source
# File lib/cursor_paginator/paginator/base.rb, line 9 def initialize(page_options: {}, paginator_options: {}) @options_parser = OptionsParser.new(page_options) @paginator_options = paginator_options.reverse_merge( order_key: :id, primary_key: :id, sort_direction: :desc ) end
Private Instance Methods
opposite_sort_direction()
click to toggle source
# File lib/cursor_paginator/paginator/base.rb, line 33 def opposite_sort_direction SORT_DIRECTIONS.find { |i| i != sort_direction } end
order_direction()
click to toggle source
# File lib/cursor_paginator/paginator/base.rb, line 25 def order_direction cursor_direction.after? ? sort_direction : opposite_sort_direction end
query_operator()
click to toggle source
# File lib/cursor_paginator/paginator/base.rb, line 20 def query_operator return cursor_direction.after? ? :gt : :lt if sort_direction == :asc return cursor_direction.after? ? :lt : :gt if sort_direction == :desc end
sort_direction()
click to toggle source
# File lib/cursor_paginator/paginator/base.rb, line 29 def sort_direction paginator_options.fetch(:sort_direction) end