mcoin 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 91fde5f4e3e6f808c44d9355719f8c54f1246ef9
4
- data.tar.gz: d467d3ce1cca1805f402a55c59f16a28ab230a24
3
+ metadata.gz: 4e02e930754307c6029c989977a57bb28f4301c2
4
+ data.tar.gz: aa7664da661554e458f2d05c58746542d4c54a01
5
5
  SHA512:
6
- metadata.gz: 83c9569ebf33899094243524b65f2ca8f5f7793e40b27d3f1b4b295ee34593485b92af2a49f5f35b2edb328ad1fe5c5416ddebf022de77efc0569af116c7a314
7
- data.tar.gz: c9f2645d8d1b7126cadcade42809e0a7017334f36a09eea466362acdb72c41ae46581d720e1ed7960c01ef80b7c9b0054bb2693cd404e1cc99dc2b8448779e41
6
+ metadata.gz: c64f029e2f6c51948cad461e74fc6eb182d5ffb89a34c21e4659dd0bf61fdf112e180fed85c7a5ade85a4d467c59c7a8fb8d7a643b44e3eea21c63fe65549772
7
+ data.tar.gz: 843dfefd522eac65ee6c338aabd83a6ebe2e83bcee294b2c6ff804c46f16d8e2a48393d6b4513a66bf44dd296819999eb03968a7e8939bfba3a57ebeec4f3076
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mcoin (0.2.0)
4
+ mcoin (0.2.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -5,7 +5,7 @@ module Mcoin
5
5
  # :nodoc:
6
6
  class Ticker
7
7
  attr_reader :market, :type, :currency
8
- attr_accessor :last, :ask, :bid, :low, :high, :volume
8
+ attr_accessor :last, :ask, :bid, :low, :high, :volume, :timestamp
9
9
 
10
10
  def initialize(market, type, currency, data = {})
11
11
  @market = market
@@ -16,16 +16,26 @@ module Mcoin
16
16
  end
17
17
  end
18
18
 
19
- def to_influx(tags = {}, values = {})
20
- tags = { type: @type, currency: @currency, market: @market }.merge(tags)
19
+ def time
20
+ Time.at(timestamp.to_i).to_s
21
+ end
22
+
23
+ def to_influx
24
+ tags = { type: @type, currency: @currency, market: @market }
21
25
  values = {
22
26
  last: @last,
23
27
  ask: @ask, bid: @bid,
24
28
  low: @low, high: @high,
25
29
  volume: @volume
26
- }.merge(values)
30
+ }
27
31
  "prices,#{tags.map { |t| t.join('=') }.join(',')} " \
28
- "#{values.map { |v| v.join('=') }.join(',')}"
32
+ "#{values.map { |v| v.join('=') }.join(',')} #{influx_time}"
33
+ end
34
+
35
+ private
36
+
37
+ def influx_time
38
+ (timestamp.to_f * (10**9)).to_i.to_s
29
39
  end
30
40
  end
31
41
  end
@@ -11,6 +11,7 @@ module Mcoin
11
11
  def initialize(type, currency)
12
12
  @type = type
13
13
  @currency = currency
14
+ @retries = 0
14
15
  end
15
16
 
16
17
  def name
@@ -20,6 +21,10 @@ module Mcoin
20
21
  def fetch
21
22
  @data ||= JSON.parse(Net::HTTP.get(uri))
22
23
  self
24
+ rescue JSON::ParserError
25
+ raise if @retries >= 3
26
+ @retries += 1
27
+ retry
23
28
  end
24
29
 
25
30
  def to_ticker
@@ -14,7 +14,8 @@ module Mcoin
14
14
  last: @data['last_price'],
15
15
  ask: @data['ask'], bid: @data['bid'],
16
16
  low: @data['low'], high: @data['high'],
17
- volume: @data['volume']
17
+ volume: @data['volume'],
18
+ timestamp: @data['timestamp']
18
19
  )
19
20
  end
20
21
  end
@@ -14,7 +14,8 @@ module Mcoin
14
14
  last: @data['last'],
15
15
  ask: @data['ask'], bid: @data['bid'],
16
16
  low: @data['low'], high: @data['high'],
17
- volume: @data['volume']
17
+ volume: @data['volume'],
18
+ timestamp: @data['timestamp']
18
19
  )
19
20
  end
20
21
  end
@@ -20,7 +20,8 @@ module Mcoin
20
20
  last: @data['c'][0],
21
21
  ask: @data['a'][0], bid: @data['b'][0],
22
22
  low: @data['l'][1], high: @data['h'][1],
23
- volume: @data['v'][1]
23
+ volume: @data['v'][1],
24
+ timestamp: Time.now.to_i
24
25
  )
25
26
  end
26
27
 
@@ -50,7 +50,7 @@ module Mcoin
50
50
 
51
51
  def columns
52
52
  # TODO: Load from command
53
- %i[market currency type last ask bid]
53
+ %i[market currency type last ask bid time]
54
54
  end
55
55
  end
56
56
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Mcoin
4
- VERSION = '0.2.0'
4
+ VERSION = '0.2.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mcoin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - 蒼時弦也
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-12-07 00:00:00.000000000 Z
11
+ date: 2018-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -95,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
95
  version: '0'
96
96
  requirements: []
97
97
  rubyforge_project:
98
- rubygems_version: 2.6.11
98
+ rubygems_version: 2.6.13
99
99
  signing_key:
100
100
  specification_version: 4
101
101
  summary: The BTC market monitor tool