bitstamp-2 0.5.0 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -0
- data/Gemfile.lock +8 -0
- data/VERSION +1 -1
- data/bitstamp.gemspec +1 -1
- data/lib/bitstamp.rb +10 -2
- data/lib/bitstamp/net.rb +6 -2
- data/spec/bitstamp_spec.rb +11 -0
- data/spec/support/bitstamp_setup.rb +1 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 808ee30bc327ba6365dbb891bc3dce12021e7a74
|
4
|
+
data.tar.gz: 792a8a864f79d890ddcb51e11715fb825091a79c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1f9508d0917a1bc56666dda35e8040f80f46e05498bf3aa1fd2937049907c1e8758e6e76c6fb2c3982257ddf53c777165ae8fa33e4290462eb7c6a6eb3bc9751
|
7
|
+
data.tar.gz: c3c59d1e2467e4cd2132a4a8622737f1434a13d7850e6e140c424d880fd3b192a4bf4bd79481efa5f1b4d75ad0d48d25e7d4dbeb4be541d1e692662c0cbc7ef5
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -21,6 +21,7 @@ GEM
|
|
21
21
|
tzinfo (~> 1.1)
|
22
22
|
addressable (2.3.5)
|
23
23
|
builder (3.2.2)
|
24
|
+
coderay (1.1.1)
|
24
25
|
crack (0.4.1)
|
25
26
|
safe_yaml (~> 0.9.0)
|
26
27
|
diff-lcs (1.2.4)
|
@@ -34,7 +35,12 @@ GEM
|
|
34
35
|
rake
|
35
36
|
rdoc
|
36
37
|
json (1.8.3)
|
38
|
+
method_source (0.8.2)
|
37
39
|
minitest (5.8.4)
|
40
|
+
pry (0.10.3)
|
41
|
+
coderay (~> 1.1.0)
|
42
|
+
method_source (~> 0.8.1)
|
43
|
+
slop (~> 3.4)
|
38
44
|
rack (1.6.4)
|
39
45
|
rake (10.0.4)
|
40
46
|
rdoc (3.12.2)
|
@@ -49,6 +55,7 @@ GEM
|
|
49
55
|
rspec-mocks (2.13.1)
|
50
56
|
ruby-hmac (0.4.0)
|
51
57
|
safe_yaml (0.9.7)
|
58
|
+
slop (3.6.0)
|
52
59
|
thread_safe (0.3.5)
|
53
60
|
tzinfo (1.2.2)
|
54
61
|
thread_safe (~> 0.1)
|
@@ -64,6 +71,7 @@ DEPENDENCIES
|
|
64
71
|
bitstamp-2!
|
65
72
|
bundler (~> 1.11.2)
|
66
73
|
jeweler (~> 1.8.4)
|
74
|
+
pry
|
67
75
|
rdoc (~> 3.12)
|
68
76
|
rspec
|
69
77
|
vcr (= 2.6.0)
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.5.0
|
data/bitstamp.gemspec
CHANGED
data/lib/bitstamp.rb
CHANGED
@@ -16,10 +16,10 @@ require 'bitstamp/ticker'
|
|
16
16
|
String.send(:include, ActiveSupport::Inflector)
|
17
17
|
|
18
18
|
module Bitstamp
|
19
|
-
|
19
|
+
|
20
20
|
# Connection timeouts
|
21
21
|
mattr_accessor :conn_timeout
|
22
|
-
|
22
|
+
|
23
23
|
# API Key
|
24
24
|
mattr_accessor :key
|
25
25
|
|
@@ -29,10 +29,18 @@ module Bitstamp
|
|
29
29
|
# Bitstamp client ID
|
30
30
|
mattr_accessor :client_id
|
31
31
|
|
32
|
+
# Bitstamp nonce parameter generator
|
33
|
+
mattr_accessor :nonce_parameter_generator
|
34
|
+
|
32
35
|
# Currency
|
33
36
|
mattr_accessor :currency
|
34
37
|
@@currency = :usd
|
35
38
|
|
39
|
+
def self.nonce_parameter
|
40
|
+
return self.nonce_parameter_generator.call if nonce_parameter_generator
|
41
|
+
(Time.now.to_f*10000).to_i.to_s
|
42
|
+
end
|
43
|
+
|
36
44
|
def self.orders
|
37
45
|
self.sanity_check!
|
38
46
|
|
data/lib/bitstamp/net.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module Bitstamp
|
2
2
|
module Net
|
3
3
|
HTTPI_ADAPTER = :net_http
|
4
|
-
|
4
|
+
|
5
5
|
def self.to_uri(path)
|
6
6
|
return "https://www.bitstamp.net/api#{path}/"
|
7
7
|
end
|
@@ -16,7 +16,7 @@ module Bitstamp
|
|
16
16
|
|
17
17
|
if Bitstamp.configured?
|
18
18
|
options[:key] = Bitstamp.key
|
19
|
-
options[:nonce] =
|
19
|
+
options[:nonce] = self.nonce_parameter
|
20
20
|
options[:signature] = HMAC::SHA256.hexdigest(Bitstamp.secret, options[:nonce]+Bitstamp.client_id.to_s+options[:key]).upcase
|
21
21
|
end
|
22
22
|
|
@@ -25,6 +25,10 @@ module Bitstamp
|
|
25
25
|
HTTPI.request(verb, r, HTTPI_ADAPTER)
|
26
26
|
end
|
27
27
|
|
28
|
+
def self.nonce_parameter
|
29
|
+
Bitstamp.nonce_parameter
|
30
|
+
end
|
31
|
+
|
28
32
|
def self.get(path, options={})
|
29
33
|
self.req(:get, path, options)
|
30
34
|
end
|
data/spec/bitstamp_spec.rb
CHANGED
@@ -7,14 +7,25 @@ describe Bitstamp do
|
|
7
7
|
it { -> { Bitstamp.sanity_check! }.should raise_error }
|
8
8
|
end
|
9
9
|
context 'properly configured' do
|
10
|
+
let(:nonce_parameter_generator) do
|
11
|
+
Proc.new do
|
12
|
+
"#{Time.now.to_i}#{(Time.now.nsec / 1_000_000)}".to_i
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
10
16
|
before {
|
11
17
|
Bitstamp.setup do |config|
|
12
18
|
config.key = 'test'
|
13
19
|
config.secret = 'test'
|
14
20
|
config.client_id = 'test'
|
21
|
+
config.nonce_parameter_generator = nonce_parameter_generator
|
15
22
|
end
|
16
23
|
}
|
17
24
|
it { -> { Bitstamp.sanity_check! }.should_not raise_error }
|
25
|
+
|
26
|
+
it 'generates the nonce parameter using the provided block' do
|
27
|
+
expect(Bitstamp.nonce_parameter).to eq nonce_parameter_generator.call
|
28
|
+
end
|
18
29
|
end
|
19
30
|
end
|
20
31
|
|