Sha256: 5e9bd4889cbc69c443775ea595479fead3e3d610f712465e95951d925f323efa
Contents?: true
Size: 1.71 KB
Versions: 2
Compression:
Stored size: 1.71 KB
Contents
class Nanook class Wallet def initialize(wallet, rpc) @wallet = wallet @rpc = rpc end def account(account=nil) Nanook::WalletAccount.new(@wallet, account, @rpc) end def accounts wallet_required! rpc(:account_list) end def balance(account_break_down: false) wallet_required! if account_break_down rpc(:wallet_balances) else rpc(:wallet_balance_total) end end def create rpc(:wallet_create) end def destroy wallet_required! rpc(:wallet_destroy) end def export wallet_required! rpc(:wallet_export) end def contains?(account) wallet_required! response = rpc(:wallet_contains, account: account) !response.empty? && response[:exists] == 1 end def pay(from:, to:, amount:, id:) wallet_required! account(from).pay(to: to, amount: amount, id: id) end def receive(block=nil, into:) wallet_required! account(into).receive(block) end def locked? wallet_required! response = rpc(:wallet_locked) !response.empty? && response[:locked] != 0 end def unlock(password) wallet_required! rpc(:password_enter, password: password) end def change_password(password) wallet_required! rpc(:password_change, password: password) end def all wallet_required! rpc(:account_list) end private def rpc(action, params={}) p = @wallet.nil? ? {} : { wallet: @wallet } @rpc.call(action, p.merge(params)) end def wallet_required! if @wallet.nil? raise ArgumentError.new("Wallet must be present") end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
nanook-0.6.3 | lib/nanook/wallet.rb |
nanook-0.6.0 | lib/nanook/wallet.rb |