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

37 lines
770 B
Ruby

module JamRuby
class GiftCard < ActiveRecord::Base
@@log = Logging.logger[GiftCard]
FIVE_JAM_TRACKS = 'five_jam_tracks'
TEN_JAM_TRACKS = 'ten_jam_tracks'
CARD_TYPES =
[
FIVE_JAM_TRACKS,
TEN_JAM_TRACKS
]
belongs_to :user, class_name: "JamRuby::User"
validates :card_type, presence: true, inclusion: {in: CARD_TYPES}
validates :redeemed, inclusion: {in: [true, false]}
validates :code, presence: true, uniqueness: true
def redeem(user)
transaction do
update({redeemed: true, user: user})
if card_type == FIVE_JAM_TRACK
user.red
elsif card_type == TEN_JAM_TRACK
else
raise 'unknown type'
end
end
end
end
end