Sha256: 18b37f5d9c9a71f490ef6f27e8c10d355e48bf70c0038ef86908a4c7c7d476d0

Contents?: true

Size: 893 Bytes

Versions: 7

Compression:

Stored size: 893 Bytes

Contents

require "pay/env"
require "pay/paddle/billable"
require "pay/paddle/charge"
require "pay/paddle/subscription"
require "pay/paddle/webhooks"

module Pay
  module Paddle
    include Env

    extend self

    def setup
      ::PaddlePay.config.vendor_id = vendor_id
      ::PaddlePay.config.vendor_auth_code = vendor_auth_code

      Pay.charge_model.include Pay::Paddle::Charge
      Pay.subscription_model.include Pay::Paddle::Subscription
      Pay.billable_models.each { |model| model.include Pay::Paddle::Billable }
    end

    def vendor_id
      find_value_by_name(:paddle, :vendor_id)
    end

    def vendor_auth_code
      find_value_by_name(:paddle, :vendor_auth_code)
    end

    def public_key_base64
      find_value_by_name(:paddle, :public_key_base64)
    end

    def passthrough(owner:, **options)
      options.merge(owner_sgid: owner.to_sgid.to_s).to_json
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
pay-2.5.0 lib/pay/paddle.rb
pay-2.4.4 lib/pay/paddle.rb
pay-2.4.3 lib/pay/paddle.rb
pay-2.4.2 lib/pay/paddle.rb
pay-2.4.0 lib/pay/paddle.rb
pay-2.3.1 lib/pay/paddle.rb
pay-2.3.0 lib/pay/paddle.rb