cryptocompare 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3ac9166226c481cf02e4943f7ff9d340fad3102d
4
- data.tar.gz: 2bed9e8d7c43a11b55bef587e08d3b505911154d
3
+ metadata.gz: d00d76f9c9a92203e67633a4d76831db01273259
4
+ data.tar.gz: c9bd0a4255153b1f2760021c9e7f654cb4dfaa3c
5
5
  SHA512:
6
- metadata.gz: ddf5f8016df804ec197f96604609b615e1773bb61f4c3334e33400ce6d32bc4f48ab6030a4b01ceabd788024628d94593ba935728eaa7df935de34dccab95333
7
- data.tar.gz: 0bb7317bf99b124a0f0944e5365cfbbaf20526c195f94b7a8feb3451f4c6b9947909867721b622e06c691a6bd71b86582f4709d022f06d7bf80e6d100adc904f
6
+ metadata.gz: 906225c0c70ffec0e8ccfdafad3be6808c39720dc06277a38f14097ea94c53ccd8779e06f2fc53a668a903dff228bfdbbfb1168a9b6249bc90d48c7082fc3266
7
+ data.tar.gz: ac27297ecb113ee31a83eb1767a47e6be39fc9f3b348c58bc8ce9c399a8a7c06f625831d1aa2515e6c995226b927a13ac11ac9454d550483435557eb2315e8b6
data/README.md CHANGED
@@ -204,6 +204,51 @@ Cryptocompare::TopPairs.find('ETH')
204
204
  # }
