Sha256: 5362660ca5e0e796b8fde82ddc3d7627be41a7f4f455270c51b47cef072bb9b8

Contents?: true

Size: 901 Bytes

Versions: 93

Compression:

Stored size: 901 Bytes

Contents

# Mostly for the callbacks

module ActsAsPurchasableParent
  extend ActiveSupport::Concern

  module Base
    def acts_as_purchasable_parent(*options)
      @acts_as_purchasable_parent = options || []
      include ::ActsAsPurchasableParent
    end
  end

  module ClassMethods
    def acts_as_purchasable_parent?; true; end

    def before_purchase(&block)
      send :define_method, :before_purchase do |order| self.instance_exec(order, &block) end
    end

    def after_purchase(&block)
      send :define_method, :after_purchase do |order| self.instance_exec(order, &block) end
    end

    def after_decline(&block)
      send :define_method, :after_decline do |order| self.instance_exec(order, &block) end
    end
  end

  included do
    has_many :orders, -> { order(:id) }, as: :parent, class_name: 'Effective::Order', dependent: :nullify
    accepts_nested_attributes_for :orders
  end

end

Version data entries

93 entries across 93 versions & 1 rubygems

Version Path
effective_orders-5.7.1 app/models/concerns/acts_as_purchasable_parent.rb
effective_orders-5.7.0 app/models/concerns/acts_as_purchasable_parent.rb
effective_orders-5.6.2 app/models/concerns/acts_as_purchasable_parent.rb
effective_orders-5.6.1 app/models/concerns/acts_as_purchasable_parent.rb
effective_orders-5.6.0 app/models/concerns/acts_as_purchasable_parent.rb
effective_orders-5.5.2 app/models/concerns/acts_as_purchasable_parent.rb
effective_orders-5.5.1 app/models/concerns/acts_as_purchasable_parent.rb
effective_orders-5.5.0 app/models/concerns/acts_as_purchasable_parent.rb
effective_orders-5.4.4 app/models/concerns/acts_as_purchasable_parent.rb
effective_orders-5.4.3 app/models/concerns/acts_as_purchasable_parent.rb
effective_orders-5.4.2 app/models/concerns/acts_as_purchasable_parent.rb
effective_orders-5.4.1 app/models/concerns/acts_as_purchasable_parent.rb
effective_orders-5.4.0 app/models/concerns/acts_as_purchasable_parent.rb
effective_orders-5.3.2 app/models/concerns/acts_as_purchasable_parent.rb
effective_orders-5.3.1 app/models/concerns/acts_as_purchasable_parent.rb
effective_orders-5.3.0 app/models/concerns/acts_as_purchasable_parent.rb
effective_orders-5.2.17 app/models/concerns/acts_as_purchasable_parent.rb
effective_orders-5.2.16 app/models/concerns/acts_as_purchasable_parent.rb
effective_orders-5.2.15 app/models/concerns/acts_as_purchasable_parent.rb
effective_orders-5.2.14 app/models/concerns/acts_as_purchasable_parent.rb