Class: Datewari::Paginator::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/datewari/paginator/base.rb

Direct Known Subclasses

Mysql, Postgresql

Instance Method Summary collapse

Constructor Details

#initialize(rel, column, order, options) ⇒ Base

Returns a new instance of Base.



8
9
10
11
12
13
# File 'lib/datewari/paginator/base.rb', line 8

def initialize(rel, column, order, options)
  @rel = rel
  @column = column
  @order = order
  @scope = options[:scope]
end

Instance Method Details

#pagesObject



15
16
17
# File 'lib/datewari/paginator/base.rb', line 15

def pages
  send("pages_for_#{@scope}")
end

#paginate(start_date, end_date) ⇒ Object



19
20
21
22
# File 'lib/datewari/paginator/base.rb', line 19

def paginate(start_date, end_date)
  @rel.where("#{quoted_column} BETWEEN ? AND ?", start_date, end_date)
      .order(Arel.sql("#{quoted_column} #{@order.to_s.upcase}"))
end

#total_entriesObject



24
25
26
# File 'lib/datewari/paginator/base.rb', line 24

def total_entries
  @rel.count
end