mcoin 0.2.0 → 0.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 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