Class: Spree::VirtualGiftCard
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Spree::VirtualGiftCard
- Includes:
- ActionView::Helpers::NumberHelper
- Defined in:
- app/models/spree/virtual_gift_card.rb
Class Method Summary collapse
Instance Method Summary collapse
- #formatted_amount ⇒ Object
- #formatted_redemption_code ⇒ Object
- #memo ⇒ Object
- #redeem(redeemer) ⇒ Object
- #redeemed? ⇒ Boolean
- #store_credit_category ⇒ Object
Class Method Details
.active_by_redemption_code(redemption_code) ⇒ Object
52 53 54 |
# File 'app/models/spree/virtual_gift_card.rb', line 52 def self.active_by_redemption_code(redemption_code) Spree::VirtualGiftCard.unredeemed.by_redemption_code(redemption_code).first end |
Instance Method Details
#formatted_amount ⇒ Object
44 45 46 |
# File 'app/models/spree/virtual_gift_card.rb', line 44 def formatted_amount number_to_currency(amount, precision: 0) end |
#formatted_redemption_code ⇒ Object
40 41 42 |
# File 'app/models/spree/virtual_gift_card.rb', line 40 def formatted_redemption_code redemption_code.scan(/.{4}/).join('-') end |
#memo ⇒ Object
36 37 38 |
# File 'app/models/spree/virtual_gift_card.rb', line 36 def memo "Gift Card ##{self.redemption_code}" end |
#redeem(redeemer) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'app/models/spree/virtual_gift_card.rb', line 22 def redeem(redeemer) return false if redeemed? create_store_credit!({ amount: amount, currency: currency, memo: memo, user: redeemer, created_by: redeemer, action_originator: self, category: store_credit_category, }) self.update_attributes( redeemed_at: Time.now, redeemer: redeemer ) end |
#redeemed? ⇒ Boolean
18 19 20 |
# File 'app/models/spree/virtual_gift_card.rb', line 18 def redeemed? redeemed_at.present? end |