class Carte::Server::Models::Card

Public Class Methods

random() click to toggle source
# File lib/carte/server/models/card.rb, line 48
def self.random
  self.near(random_point: [Random.rand, 0])
end

Public Instance Methods

lefts(size, context=:created_at) click to toggle source
# File lib/carte/server/models/card.rb, line 52
def lefts(size, context=:created_at)
  result = Card.lt(context => self.send(context)).limit(size).to_a
  shortage = size - result.size
  if shortage > 0
    addition = self.class.lte(context => Card.max(context)).gt(context => self.send(context)).limit(shortage).to_a
    result = addition + result
  end
  result
end
rights(size, context=:created_at) click to toggle source
# File lib/carte/server/models/card.rb, line 62
def rights(size, context=:created_at)
  result = self.class.gt(context => self.send(context)).limit(size).to_a
  shortage = size - result.size
  if shortage > 0
    addition = self.class.gt(context => 0).lt(context => self.send(context)).limit(shortage).to_a
    result = result + addition
  end
  result
end
version() click to toggle source
# File lib/carte/server/models/card.rb, line 33
def version
  self.histories.size + 1
end