class Golden::QueryResultPresenter
Attributes
presenter_class[RW]
records[RW]
Public Class Methods
collect(result, presenter_class)
click to toggle source
# File lib/golden/objects/query/query_result_presenter.rb, line 6 def collect(result, presenter_class) new( records: paginated_array(result), presenter_class: presenter_class.to_s ) end
paginated_array(result)
click to toggle source
# File lib/golden/objects/query/query_result_presenter.rb, line 13 def paginated_array(result) return result unless result.is_a?(Array) return result unless ::Object.const_defined? 'Kaminari' return Kaminari.paginate_array([], total_count: 0).page(1) if result.empty? Kaminari.paginate_array(result).page(1).per(result.size) end
Public Instance Methods
current_page()
click to toggle source
# File lib/golden/objects/query/query_result_presenter.rb, line 42 def current_page records.current_page end
each(&block)
click to toggle source
# File lib/golden/objects/query/query_result_presenter.rb, line 26 def each(&block) presenters.each(&block) end
first_page?()
click to toggle source
# File lib/golden/objects/query/query_result_presenter.rb, line 58 def first_page? records.first_page? end
last_page?()
click to toggle source
# File lib/golden/objects/query/query_result_presenter.rb, line 62 def last_page? records.last_page? end
next_page()
click to toggle source
# File lib/golden/objects/query/query_result_presenter.rb, line 50 def next_page records.next_page end
out_of_range?()
click to toggle source
# File lib/golden/objects/query/query_result_presenter.rb, line 66 def out_of_range? records.out_of_range? end
per_page()
click to toggle source
# File lib/golden/objects/query/query_result_presenter.rb, line 46 def per_page records.limit_value end
presenters()
click to toggle source
# File lib/golden/objects/query/query_result_presenter.rb, line 30 def presenters @presenters ||= records.map { |record| presenter_class.constantize.new record } end
prev_page()
click to toggle source
# File lib/golden/objects/query/query_result_presenter.rb, line 54 def prev_page records.prev_page end
total_count()
click to toggle source
# File lib/golden/objects/query/query_result_presenter.rb, line 34 def total_count records.total_count end
total_pages()
click to toggle source
# File lib/golden/objects/query/query_result_presenter.rb, line 38 def total_pages records.total_pages end