Method: Coinbase::Destination#initialize
- Defined in:
- lib/coinbase/destination.rb
#initialize(model, network:) ⇒ Destination
Returns a new Destination object.
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/coinbase/destination.rb', line 23 def initialize(model, network:) network = Coinbase::Network.from_id(network) case model when Coinbase::Destination raise ArgumentError, 'destination network must match destination' unless model.network == network @address_id = model.address_id @network = model.network when Coinbase::Wallet raise ArgumentError, 'destination network must match wallet' unless model.network == network raise ArgumentError, 'destination wallet must have default address' if model.default_address.nil? @address_id = model.default_address.id @network = model.network when Coinbase::Address raise ArgumentError, 'destination network must match address' unless model.network == network @address_id = model.id @network = model.network when String @address_id = model @network = network else raise ArgumentError, "unsupported destination type: #{model.class}" end end |