Sha256: 3b1a5905950984bb681844fbe1959661f0d87c613958a3af05538737af218eb6

Contents?: true

Size: 1.11 KB

Versions: 7

Compression:

Stored size: 1.11 KB

Contents

module Spree
  class StoreCreditEvent < Spree::Base
    acts_as_paranoid

    belongs_to :store_credit
    belongs_to :originator, polymorphic: true

    scope :exposed_events, -> { where.not(action: [Spree::StoreCredit::ELIGIBLE_ACTION, Spree::StoreCredit::AUTHORIZE_ACTION]) }
    scope :reverse_chronological, -> { order(created_at: :desc) }

    delegate :currency, :store, to: :store_credit

    def display_amount
      Spree::Money.new(amount, currency: currency)
    end

    def display_user_total_amount
      Spree::Money.new(user_total_amount, currency: currency)
    end

    def display_action
      case action
      when Spree::StoreCredit::CAPTURE_ACTION
        Spree.t('store_credit.captured')
      when Spree::StoreCredit::AUTHORIZE_ACTION
        Spree.t('store_credit.authorized')
      when Spree::StoreCredit::ALLOCATION_ACTION
        Spree.t('store_credit.allocated')
      when Spree::StoreCredit::VOID_ACTION, Spree::StoreCredit::CREDIT_ACTION
        Spree.t('store_credit.credit')
      end
    end

    def order
      store.payments.find_by(response_code: authorization_code).try(:order)
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
spree_core-4.3.3 app/models/spree/store_credit_event.rb
spree_core-4.3.2 app/models/spree/store_credit_event.rb
spree_core-4.3.1 app/models/spree/store_credit_event.rb
spree_core-4.3.0 app/models/spree/store_credit_event.rb
spree_core-4.3.0.rc3 app/models/spree/store_credit_event.rb
spree_core-4.3.0.rc2 app/models/spree/store_credit_event.rb
spree_core-4.3.0.rc1 app/models/spree/store_credit_event.rb