Module: Esse::Pagy::ClassMethods

Defined in:
lib/esse/pagy.rb

Instance Method Summary collapse

Instance Method Details

#new_from_esse(query, vars = {}) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/esse/pagy.rb', line 40

def new_from_esse(query, vars = {})
  vars[:count] = query.response.total
  vars[:page] = (query.offset_value / query.limit_value.to_f).ceil + 1
  vars[:limit] = query.limit_value

  if defined?(::Pagy::Offset)
    # Pagy 43+: bare Pagy is abstract; offset pagination is Pagy::Offset.
    ::Pagy::Offset.new(**vars)
  elsif ::Pagy::VERSION.to_i < 9
    # Convert :limit back to :items for older Pagy versions
    vars[:items] = vars.delete(:limit)
    ::Pagy.new(vars)
  else
    ::Pagy.new(**vars)
  end
end