ig_markets 0.23 → 0.24

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: 207f951a5be987c96debc33292afecc695435241
4
- data.tar.gz: ebd1837c2f2f99c7c65b9a3199d7a247cbe768d5
3
+ metadata.gz: 9cd97e6621680b09ea0d2452be0f56c97d5e22e4
4
+ data.tar.gz: 591ddf885a14506bc1740b8856933e1f49b96a78
5
5
  SHA512:
6
- metadata.gz: 775d3e912b35c17cc57deed6dd6827beb52491e5ac204c4ae68c0e4a8602db9e1175e701936285951200c9edf4beb180f2823f646f1e3364d2f1d151561bfab1
7
- data.tar.gz: 1e82cb866071f438b19fb75a60557eaefedf2eb35c64a3a72fc35c18251adc9e8ebc348f97712146a24bcf19f6399f7f14c46a30720b90e233a4cf6c01b81654
6
+ metadata.gz: 2c74e2b7aa2dfff1fed03b44ced746fdf9282a695d2a6589ebbe4c8c785c11040c6fa05ae282915e3cba127eda0acc4ccd96a144bbb727d48eb7d8bdbdc77b4d
7
+ data.tar.gz: fce219c5d359c4838b0d8d7ce1a60ffa46a41a5b70ced774443bd53267a84094db7d922eaa62e67772b63f337b1399576a81625142de35b148c390946c4d41f8
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # IG Markets Changelog
2
2
 
3
+ ### 0.24 — December 6, 2016
4
+
5
+ - Added `IGMarkets::DealConfirmation#channel` attribute which is used by the streaming API
6
+ - Update to `codeclimate-test-reporter` 1.0
7
+
3
8
  ### 0.23 — October 19, 2016
4
9
 
5
10
  - Use `Integer` instead of `Fixnum` in preparation for Ruby 2.4
@@ -6,7 +6,7 @@ module IGMarkets
6
6
 
7
7
  def self_test
8
8
  self.class.begin_session(options) do |dealing_platform|
9
- raise 'Error: self-tests must be run on a demo account' unless dealing_platform.session.platform == :demo
9
+ raise 'The self-test command must be run on a demo account' unless dealing_platform.session.platform == :demo
10
10
 
11
11
  @dealing_platform = dealing_platform
12
12
  run_self_test
@@ -26,20 +26,15 @@ module IGMarkets
26
26
 
27
27
  private
28
28
 
29
- def default_title
30
- end
29
+ def default_title; end
31
30
 
32
- def headings
33
- end
31
+ def headings; end
34
32
 
35
- def right_aligned_columns
36
- end
33
+ def right_aligned_columns; end
37
34
 
38
- def row(_model)
39
- end
35
+ def row(_model); end
40
36
 
41
- def cell_color(_value, _model, _row_index, _column_index)
42
- end
37
+ def cell_color(_value, _model, _row_index, _column_index); end
43
38
 
44
39
  def table
45
40
  Terminal::Table.new(title: @title, headings: headings, rows: rows).tap do |t|
@@ -9,6 +9,7 @@ module IGMarkets
9
9
 
10
10
  attribute :account_id
11
11
  attribute :affected_deals, AffectedDeal
12
+ attribute :channel
12
13
  attribute :date, Time, format: '%FT%T.%L'
13
14
  attribute :deal_id
14
15
  attribute :deal_reference
@@ -50,7 +50,7 @@ module IGMarkets
50
50
  CHART_TICK_DATA_REGEX = /^CHART:(.*):TICK$/
51
51
  CONSOLIDATED_CHART_DATA_REGEX = /^CHART:(.*):(SECOND|1MINUTE|5MINUTE|HOUR)$/
52
52
 
53
- def on_raw_data(subscription, item_name, item_data, new_data)
53
+ def on_raw_data(_subscription, item_name, item_data, new_data)
54
54
  {
55
55
  ACCOUNT_DATA_REGEX => :on_account_data,
56
56
  MARKET_DATA_REGEX => :on_market_data,
@@ -58,12 +58,11 @@ module IGMarkets
58
58
  CHART_TICK_DATA_REGEX => :on_chart_tick_data,
59
59
  CONSOLIDATED_CHART_DATA_REGEX => :on_consolidated_chart_data
60
60
  }.each do |regex, handler|
