jam-cloud/ruby/lib/jam_ruby/models/gift_card.rb

36 lines
793 B
Ruby

module JamRuby
class GiftCard < ActiveRecord::Base
@@log = Logging.logger[GiftCard]
JAM_TRACKS_10 = 'jam_tracks_10'
JAM_TRACKS_20 = 'jam_tracks_20'
CARD_TYPES =
[
JAM_TRACKS_10,
JAM_TRACKS_20
]
belongs_to :user, class_name: "JamRuby::User"
validates :card_type, presence: true, inclusion: {in: CARD_TYPES}
validates :code, presence: true, uniqueness: true
after_save :check_gifted
def check_gifted
if user && user_id_changed?
if card_type == JAM_TRACKS_10
user.gifted_jamtracks += 10
elsif card_type == JAM_TRACKS_20
user.gifted_jamtracks += 20
else
raise "unknown card type #{card_type}"
end
user.save!
end
end
end
end