Sha256: 7879d39fbaa2e8915b8d565fdee96f1fb4e9bc11aeea8f0f160899873240fa86

Contents?: true

Size: 618 Bytes

Versions: 39

Compression:

Stored size: 618 Bytes

Contents

module Pay
  class Merchant < Pay::ApplicationRecord
    belongs_to :owner, polymorphic: true

    validates :processor, presence: true

    store_accessor :data, :onboarding_complete

    delegate_missing_to :pay_processor

    def self.pay_processor_for(name)
      "Pay::#{name.to_s.classify}::Merchant".constantize
    end

    def pay_processor
      return if processor.blank?
      @pay_processor ||= self.class.pay_processor_for(processor).new(self)
    end

    def onboarding_complete?
      ActiveModel::Type::Boolean.new.cast(
        (data.presence || {})["onboarding_complete"]
      )
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
pay-6.8.1 app/models/pay/merchant.rb
pay-6.8.0 app/models/pay/merchant.rb
pay-6.7.2 app/models/pay/merchant.rb
pay-6.7.1 app/models/pay/merchant.rb
pay-6.7.0 app/models/pay/merchant.rb
pay-6.6.1 app/models/pay/merchant.rb
pay-6.6.0 app/models/pay/merchant.rb
pay-6.5.0 app/models/pay/merchant.rb
pay-6.4.0 app/models/pay/merchant.rb
pay-6.3.4 app/models/pay/merchant.rb
pay-6.3.3 app/models/pay/merchant.rb
pay-6.3.2 app/models/pay/merchant.rb
pay-6.3.1 app/models/pay/merchant.rb
pay-6.3.0 app/models/pay/merchant.rb
pay-6.2.4 app/models/pay/merchant.rb
pay-6.2.3 app/models/pay/merchant.rb
pay-6.2.2 app/models/pay/merchant.rb
pay-6.2.1 app/models/pay/merchant.rb
pay-6.2.0 app/models/pay/merchant.rb
pay-6.1.2 app/models/pay/merchant.rb