gekko 1.2.0 → 1.2.1
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 +4 -4
- data/lib/gekko/book.rb +5 -3
- data/lib/gekko/book_side.rb +2 -2
- data/lib/gekko/order.rb +7 -6
- data/lib/gekko/symbolize_keys.rb +10 -3
- data/lib/gekko/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bb8344296bc6255d9d2cb07afb472b9552e7e529
|
4
|
+
data.tar.gz: 8f24a614dcc4e2ee7a99d4533756628e580804fb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9883ae5b9fcfb9350f436d00b452afec85cc968fb9f120dc5199aa613ccdd0a65630d05129ffc3acde3cf3ecaf9fbbf24a7279970c8792e116f6625dffbc28e8
|
7
|
+
data.tar.gz: c77cca9c1201a2433b489dca95edeb6902446f74b7521b04c6518b67e94e5151bf902e0c1c984b1782e5a4b9a62c774e2007b5ad6f0a9c27f4a6943fef6c983c
|
data/lib/gekko/book.rb
CHANGED
@@ -291,13 +291,15 @@ module Gekko
|
|
291
291
|
# @return [Gekko::Book] The loaded book instance
|
292
292
|
#
|
293
293
|
def self.from_hash(hsh)
|
294
|
+
h = symbolize_keys(hsh)
|
295
|
+
|
294
296
|
book = Book.new(hsh[:pair], {
|
295
|
-
bids: BookSide.from_hash(:bid,
|
296
|
-
asks: BookSide.from_hash(:ask,
|
297
|
+
bids: BookSide.from_hash(:bid, h[:bids]),
|
298
|
+
asks: BookSide.from_hash(:ask, h[:asks])
|
297
299
|
})
|
298
300
|
|
299
301
|
[:bids, :asks].each { |s| book.send(s).each { |ord| book.received[ord.id.to_s] = ord } }
|
300
|
-
book.tape = Tape.from_hash(
|
302
|
+
book.tape = Tape.from_hash(h[:tape]) if h[:tape]
|
301
303
|
|
302
304
|
book
|
303
305
|
end
|
data/lib/gekko/book_side.rb
CHANGED
@@ -42,8 +42,8 @@ module Gekko
|
|
42
42
|
#
|
43
43
|
def self.from_hash(side, h)
|
44
44
|
h = symbolize_keys(h)
|
45
|
-
bs = new(side, orders: h[:orders]
|
46
|
-
bs.stops = h[:stops].map { |o| Gekko::Order.from_hash(
|
45
|
+
bs = new(side, orders: h[:orders])
|
46
|
+
bs.stops = h[:stops].map { |o| Gekko::Order.from_hash(o) }
|
47
47
|
bs
|
48
48
|
end
|
49
49
|
|
data/lib/gekko/order.rb
CHANGED
@@ -184,13 +184,14 @@ module Gekko
|
|
184
184
|
# @return [Gekko::Order] A trade order
|
185
185
|
#
|
186
186
|
def self.from_hash(hsh)
|
187
|
-
|
187
|
+
h = symbolize_keys(hsh)
|
188
188
|
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
order.
|
193
|
-
order.
|
189
|
+
order = (h[:price] ? LimitOrder : MarketOrder).from_hash(h)
|
190
|
+
|
191
|
+
if h[:stop]
|
192
|
+
order.stop_price = h[:stop][:price]
|
193
|
+
order.stop_offset = h[:stop][:offset]
|
194
|
+
order.stop_percent = h[:stop][:percent]
|
194
195
|
end
|
195
196
|
|
196
197
|
order
|
data/lib/gekko/symbolize_keys.rb
CHANGED
@@ -6,13 +6,20 @@ module Gekko
|
|
6
6
|
module SymbolizeKeys
|
7
7
|
|
8
8
|
#
|
9
|
-
# Symbolizes keys of a
|
9
|
+
# Symbolizes keys of a +Hash+
|
10
10
|
#
|
11
11
|
# @param hsh [Hash] The +Hash+ for which we want to symbolize the keys
|
12
|
-
# @return [Hash] A copy of the parameter with all
|
12
|
+
# @return [Hash] A copy of the parameter with all keys symbolized
|
13
13
|
#
|
14
14
|
def symbolize_keys(hsh)
|
15
|
-
hsh.inject({})
|
15
|
+
hsh.inject({}) do |mem, obj|
|
16
|
+
val = obj[1]
|
17
|
+
val = symbolize_keys(val) if val.is_a?(Hash)
|
18
|
+
val.map! { |v| ((v.is_a?(Array) || v.is_a?(Hash)) && symbolize_keys(v)) || v } if val.is_a?(Array)
|
19
|
+
|
20
|
+
mem[obj[0].to_sym] = val
|
21
|
+
mem
|
22
|
+
end
|
16
23
|
end
|
17
24
|
|
18
25
|
end
|
data/lib/gekko/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gekko
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David FRANCOIS
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-03-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: uuidtools
|