summaryrefslogtreecommitdiff
path: root/app/models/ringtone.rb
blob: 2b08c9f8df31f19bdb312f99f4f59189b837fa36 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
class Ringtone < ActiveRecord::Base
  attr_accessible :audio, :bellcore_id
  CORE_RINGTONES_AVAILABLE = {
    'Silence' => 0,
    'Ringtone 1' => 1,
    'Ringtone 2' => 2,
    'Ringtone 3' => 3,
    'Ringtone 4' => 4,
    'Ringtone 5' => 5,
    'Ringtone 6' => 6,
    'Ringtone 7' => 7,
    'Ringtone 8' => 8,
    'Ringtone 9' => 9,
    'Ringtone 10' => 10,
  }
  
  mount_uploader :audio, AudioUploader
  validates_presence_of :audio, :if => Proc.new{ |ringtone| ringtone.bellcore_id.blank? }
  validates_presence_of :ringtoneable_type
  validates_presence_of :ringtoneable_id
  validates_presence_of :ringtoneable
  validates_uniqueness_of :ringtoneable_id, :scope => [:ringtoneable_type]
  
  belongs_to :ringtoneable, :polymorphic => true

  def to_s
    CORE_RINGTONES_AVAILABLE.index(self.bellcore_id)
  end
end