Module: SpreeCmCommissioner::PaymentMethodDecorator
- Defined in:
- app/models/spree_cm_commissioner/payment_method_decorator.rb
Constant Summary collapse
- DISPLAY =
%i[both front_end back_end frontend_for_early_adopter mini_app].freeze
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.prepended(base) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'app/models/spree_cm_commissioner/payment_method_decorator.rb', line 5 def self.prepended(base) base.const_set(:DISPLAY, DISPLAY) # Expose a dedicated class helper so services can call Spree::PaymentMethod.ticket_transfer # instead of duplicating lookup/creation logic. base.define_singleton_method(:ticket_transfer) do Spree::PaymentMethod::Check.available_on_back_end.find_or_create_by!(name: 'Ticket Transfer') do |method| method.stores = [Spree::Store.default] end end base.scope :available_on_frontend_for_early_adopter, -> { active.where(display_on: %i[both front_end frontend_for_early_adopter]) } # override base.scope :available_on_front_end, -> { active.where(display_on: %i[front_end both mini_app]) } end |
Instance Method Details
#mini_app? ⇒ Boolean
22 23 24 |
# File 'app/models/spree_cm_commissioner/payment_method_decorator.rb', line 22 def mini_app? display_on == 'mini_app' end |