205
205
  ```
206
206
 
207
+ ### HistoMinute
208
+
209
+ Get open, high, low, close, volumefrom and volumeto for each minute of historical data. This data is only stored for 7 days, if you need more, use the hourly or daily path. It uses BTC conversion if data is not available because the coin is not trading in the specified currency.
210
+
211
+ **Examples:**
212
+
213
+ Find historical data by minute for BTC to USD.
214
+
215
+ ```ruby
216
+ Cryptocompare::HistoMinute.find('BTC', 'USD')
217
+ # => {
218
+ # Response: "Success",
219
+ # Type: 100,
220
+ # Aggregated: true,
221
+ # Data: [
222
+ # {
223
+ # time: 1502259120,
224
+ # close: 3396.44,
225
+ # high: 3397.63,
226
+ # low: 3396.34,
227
+ # open: 3397.39,
228
+ # volumefrom: 98.2,
229
+ # volumeto: 335485
230
+ # },
231
+ # {
232
+ # time: 1502259300,
233
+ # close: 3396.86,
234
+ # high: 3396.94,
235
+ # low: 3396.44,
236
+ # open: 3396.44,
237
+ # volumefrom: 16.581031,
238
+ # volumeto: 56637.869999999995
239
+ # },
240
+ # ...
241
+ # ],
242
+ # TimeTo: 1502259360,
243
+ # TimeFrom: 1502259120,
244
+ # FirstValueInArray: true,
245
+ # ConversionType: {
246
+ # type: "direct",
247
+ # conversionSymbol: ""
248
+ # }
249
+ # }
250
+ ```
251
+
207
252
  ## Supported Exchanges
208
253
 
209
254
  * BTC38
data/lib/cryptocompare.rb CHANGED
@@ -1,5 +1,8 @@
1
1
  require_relative "cryptocompare/version"
2
2
  require_relative "cryptocompare/coin_snapshot"
3
+ require_relative "cryptocompare/histo_day"
4
+ require_relative "cryptocompare/histo_hour"
5
+ require_relative "cryptocompare/histo_minute"
3
6
  require_relative "cryptocompare/price"
4
7
  require_relative "cryptocompare/price_historical"
5
8
  require_relative "cryptocompare/top_pairs"
@@ -10,10 +10,12 @@ module Cryptocompare
10
10
  # available.
11
11
  #
12
12
  # ==== Parameters
13
+ #
13
14
  # * +from_sym+ [String] - (required) currency symbol (ex: 'BTC', 'ETH', 'LTC', 'USD', 'EUR', 'CNY')
14
15
  # * +to_sym+ [String] - (required) currency symbol (ex: 'USD', 'EUR', 'CNY', 'USD', 'EUR', 'CNY')
15
16
  #
16
17
  # ==== Returns
18
+ #
17
19
  # [Hash] Hash with data about given currency pair.
18
20
  #
19
21
  # ==== Example
@@ -0,0 +1,102 @@
1
+ require 'faraday'
2
+ require 'json'
3
+ require_relative 'helpers/exchange_name_helper'
4
+
5
+ module Cryptocompare
6
+ module HistoMinute
7
+ extend ExchangeNameHelper
8
+
9
+ API_URL = 'https://min-api.cryptocompare.com/data/histominute'
10
+
11
+ # Get open, high, low, close, volumefrom and volumeto for each minute of
12
+ # historical data. This data is only stored for 7 days, if you need more,
13
+ # use the hourly or daily path. It uses BTC conversion if data is not
14
+ # available because the coin is not trading in the specified currency.
15
+ #
16
+ # ==== Parameters
17
+ #
18
+ # * +from_sym+ [String] - (required) currency symbol (ex: 'BTC', 'ETH', 'LTC', 'USD', 'EUR', 'CNY')
19
+ # * +to_syms+ [String, Array] - (required) currency symbol(s) (ex: 'USD', 'EUR', 'CNY', 'USD', 'EUR', 'CNY')
20
+ # * +opts+ [Hash] - (optional) options hash
21
+ #
22
+ # ==== Options
23
+ #
24
+ # * +e+ [String] - (optional) name of exchange (ex: 'Coinbase','Poloniex') Default: CCCAGG.
25
+ # * +limit+ [Integer] - (optional) limit. Default 1440. Max 2000. Must be positive integer. Returns limit + 1 data points.
26
+ # * +agg+ [Integer] - (optional) number of data points to aggregate. Default 1.
27
+ # * +to_ts+ [Integer] - (optional) timestamp. Use the timestamp option to set a historical start point. By default, it gets historical data for the past several minutes.
28
+ # * +tc+ [Boolean] - (optional) try conversion. Default true. If the crypto does not trade directly into the toSymbol requested, BTC will be used for conversion.
29
+ #
30
+ # ==== Returns
31
+ #
32
+ # [Hash] Returns a hash containing data as an array of hashes containing
33
+ # info such as open, high, low, close, volumefrom and volumeto for
34
+ # each minute.
35
+ #
36
+ # ==== Examples
37
+ #
38
+ # Find historical data by minute for BTC to USD.
39
+ #
40
+ # Cryptocompare::HistoMinute.find('BTC', 'USD')
41
+ #
42
+ # {
43
+ # Response: "Success",
44
+ # Type: 100,
45
+ # Aggregated: true,
46
+ # Data: [
47
+ # {
48
+ # time: 1502259120,
49
+ # close: 3396.44,
50
+ # high: 3397.63,
51
+ # low: 3396.34,
52
+ # open: 3397.39,
53
+ # volumefrom: 98.2,
54
+ # volumeto: 335485
55
+ # },
56
+ # {
57
+ # time: 1502259300,
58
+ # close: 3396.86,
59
+ # high: 3396.94,
60
+ # low: 3396.44,
61
+ # open: 3396.44,
62
+ # volumefrom: 16.581031,
63
+ # volumeto: 56637.869999999995
64
+ # },
65
+ # ...
66
+ # ],
67
+ # TimeTo: 1502259360,
68
+ # TimeFrom: 1502259120,
69
+ # FirstValueInArray: true,
70
+ # ConversionType: {
71
+ # type: "direct",
72
+ # conversionSymbol: ""
73
+ # }
74
+ # }
75
+ def self.find(from_sym, to_sym, opts = {})
76
+ full_path = API_URL + "?fsym=#{from_sym}&tsym=#{to_sym}"
77
+
78
+ if (exchange = opts['e'])
79
+ full_path += "&e=#{ExchangeNameHelper.set_exchange(exchange)}"
80
+ end
81
+
82
+ if (limit = opts['limit'])
83
+ full_path += "&limit=#{limit}"
84
+ end
85
+
86
+ if (agg = opts['agg'])
87
+ full_path += "&aggregate=#{agg}"
88
+ end
89
+
90
+ if (to_ts = opts['to_ts'])
91
+ full_path += "&toTs=#{to_ts}"
92
+ end
93
+
94
+ if (opts['tc'] == false)
95
+ full_path += "&tryConversion=false"
96
+ end
97
+
98
+ api_resp = Faraday.get(full_path)
99
+ JSON.parse(api_resp.body)
100
+ end
101
+ end
102
+ end
@@ -12,14 +12,17 @@ module Cryptocompare
12
12
  # 20-60 ms. Cached each 10 seconds.
13
13
  #
14
14
  # ==== Parameters
15
+ #
15
16
  # * +from_syms+ [String, Array] - (required) currency symbols (ex: 'BTC', 'ETH', 'LTC', 'USD', 'EUR', 'CNY')
16
17
  # * +to_syms+ [String, Array] - (required) currency symbols (ex: 'USD', 'EUR', 'CNY', 'USD', 'EUR', 'CNY')
17
18
  # * +opts+ [Hash] - (optional) options hash
18
19
  #
19
20
  # ==== Options
21
+ #
20
22
  # * +e+ [String] - (optional) name of exchange (ex: 'Coinbase','Poloniex') Default: CCCAGG.
21
23
  #
22
24
  # ==== Returns
25
+ #
23
26
  # [Hash] Hash with currency prices
24
27
  #
25
28
  # ==== Examples
@@ -20,9 +20,11 @@ module Cryptocompare
20
20
  # * +opts+ [Hash] - (optional) options hash
21
21
  #
22
22
  # ==== Options
23
+ #
23
24
  # * +ts+ [String, Integer] - (optional) timestamp
24
25
  #
25
26
  # ==== Returns
27
+ #
26
28
  # [Hash] Hash with currency prices
27
29
  #
28
30
  # ==== Examples
@@ -15,9 +15,11 @@ module Cryptocompare
15
15
  # * +opts+ [Hash] - (optional) options hash
16
16
  #
17
17
  # ==== Options
18
+ #
18
19
  # * +limit+ [Integer] - (optional) limit. Default 5. Max 2000.
19
20
  #
20
21
  # ==== Returns
22
+ #
21
23
  # [Hash] Returns a hash containing data as an array of hashes containing
22
24
  # info about top-traded pairs.
23
25
  #
@@ -1,3 +1,3 @@
1
1
  module Cryptocompare
2
- VERSION = "0.5.0"
2
+ VERSION = "0.6.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cryptocompare
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander David Pan
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-08-07 00:00:00.000000000 Z
11
+ date: 2017-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -129,6 +129,7 @@ files:
129
129
  - lib/cryptocompare.rb
130
130
  - lib/cryptocompare/coin_snapshot.rb
131
131
  - lib/cryptocompare/helpers/exchange_name_helper.rb
132
+ - lib/cryptocompare/histo_minute.rb
132
133
  - lib/cryptocompare/price.rb
133
134
  - lib/cryptocompare/price_historical.rb
134
135
  - lib/cryptocompare/top_pairs.rb
@@ -154,7 +155,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
154
155
  version: '0'
155
156
  requirements: []
156
157
  rubyforge_project:
157
- rubygems_version: 2.4.8
158
+ rubygems_version: 2.0.14.1
158
159
  signing_key:
159
160
  specification_version: 4
160
161
  summary: A Ruby gem for communicating with the CryptoCompare API