class Docproof::PaymentProcessor::Coinbase
Attributes
amount[R]
recipient[R]
Public Class Methods
configuration()
click to toggle source
# File lib/docproof/payment_processor/coinbase.rb, line 17 def self.configuration @configuration ||= Configuration.new end
configuration=(config)
click to toggle source
# File lib/docproof/payment_processor/coinbase.rb, line 21 def self.configuration=(config) @configuration = config end
configure() { |configuration| ... }
click to toggle source
# File lib/docproof/payment_processor/coinbase.rb, line 26 def self.configure yield configuration end
new(recipient:, amount:)
click to toggle source
# File lib/docproof/payment_processor/coinbase.rb, line 30 def initialize(recipient:, amount:) if !Coinbase.configuration.api_key || !Coinbase.configuration.api_secret raise MissingCredentials, 'Coinbase API key and secret in not set' end @recipient = recipient @amount = amount end
Public Instance Methods
perform!()
click to toggle source
# File lib/docproof/payment_processor/coinbase.rb, line 39 def perform! coinbase_wallet_primary_account.send( to: recipient, amount: amount, currency: 'BTC' ) end
Private Instance Methods
coinbase_wallet_primary_account()
click to toggle source
# File lib/docproof/payment_processor/coinbase.rb, line 49 def coinbase_wallet_primary_account require 'coinbase/wallet' @coinbase_wallet_primary_account ||= ::Coinbase::Wallet::Client.new( api_key: Coinbase.configuration.api_key, api_secret: Coinbase.configuration.api_secret ).primary_account rescue LoadError raise MissingDependency, 'Coinbase is required, You can install it with: `gem install coinbase`' end