Class: Chain::Account::ClientModule

Inherits:
ClientModule show all
Defined in:
lib/chain/account.rb

Instance Attribute Summary

Attributes inherited from ClientModule

#client

Instance Method Summary collapse

Methods inherited from ClientModule

#initialize

Constructor Details

This class inherits a constructor from Chain::ClientModule

Instance Method Details

#create(opts) ⇒ Account

Parameters:

  • opts (Hash)

Returns:



39
40
41
42
# File 'lib/chain/account.rb', line 39

def create(opts)
  opts = {client_token: SecureRandom.uuid}.merge(opts)
  client.conn.singleton_batch_request('create-account', [opts]) { |item| Account.new(item) }
end

#create_batch(opts) ⇒ Array<Account>

Parameters:

  • opts (Array<Hash>)

Returns:



46
47
48
49
# File 'lib/chain/account.rb', line 46

def create_batch(opts)
  opts = opts.map { |i| {client_token: SecureRandom.uuid}.merge(i) }
  client.conn.batch_request('create-account', opts) { |item| Account.new(item) }
end

#create_control_program(opts = {}) ⇒ ControlProgram

Parameters:

  • opts (Hash) (defaults to: {})

Returns:



53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/chain/account.rb', line 53

def create_control_program(opts = {})
  # We don't use keyword params here because 'alias' is a Ruby reserverd
  # word.
  params = {}
  params[:account_alias] = opts[:alias] if opts.key?(:alias)
  params[:account_id] = opts[:id] if opts.key?(:id)

  client.conn.singleton_batch_request(
    'create-control-program',
    [{type: :account, params: params}]
  ) { |item| ControlProgram.new(item) }
end

#query(query = {}) ⇒ Query

Parameters:

  • query (Hash) (defaults to: {})

Returns:



68
69
70
# File 'lib/chain/account.rb', line 68

def query(query = {})
  Query.new(client, query)
end