Class: CryptomktRuby::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/cryptomkt_ruby/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(key, secret, options = {}) ⇒ Client

Returns a new instance of Client.



10
11
12
13
14
# File 'lib/cryptomkt_ruby/client.rb', line 10

def initialize(key, secret, options = {})
  @key = key
  @secret = secret
  @logger = options.delete(:logger)
end

Instance Method Details

#active_orders(market:, page: 0, limit: 20) ⇒ Hash

Retorna lista de órdenes activas en CryptoMarket pertenecientes al usuario propietario de las credenciales.

Parameters:

  • market (String)
  • page (String) (defaults to: 0)
  • limit (String) (defaults to: 20)

Returns:

  • (Hash)


78
79
80
81
82
83
84
85
86
87
88
# File 'lib/cryptomkt_ruby/client.rb', line 78

def active_orders(market:, page: 0, limit: 20)
  path = '/v1/orders/active'

  params = {
    market: market,
    page: page,
    limit: limit
  }

  private_get(path, params)
end

#balanceArray

Permite obtener el balance actual de tus billeteras en CryptoMarket

Returns:

  • (Array)


180
181
182
183
184
# File 'lib/cryptomkt_ruby/client.rb', line 180

def balance
  path = '/v1/balance'

  private_get(path)
end

#book(market:, type:, page: 1, limit: 20) ⇒ Hash

Retorna lista de órdenes activas en CryptoMarket.

Parameters:

  • market (String)
  • type (String)
  • page (String) (defaults to: 1)
  • limit (String) (defaults to: 20)

Returns:

  • (Hash)


22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/cryptomkt_ruby/client.rb', line 22

def book(market:, type:, page: 1, limit: 20)
  path = '/v1/book'

  params = {
    market: market,
    type: type,
    page: page,
    limit: limit
  }

  public_get(path, params)
end

#cancel_order(id) ⇒ Hash

Permite cancelar una orden

Parameters:

  • id (String)

Returns:

  • (Hash)


110
111
112
113
114
# File 'lib/cryptomkt_ruby/client.rb', line 110

def cancel_order(id)
  path = '/v1/orders/cancel'

  private_post(path, id: id)
end

#create_instant_order(market:, type:, amount:) ⇒ Hash

Permite crear una orden instantánea en el Instant Exchange de CryptoMarket

Parameters:

  • market (String)
  • type (String)
  • amount (String)

Returns:

  • (Hash)


166
167
168
169
170
171
172
173
174
175
176
# File 'lib/cryptomkt_ruby/client.rb', line 166

def create_instant_order(market:, type:, amount:)
  path = '/v1/orders/instant/create'

  params = {
    market: market,
    type: type,
    amount: amount
  }

  private_post(path, params)
end

#create_market_order(market:, type:, amount:, price:) ⇒ Hash

Permite crear una orden de compra o venta dentro de CryptoMarket

Parameters:

  • market (String)
  • type (String)
  • amount (String)
  • price (String)

Returns:

  • (Hash)


148
149
150
151
152
153
154
155
156
157
158
159
# File 'lib/cryptomkt_ruby/client.rb', line 148

def create_market_order(market:, type:, amount:, price:)
  path = '/v1/orders/create'

  params = {
    market: market,
    type: type,
    amount: amount,
    price: price
  }

  private_post(path, params)
end

#executed_orders(market:, page: 0, limit: 20) ⇒ Hash

Retorna lista de órdenes ejecutadas en CryptoMarket pertenecientes al usuario propietario de las credenciales.

Parameters:

  • market (String)
  • page (String) (defaults to: 0)
  • limit (String) (defaults to: 20)

Returns:

  • (Hash)


95
96
97
98
99
100
101
102
103
104
105
# File 'lib/cryptomkt_ruby/client.rb', line 95

def executed_orders(market:, page: 0, limit: 20)
  path = '/v1/orders/executed'

  params = {
    market: market,
    page: page,
    limit: limit
  }

  private_get(path, params)
end

#instant_order(market:, type:, amount:) ⇒ Hash

Permite obtener en base al estado actual del mercado, la cantidad de criptomonedas o moneda local a recibir si se ejecuta una compra o venta respectivamente.

Parameters:

  • market (String)
  • type (String)
  • amount (String)

Returns:

  • (Hash)


130
131
132
133
134
135
136
137
138
139
140
# File 'lib/cryptomkt_ruby/client.rb', line 130

def instant_order(market:, type:, amount:)
  path = '/v1/orders/instant/get'

  params = {
    market: market,
    type: type,
    amount: amount
  }

  private_get(path, params)
end

#marketArray

El mercado corresponde a los pares de mercados disponibles en CryptoMarket.

Returns:

  • (Array)


58
59
60
61
62
# File 'lib/cryptomkt_ruby/client.rb', line 58

def market
  path = '/v1/market'

  public_get(path, {})
end

#status_order(id) ⇒ Hash

Retorna el estado de una orden

Parameters:

  • id (String)

Returns:

  • (Hash)


119
120
121
122
123
# File 'lib/cryptomkt_ruby/client.rb', line 119

def status_order(id)
  path = '/v1/orders/status'

  private_get(path, id: id)
end

#ticker(market: nil) ⇒ Array

Retorna una lista de objetos ticker de mercados activos. Si está presente parámetro market solo se retorna ticker de mercado especificado.

Parameters:

  • market (String) (defaults to: nil)

Returns:

  • (Array)


67
68
69
70
71
# File 'lib/cryptomkt_ruby/client.rb', line 67

def ticker(market: nil)
  path = '/v1/ticker'

  public_get(path, market: market)
end

#trades(market:, start_at: Time.now, end_at: Time.now, page: 1, limit: 20) ⇒ Hash

Corresponden a las transacciones realizadas en CryptoMarket.

Parameters:

  • market (String)
  • start_at (String) (defaults to: Time.now)
  • end_at (String) (defaults to: Time.now)
  • page (String) (defaults to: 1)
  • limit (String) (defaults to: 20)

Returns:

  • (Hash)


42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/cryptomkt_ruby/client.rb', line 42

def trades(market:, start_at: Time.now, end_at: Time.now, page: 1, limit: 20)
  path = '/v1/trades'

  params = {
    market: market,
    start: start_at.strftime('%Y-%m-%d'),
    end: end_at.strftime('%Y-%m-%d'),
    page: page,
    limit: limit
  }

  public_get(path, params)
end