Sha256: 9d4cd5223b6f46ceeae916abc224ba7c5adfb55465211c39000ea3f009438a7b

Contents?: true

Size: 579 Bytes

Versions: 6

Compression:

Stored size: 579 Bytes

Contents

class Sash < ActiveRecord::Base
  has_many :badges_sashes
  has_many :badges, :through => :badges_sashes

  # Latest badges granted by Merit
  def self.latest_badges(limit = 10)
    select('DISTINCT sashes.id, sashes.*').joins(:badges_sashes).order('badges_sashes.created_at DESC').limit(limit)
  end

  # Decides if sash has lower rank than a given badge
  def has_lower_rank_than(badge)
    levels(badge.name).all_lower_than badge.level
  end

  # Collect Sash levels given a badge name
  def levels(badge_name)
    badges.where(:name => badge_name).collect(&:level)
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
merit-0.2.5 app/models/sash.rb
merit-0.2.4 app/models/sash.rb
merit-0.2.2 app/models/sash.rb
merit-0.2.1 app/models/sash.rb
merit-0.2.0 app/models/sash.rb
merit-0.1.3 app/models/sash.rb