itbit 0.0.3 → 0.0.4
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.
- data/Gemfile.lock +1 -1
- data/README.md +1 -1
- data/lib/itbit/api.rb +6 -2
- data/lib/itbit/market.rb +2 -2
- data/lib/itbit/version.rb +1 -1
- data/spec/market_spec.rb +1 -1
- metadata +2 -2
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -57,7 +57,7 @@ fetching all public market data available.
|
|
57
57
|
|
58
58
|
### Trades
|
59
59
|
|
60
|
-
ruby > Itbit::XBTUSDMarketData.
|
60
|
+
ruby > Itbit::XBTUSDMarketData.trades
|
61
61
|
=> [ {date: unix_timestamp, price: 123.5, amount: 1.97, tid: 98375},
|
62
62
|
{date: unix_timestamp, price: 123.5, amount: 1.97, tid: 98376},
|
63
63
|
...]
|
data/lib/itbit/api.rb
CHANGED
@@ -6,10 +6,9 @@ module Itbit
|
|
6
6
|
def self.request(verb, path, options = { })
|
7
7
|
timestamp = (Time.now.to_f * 1000).round.to_s
|
8
8
|
nonce = timestamp
|
9
|
-
prefix = Itbit.sandbox ? 'beta-api' : 'api'
|
10
9
|
payload = options.empty? || verb == :get ? nil : JSON.dump(options)
|
11
10
|
query = options.any? && verb == :get ? "?#{options.to_query}" : ''
|
12
|
-
url = "
|
11
|
+
url = "#{api_url}#{path}#{query}"
|
13
12
|
|
14
13
|
signature = sign_message(verb, url, payload, nonce, timestamp)
|
15
14
|
headers = {
|
@@ -22,6 +21,11 @@ module Itbit
|
|
22
21
|
.execute(:method => verb, :url => url, :payload => payload, :headers => headers)
|
23
22
|
JSON.parse(response.to_str) if response.to_str.presence
|
24
23
|
end
|
24
|
+
|
25
|
+
def self.api_url
|
26
|
+
prefix = Itbit.sandbox ? 'beta-api' : 'api'
|
27
|
+
"https://#{prefix}.itbit.com/v1"
|
28
|
+
end
|
25
29
|
|
26
30
|
def self.sign_message(verb, url, json_body, nonce, timestamp)
|
27
31
|
message = JSON.dump([verb.upcase, url, json_body || '', nonce, timestamp])
|
data/lib/itbit/market.rb
CHANGED
@@ -7,7 +7,7 @@ module Itbit
|
|
7
7
|
# The symbol ticker conveniently formatted as a ruby Hash with
|
8
8
|
# symbolized keys.
|
9
9
|
def self.ticker
|
10
|
-
raw_ticker =
|
10
|
+
raw_ticker = JSON.parse(RestClient.get("#{Api.api_url}/markets/#{symbol.upcase}/ticker"))
|
11
11
|
raw_ticker.reduce({}) do |ticker, pair|
|
12
12
|
key = pair.first.underscore.to_sym
|
13
13
|
value = case key
|
@@ -23,7 +23,7 @@ module Itbit
|
|
23
23
|
# The symbol order book as a Hash with two keys: bids and asks.
|
24
24
|
# Each of them is a list of list consisting of [price, quantity]
|
25
25
|
def self.orders
|
26
|
-
order_book = old_request("/markets/#{
|
26
|
+
order_book = old_request("/markets/#{symbol.upcase}/orders").symbolize_keys
|
27
27
|
order_book.each do |key, value|
|
28
28
|
order_book[key] = value.collect { |tuple| tuple.collect(&:to_d) }
|
29
29
|
end
|
data/lib/itbit/version.rb
CHANGED
data/spec/market_spec.rb
CHANGED
@@ -8,7 +8,7 @@ describe Itbit::MarketData do
|
|
8
8
|
}.each do |symbol, market_data|
|
9
9
|
describe "when getting #{symbol} market data" do
|
10
10
|
it "gets the ticker" do
|
11
|
-
stub_get("/markets/#{symbol}/ticker", "market_ticker_#{symbol}")
|
11
|
+
stub_get("/markets/#{symbol.upcase}/ticker", "market_ticker_#{symbol}")
|
12
12
|
market_data.ticker.should == {
|
13
13
|
ask: "641.29".to_d,
|
14
14
|
ask_amt: "0.5".to_d,
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: itbit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-
|
13
|
+
date: 2014-12-05 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|