61
- send handler, subscription, item_name, item_data, new_data if item_name =~ regex
61
+ send handler, item_name, item_data, new_data if item_name =~ regex
62
62
  end
63
63
  end
64
64
 
65
- # Handles streaming account data.
66
- def on_account_data(_subscription, item_name, item_data, new_data)
65
+ def on_account_data(item_name, item_data, new_data)
67
66
  item_data = @dealing_platform.instantiate_models AccountUpdate, item_data
68
67
  new_data = @dealing_platform.instantiate_models AccountUpdate, new_data
69
68
 
@@ -73,8 +72,7 @@ module IGMarkets
73
72
  run_callbacks new_data, item_data
74
73
  end
75
74
 
76
- # Handles streaming market data.
77
- def on_market_data(_subscription, item_name, item_data, new_data)
75
+ def on_market_data(item_name, item_data, new_data)
78
76
  item_data = @dealing_platform.instantiate_models MarketUpdate, item_data
79
77
  new_data = @dealing_platform.instantiate_models MarketUpdate, new_data
80
78
 
@@ -84,8 +82,7 @@ module IGMarkets
84
82
  run_callbacks new_data, item_data
85
83
  end
86
84
 
87
- # Handles streaming trade data.
88
- def on_trade_data(_subscription, item_name, _item_data, new_data)
85
+ def on_trade_data(item_name, _item_data, new_data)
89
86
  account_id = item_name.match(TRADE_DATA_REGEX).captures.first
90
87
 
91
88
  { confirms: DealConfirmation, opu: PositionUpdate, wou: WorkingOrderUpdate }.each do |key, model_class|
@@ -98,8 +95,7 @@ module IGMarkets
98
95
  end
99
96
  end
100
97
 
101
- # Handles streaming chart tick data.
102
- def on_chart_tick_data(_subscription, item_name, _item_data, new_data)
98
+ def on_chart_tick_data(item_name, _item_data, new_data)
103
99
  new_data = @dealing_platform.instantiate_models ChartTickUpdate, new_data
104
100
 
105
101
  new_data.epic = item_name.match(CHART_TICK_DATA_REGEX).captures.first
@@ -107,8 +103,7 @@ module IGMarkets
107
103
  run_callbacks new_data
108
104
  end
109
105
 
110
- # Handles streaming consolidated chart data.
111
- def on_consolidated_chart_data(_subscription, item_name, item_data, new_data)
106
+ def on_consolidated_chart_data(item_name, item_data, new_data)
112
107
  item_data = @dealing_platform.instantiate_models ConsolidatedChartDataUpdate, item_data
113
108
  new_data = @dealing_platform.instantiate_models ConsolidatedChartDataUpdate, new_data
114
109
 
@@ -1,4 +1,4 @@
1
1
  module IGMarkets
2
2
  # The version of this gem.
3
- VERSION = '0.23'.freeze
3
+ VERSION = '0.24'.freeze
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ig_markets
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.23'
4
+ version: '0.24'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Viney
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-19 00:00:00.000000000 Z
11
+ date: 2016-12-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '0.6'
117
+ version: '1.0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '0.6'
124
+ version: '1.0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: factory_girl
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -198,14 +198,28 @@ dependencies:
198
198
  requirements:
199
199
  - - "~>"
200
200
  - !ruby/object:Gem::Version
201
- version: '0.44'
201
+ version: '0.46'
202
202
  type: :development
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
206
  - - "~>"
207
207
  - !ruby/object:Gem::Version
208
- version: '0.44'
208
+ version: '0.46'
209
+ - !ruby/object:Gem::Dependency
210
+ name: simplecov
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: '0.12'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: '0.12'
209
223
  - !ruby/object:Gem::Dependency
210
224
  name: yard
211
225
  requirement: !ruby/object:Gem::Requirement