Class: Docproof::PaymentProcessor::Coinbase

Inherits:
Object
  • Object
show all
Defined in:
lib/docproof/payment_processor/coinbase.rb

Defined Under Namespace

Classes: Configuration

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(recipient:, amount:) ⇒ Coinbase

Returns a new instance of Coinbase.



30
31
32
33
34
35
36
37
# 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

Instance Attribute Details

#amountObject (readonly)

Returns the value of attribute amount.



14
15
16
# File 'lib/docproof/payment_processor/coinbase.rb', line 14

def amount
  @amount
end

#recipientObject (readonly)

Returns the value of attribute recipient.



14
15
16
# File 'lib/docproof/payment_processor/coinbase.rb', line 14

def recipient
  @recipient
end

Class Method Details

.configurationObject



17
18
19
# File 'lib/docproof/payment_processor/coinbase.rb', line 17

def self.configuration
  @configuration ||= Configuration.new
end

.configuration=(config) ⇒ Object



21
22
23
# File 'lib/docproof/payment_processor/coinbase.rb', line 21

def self.configuration=(config)
  @configuration = config
end

.configure {|configuration| ... } ⇒ Object

Yields:



26
27
28
# File 'lib/docproof/payment_processor/coinbase.rb', line 26

def self.configure
  yield configuration
end

Instance Method Details

#perform!Object



39
40
41
42
43
44
45
# File 'lib/docproof/payment_processor/coinbase.rb', line 39

def perform!
  .send(
    to:       recipient,
    amount:   amount,
    currency: 'BTC'
  )
end