class Nexter::Wrap

Attributes

model[R]

the current model & the scope

relation[R]

the current model & the scope

Public Class Methods

new(relation, model) click to toggle source
# File lib/nexter/wrap.rb, line 6
def initialize(relation, model)
  @relation = relation
  @model = Model.new(model, relation)
end

Public Instance Methods

after() click to toggle source
# File lib/nexter/wrap.rb, line 21
def after
  query = Query.new(model.values, :next)
  relation.where( query.wheres.join(' OR ') )
end
before() click to toggle source
# File lib/nexter/wrap.rb, line 26
def before
  query = Query.new(model.values, :previous)
  relation.where( query.wheres.join(' OR ') ).
          reorder( query.reorders.join(", ") )
end
next() click to toggle source

TODO : let user determine which strategy to choose: e.g: carousel or stay on last

# File lib/nexter/wrap.rb, line 13
def next
  @next||=after.first
end
previous() click to toggle source
# File lib/nexter/wrap.rb, line 17
def previous
  @prev||=before.first
end