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