Module: Wor::Paginate::Config

Defined in:
lib/wor/paginate/config.rb

Constant Summary collapse

DEFAULTS_CONFIGS =
{
  default_per_page: 25,
  default_page: 1,
  page_param: :page,
  per_page_param: :limit,
  formatter: Wor::Paginate::Formatters::Base,
  max_limit: 50,
  default_adapter: nil
}.freeze
DEFAULT_ADAPTERS =
{
  kaminari_paginated: Adapters::KaminariAlreadyPaginated,
  will_paginate_paginated: Adapters::WillPaginateAlreadyPaginated,
  will_paginate: Adapters::WillPaginate,
  kaminari: Adapters::Kaminari,
  pagy: Adapters::Pagy,
  active_record: Adapters::ActiveRecord,
  enumerable: Adapters::Enumerable
}.freeze

Class Method Summary collapse

Class Method Details

.adaptersObject



50
51
52
# File 'lib/wor/paginate/config.rb', line 50

def adapters
  @adapters
end

.add_adapter(adapter) ⇒ Object



38
39
40
# File 'lib/wor/paginate/config.rb', line 38

def add_adapter(adapter)
  @adapters << adapter
end

.clear_adaptersObject



46
47
48
# File 'lib/wor/paginate/config.rb', line 46

def clear_adapters
  @adapters.clear
end

.remove_adapter(adapter) ⇒ Object



42
43
44
# File 'lib/wor/paginate/config.rb', line 42

def remove_adapter(adapter)
  @adapters.delete(adapter)
end

.reset!Object

This is mostly useful for the tests



55
56
57
# File 'lib/wor/paginate/config.rb', line 55

def reset!
  DEFAULTS_CONFIGS.each { |k, v| send("#{k}=", v) }
end

.reset_adapters!Object



59
60
61
# File 'lib/wor/paginate/config.rb', line 59

def reset_adapters!
  @adapters = DEFAULT_ADAPTERS.values
end