Class: Mincer::Processors::Paginate

Inherits:
Object
  • Object
show all
Defined in:
lib/mincer/processors/paginate.rb

Instance Method Summary collapse

Constructor Details

#initialize(mincer) ⇒ Paginate

Returns a new instance of Paginate.



5
6
7
# File 'lib/mincer/processors/paginate.rb', line 5

def initialize(mincer)
  @mincer, @args, @relation = mincer, mincer.args, mincer.relation
end

Instance Method Details

#applyObject



9
10
11
12
13
14
15
16
17
18
# File 'lib/mincer/processors/paginate.rb', line 9

def apply
  if kaminari?
    @relation.page(@args['page']).per(@args['per_page'])
  elsif will_paginate?
    @relation.paginate(page: @args['page'], per_page: @args['per_page'])
  else
    warn 'To enable pagination please add kaminari or will_paginate to your Gemfile'
    @relation
  end
end

#kaminari?Boolean

private

Returns:

  • (Boolean)


22
23
24
# File 'lib/mincer/processors/paginate.rb', line 22

def kaminari?
  defined?(::Kaminari)
end

#will_paginate?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/mincer/processors/paginate.rb', line 26

def will_paginate?
  defined?(::WillPaginate)
end