ig_markets 0.33 → 0.34

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
  SHA256:
3
- metadata.gz: de92f7363906f7bb64fe6d258c8975cb4b506f6b029e888122038a6677911394
4
- data.tar.gz: 90abc4b017ba8b6a107917b9fdf0573f713d2330cd31e57fd6a1e0426fc2694f
3
+ metadata.gz: dfc740035b626e05da6ae9006cbfe5c2c19bab7480100a28611ee63dfa446870
4
+ data.tar.gz: f3977e9c660ab30ee5e59caeb760d63e3dd5eb55bdad1e97539932863cf93f60
5
5
  SHA512:
6
- metadata.gz: dd929726e98a24eb65e9c293e2e86348ab51db440cf878cf4e9f9778ff930de22b66ddcafc8d43b6b485a61415aa207adac9ca9dea5062af67f77ff91cda7eaa
7
- data.tar.gz: 220263722e82b7dd44c8aca7a5e1821e61481454ee997b7506599d398ea4ca65926204f1e6cb4521758865bdfdd48bbbf41f6ddb4fdc2342e2def9e07694c503
6
+ metadata.gz: 6ab801a73b512967cca3cb2adf21a5b0169e6bb3d8944ec17410aa5c731d36ca3bea74e5b8d1507b1d3167fa6922a3b3908299b5ba7544ac4bbd2ecb2446bb26
7
+ data.tar.gz: da29933a076231a83f91fce752bf11e0611e05c9cc8ad46a2f1d86c6a316567ab78504859fe0ab3af8c9ba7c465d06626f8a07e9a90e0397290d40acc47352dd
@@ -1,5 +1,12 @@
1
1
  # IG Markets Changelog
2
2
 
3
+ ### 0.34 — April 29, 2020
4
+
5
+ - Updated supported Ruby version range to 2.5 - 2.7.
6
+ - Updated dependency versions.
7
+ - Switched from Travis CI to GitHub Actions.
8
+ - Removed CodeClimate.
9
+
3
10
  ### 0.33 — December 30, 2017
4
11
 
5
12
  - Added `DealingPlatform::ClientSentimentMethods#find` for retrieving multiple client sentiments in one request
data/LICENSE.md CHANGED
@@ -1,7 +1,7 @@
1
1
  The MIT License (MIT)
2
2
  =====================
3
3
 
4
- Copyright © 2015-2017 Richard Viney
4
+ Copyright © 2015-2020 Richard Viney
5
5
 
6
6
  Permission is hereby granted, free of charge, to any person
7
7
  obtaining a copy of this software and associated documentation
data/README.md CHANGED
@@ -1,10 +1,7 @@
1
1
  # Ruby IG Markets Dealing Platform Gem
2
2
 
3
3
  [![Gem][gem-badge]][gem-link]
4
- [![Build Status][travis-ci-badge]][travis-ci-link]
5
- [![Test Coverage][test-coverage-badge]][test-coverage-link]
6
- [![Code Climate][code-climate-badge]][code-climate-link]
7
- [![Dependencies][dependencies-badge]][dependencies-link]
4
+ [![Build Status][ci-badge]][ci-link]
8
5
  [![Documentation][documentation-badge]][documentation-link]
9
6
  [![License][license-badge]][license-link]
10
7
 
@@ -268,14 +265,8 @@ Gem created by Richard Viney. All contributions welcome.
268
265
 
269
266
  [gem-link]: https://rubygems.org/gems/ig_markets
270
267
  [gem-badge]: https://badge.fury.io/rb/ig_markets.svg
271
- [travis-ci-link]: http://travis-ci.org/richard-viney/ig_markets
272
- [travis-ci-badge]: https://travis-ci.org/richard-viney/ig_markets.svg?branch=master
273
- [test-coverage-link]: https://codeclimate.com/github/richard-viney/ig_markets/coverage
274
- [test-coverage-badge]: https://codeclimate.com/github/richard-viney/ig_markets/badges/coverage.svg
275
- [code-climate-link]: https://codeclimate.com/github/richard-viney/ig_markets
276
- [code-climate-badge]: https://codeclimate.com/github/richard-viney/ig_markets/badges/gpa.svg
277
- [dependencies-link]: https://gemnasium.com/richard-viney/ig_markets
278
- [dependencies-badge]: https://gemnasium.com/richard-viney/ig_markets.svg
268
+ [ci-link]: https://github.com/richard-viney/ig_markets/actions
269
+ [ci-badge]: https://github.com/richard-viney/ig_markets/workflows/ci/badge.svg
279
270
  [documentation-link]: https://inch-ci.org/github/richard-viney/ig_markets
280
271
  [documentation-badge]: https://inch-ci.org/github/richard-viney/ig_markets.svg?branch=master
281
272
  [license-link]: https://github.com/richard-viney/ig_markets/blob/master/LICENSE.md
@@ -61,13 +61,13 @@ module IGMarkets
61
61
  profit_loss = performances.map { |h| h[:profit_loss] }.inject(:+)
62
62
  currency = performances.first[:transactions].first.currency
63
63
 
64
- puts <<-MSG
64
+ puts <<~MSG
65
65
 
66
- Note: this table only shows the profit/loss made from dealing, it does not include interest payments,
67
- dividends, or other adjustments that may have occurred over this period.
66
+ Note: this table only shows the profit/loss made from dealing, it does not include interest payments,
67
+ dividends, or other adjustments that may have occurred over this period.
68
68
 
69
- Total: #{Format.colored_currency profit_loss, currency}
70
- MSG
69
+ Total: #{Format.colored_currency profit_loss, currency}
70
+ MSG
71
71
  end
72
72
  end
73
73
  end
@@ -21,12 +21,12 @@ module IGMarkets
21
21
 
22
22
  table = Tables::HistoricalPriceResultSnapshotsTable.new result.prices, title: "Prices for #{options[:epic]}"
23
23
 
24
- puts <<-MSG
25
- #{table}
24
+ puts <<~MSG
25
+ #{table}
26
26
 
27
- Allowance: #{allowance.total_allowance}
28
- Remaining: #{allowance.remaining_allowance}
29
- MSG
27
+ Allowance: #{allowance.total_allowance}
28
+ Remaining: #{allowance.remaining_allowance}
29
+ MSG
30
30
  end
31
31
  end
32
32
 
@@ -9,7 +9,7 @@ module IGMarkets
9
9
  dealing_platform.watchlists.all.each_with_index do |watchlist, index|
10
10
  table = Tables::MarketOverviewsTable.new watchlist.markets, title: table_title(watchlist)
11
11
 
12
- puts '' if index > 0
12
+ puts '' if index.positive?
13
13
  puts table
14
14
  end
15
15
  end
@@ -13,8 +13,8 @@ module IGMarkets
13
13
  def initialize(content = {})
14
14
  @content = content || {}
15
15
 
16
- @profiles = (@content['profiles'] || {}).each_with_object({}) do |(profile_name, profile_arguments), result|
17
- result[profile_name] = profile_arguments.map do |argument, value|
16
+ @profiles = (@content['profiles'] || {}).transform_values do |profile_arguments|
17
+ profile_arguments.map do |argument, value|
18
18
  "--#{argument}=#{value}"
19
19
  end
20
20
  end
@@ -66,7 +66,7 @@ module IGMarkets
66
66
  end
67
67
  end
68
68
 
69
- COLORIZE_REGEXP = /^\e\[0(?:;(\d+);49)?m/
69
+ COLORIZE_REGEXP = /^\e\[0(?:;(\d+);49)?m/.freeze
70
70
 
71
71
  def print_next_line_segment(line)
72
72
  match = line.match COLORIZE_REGEXP
@@ -73,8 +73,8 @@ module IGMarkets
73
73
  @dealing_platform.sign_in options[:username], options[:password], options[:api_key], platform
74
74
 
75
75
  yield @dealing_platform
76
- rescue IGMarketsError => error
77
- warn_and_exit error
76
+ rescue IGMarketsError => e
77
+ warn_and_exit e
78
78
  end
79
79
 
80
80
  # Requests and displays the deal confirmation for the passed deal reference. If the request for the deal
@@ -87,14 +87,12 @@ module IGMarkets
87
87
  puts "Deal reference: #{deal_reference}"
88
88
 
89
89
  5.times do |index|
90
- begin
91
- return print_deal_confirmation @dealing_platform.deal_confirmation(deal_reference)
92
- rescue Errors::DealNotFoundError
93
- raise if index == 4
90
+ return print_deal_confirmation @dealing_platform.deal_confirmation(deal_reference)
91
+ rescue Errors::DealNotFoundError
92
+ raise if index == 4
94
93
 
95
- puts 'Deal not found, retrying ...'
96
- sleep 2
97
- end
94
+ puts 'Deal not found, retrying ...'
95
+ sleep 2
98
96
  end
99
97
  end
100
98
 
@@ -159,11 +157,11 @@ module IGMarkets
159
157
 
160
158
  # Prints out details of the passed deal confirmation.
161
159
  def print_deal_confirmation(deal_confirmation)
162
- puts <<-MSG
163
- Deal ID: #{deal_confirmation.deal_id}
164
- Status: #{Format.symbol deal_confirmation.deal_status}
165
- Result: #{Format.symbol deal_confirmation.status}
166
- MSG
160
+ puts <<~MSG
161
+ Deal ID: #{deal_confirmation.deal_id}
162
+ Status: #{Format.symbol deal_confirmation.deal_status}
163
+ Result: #{Format.symbol deal_confirmation.status}
164
+ MSG
167
165
 
168
166
  print_deal_confirmation_profit_loss deal_confirmation
169
167
 
@@ -33,7 +33,7 @@ module IGMarkets
33
33
  def cell_color(value, _model, _row_index, column_index)
34
34
  return unless headings[column_index] == 'Profit/loss'
35
35
 
36
- if value =~ /-/
36
+ if /-/.match?(value)
37
37
  :red
38
38
  else
39
39
  :green
@@ -24,9 +24,9 @@ module IGMarkets
24
24
  end
25
25
 
26
26
  def cell_color(value, _model, _row_index, column_index)
27
- return unless headings[column_index] =~ /Change/
27
+ return unless /Change/.match?(headings[column_index])
28
28
 
29
- if value =~ /-/
29
+ if /-/.match?(value)
30
30
  :red
31
31
  else
32
32
  :green
@@ -27,7 +27,7 @@ module IGMarkets
27
27
  def cell_color(value, _transaction, _row_index, column_index)
28
28
  return unless headings[column_index] == 'Profit/loss'
29
29
 
30
- if value =~ /-/
30
+ if /-/.match?(value)
31
31
  :red
32
32
  else
33
33
  :green
@@ -33,7 +33,7 @@ module IGMarkets
33
33
  def cell_color(value, _model, _row_index, column_index)
34
34
  return unless headings[column_index] == 'Profit/loss'
35
35
 
36
- if value =~ /-/
36
+ if /-/.match?(value)
37
37
  :red
38
38
  else
39
39
  :green
@@ -27,7 +27,7 @@ module IGMarkets
27
27
  def cell_color(value, _transaction, _row_index, column_index)
28
28
  return unless headings[column_index] == 'Profit/loss'
29
29
 
30
- if value =~ /-/
30
+ if /-/.match?(value)
31
31
  :red
32
32
  else
33
33
  :green
@@ -211,7 +211,7 @@ module IGMarkets
211
211
  model.send "#{attribute}=", value
212
212
  else
213
213
  unless Array(@reported_unrecognized_values).include? [model.class, attribute, value]
214
- warn "ig_markets: received unrecognized value for #{model.class}##{attribute}: #{value}"
214
+ warn "ig_markets: received unrecognized value for #{model.class.name}##{attribute}: #{value}"
215
215
  (@reported_unrecognized_values ||= []) << [model.class, attribute, value]
216
216
  end
217
217
  end
@@ -34,7 +34,7 @@ module IGMarkets
34
34
  return [] if epics.empty?
35
35
 
36
36
  epics.each do |epic|
37
- raise ArgumentError, "invalid EPIC: #{epic}" unless epic.to_s =~ Regex::EPIC
37
+ raise ArgumentError, "invalid EPIC: #{epic}" unless Regex::EPIC.match?(epic.to_s)
38
38
  end
39
39
 
40
40
  # The API imposes a maximum of 50 EPICs per request
@@ -12,7 +12,7 @@ module IGMarkets
12
12
 
13
13
  # Connects the streaming session. Raises a `Lightstreamer::LightstreamerError` if an error occurs.
14
14
  def connect
15
- @lightstreamer.disconnect if @lightstreamer
15
+ @lightstreamer&.disconnect
16
16
 
17
17
  @lightstreamer = Lightstreamer::Session.new username: username, password: password, server_url: server_url
18
18
  @lightstreamer.on_error { |error| @on_error_callbacks.each { |callback| callback.call error } }
@@ -21,7 +21,7 @@ module IGMarkets
21
21
 
22
22
  # Disconnects the streaming session.
23
23
  def disconnect
24
- @lightstreamer.disconnect if @lightstreamer
24
+ @lightstreamer&.disconnect
25
25
  @lightstreamer = nil
26
26
  end
27
27
 
@@ -43,7 +43,7 @@ module IGMarkets
43
43
  def colored_currency(amount, currency_name)
44
44
  return '' unless amount
45
45
 
46
- color = amount < 0 ? :red : :green
46
+ color = amount.negative? ? :red : :green
47
47
 
48
48
  ColorizedString[currency(amount, currency_name)].colorize color
49
49
  end
@@ -47,12 +47,12 @@ module IGMarkets
47
47
  #
48
48
  # @return [Hash]
49
49
  def to_h
50
- attributes.each_with_object({}) do |(key, value), hash|
51
- hash[key] = if value.is_a? Model
52
- value.to_h
53
- else
54
- value
55
- end
50
+ attributes.transform_values do |value|
51
+ if value.is_a? Model
52
+ value.to_h
53
+ else
54
+ value
55
+ end
56
56
  end
57
57
  end
58
58
 
@@ -113,7 +113,7 @@ module IGMarkets
113
113
  return true if defined_attribute_names.include?(name) || Array(deprecated_attributes).include?(name)
114
114
 
115
115
  unless Array(@reported_invalid_attributes).include? name
116
- warn "ig_markets: unrecognized attribute #{self}##{name}"
116
+ warn "ig_markets: unrecognized attribute #{self.name}##{name}"
117
117
  (@reported_invalid_attributes ||= []) << name
118
118
  end
119
119
 
@@ -202,7 +202,7 @@ module IGMarkets
202
202
  value = self.class.send "sanitize_#{name}_value", value
203
203
 
204
204
  unless self.class.attribute_value_allowed? name, value
205
- raise ArgumentError, "#{self.class}##{name}: invalid value: #{value.inspect}"
205
+ raise ArgumentError, "#{self.class.name}##{name}: invalid value: #{value.inspect}"
206
206
  end
207
207
 
208
208
  (@attributes ||= {})[name] = value
@@ -10,7 +10,7 @@ module IGMarkets
10
10
  elsif type
11
11
  lambda do |value, _options, name|
12
12
  if Array(value).any? { |entry| !entry.is_a? type }
13
- raise ArgumentError, "incorrect type set on #{self}##{name}: #{value.inspect}"
13
+ raise ArgumentError, "incorrect type set on #{self.name}##{name}: #{value.inspect}"
14
14
  end
15
15
 
16
16
  value
@@ -22,14 +22,14 @@ module IGMarkets
22
22
  return value if [nil, true, false].include? value
23
23
  return value == '1' if %w[0 1].include? value
24
24
 
25
- raise ArgumentError, "#{self}##{name}: invalid boolean value: #{value}"
25
+ raise ArgumentError, "#{self.name}##{name}: invalid boolean value: #{value}"
26
26
  end
27
27
 
28
28
  def typecaster_string(value, options, name)
29
29
  return nil if value.nil?
30
30
 
31
31
  if options.key?(:regex) && !options[:regex].match(value.to_s)
32
- raise ArgumentError, "#{self}##{name}: invalid string value: #{value}"
32
+ raise ArgumentError, "#{self.name}##{name}: invalid string value: #{value}"
33
33
  end
34
34
 
35
35
  value.to_s
@@ -46,7 +46,7 @@ module IGMarkets
46
46
 
47
47
  Float(value)
48
48
  rescue ArgumentError
49
- raise ArgumentError, "#{self}##{name}: invalid float value: #{value}"
49
+ raise ArgumentError, "#{self.name}##{name}: invalid float value: #{value}"
50
50
  end
51
51
 
52
52
  def typecaster_symbol(value, _options, _name)
@@ -65,14 +65,12 @@ module IGMarkets
65
65
 
66
66
  def parse_formatted_date_value(value, options, name)
67
67
  Array(options[:format]).each do |format|
68
- begin
69
- return Date.strptime value, format
70
- rescue ArgumentError
71
- next
72
- end
68
+ return Date.strptime value, format
69
+ rescue ArgumentError
70
+ next
73
71
  end
74
72
 
75
- raise ArgumentError, "#{self}##{name}: failed parsing date: #{value}"
73
+ raise ArgumentError, "#{self.name}##{name}: failed parsing date: #{value}"
76
74
  end
77
75
 
78
76
  def typecaster_time(value, options, name)
@@ -85,14 +83,12 @@ module IGMarkets
85
83
 
86
84
  def parse_formatted_time_value(value, options, name)
87
85
  Array(options[:format]).each do |format|
88
- begin
89
- return parse_time_using_format value, format
90
- rescue ArgumentError
91
- next
92
- end
86
+ return parse_time_using_format value, format
87
+ rescue ArgumentError
88
+ next
93
89
  end
94
90
 
95
- raise ArgumentError, "#{self}##{name}: failed parsing time: #{value}"
91
+ raise ArgumentError, "#{self.name}##{name}: failed parsing time: #{value}"
96
92
  end
97
93
 
98
94
  def parse_time_using_format(value, format)
@@ -4,9 +4,9 @@ module IGMarkets
4
4
  # @private
5
5
  module Regex
6
6
  # Regex used to validate an ISO currency code.
7
- CURRENCY = /\A[A-Z]{3}\Z/
7
+ CURRENCY = /\A[A-Z]{3}\Z/.freeze
8
8
 
9
9
  # Regex used to validate an EPIC.
10
- EPIC = /\A[A-Z,a-z,0-9,.,_]{6,30}\Z/
10
+ EPIC = /\A[A-Z,a-z,0-9,.,_]{6,30}\Z/.freeze
11
11
  end
12
12
  end
@@ -148,8 +148,8 @@ module IGMarkets
148
148
  write_to_log_sinks { RequestFormatter.format_response response }
149
149
 
150
150
  process_response response, options
151
- rescue Excon::Error => error
152
- raise Errors::ConnectionError, error.message
151
+ rescue Excon::Error => e
152
+ raise Errors::ConnectionError, e.message
153
153
  end
154
154
 
155
155
  def write_to_log_sinks
@@ -44,11 +44,11 @@ module IGMarkets
44
44
 
45
45
  private
46
46
 
47
- ACCOUNT_DATA_REGEX = /^ACCOUNT:(.*)$/
48
- MARKET_DATA_REGEX = /^MARKET:(.*)$/
49
- TRADE_DATA_REGEX = /^TRADE:(.*)$/
50
- CHART_TICK_DATA_REGEX = /^CHART:(.*):TICK$/
51
- CONSOLIDATED_CHART_DATA_REGEX = /^CHART:(.*):(SECOND|1MINUTE|5MINUTE|HOUR)$/
47
+ ACCOUNT_DATA_REGEX = /^ACCOUNT:(.*)$/.freeze
48
+ MARKET_DATA_REGEX = /^MARKET:(.*)$/.freeze
49
+ TRADE_DATA_REGEX = /^TRADE:(.*)$/.freeze
50
+ CHART_TICK_DATA_REGEX = /^CHART:(.*):TICK$/.freeze
51
+ CONSOLIDATED_CHART_DATA_REGEX = /^CHART:(.*):(SECOND|1MINUTE|5MINUTE|HOUR)$/.freeze
52
52
 
53
53
  def on_raw_data(_subscription, item_name, item_data, new_data)
54
54
  {
@@ -58,7 +58,7 @@ 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, item_name, item_data, new_data if item_name =~ regex
61
+ send handler, item_name, item_data, new_data if item_name&.match?(regex)
62
62
  end
63
63
  end
64
64
 
@@ -1,4 +1,4 @@
1
1
  module IGMarkets
2
2
  # The version of this gem.
3
- VERSION = '0.33'.freeze
3
+ VERSION = '0.34'.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.33'
4
+ version: '0.34'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Viney
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-30 00:00:00.000000000 Z
11
+ date: 2020-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -30,42 +30,42 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.51'
33
+ version: '0.73'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.51'
40
+ version: '0.73'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: lightstreamer
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.14'
47
+ version: '0.16'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0.14'
54
+ version: '0.16'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: pry
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0.10'
61
+ version: '0.13'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0.10'
68
+ version: '0.13'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: terminal-table
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -82,26 +82,12 @@ dependencies:
82
82
  version: '1.6'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: thor
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '0.19'
90
- type: :runtime
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '0.19'
97
- - !ruby/object:Gem::Dependency
98
- name: codeclimate-test-reporter
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
87
  - - "~>"
102
88
  - !ruby/object:Gem::Version
103
89
  version: '1.0'
104
- type: :development
90
+ type: :runtime
105
91
  prerelease: false
106
92
  version_requirements: !ruby/object:Gem::Requirement
107
93
  requirements:
@@ -114,28 +100,28 @@ dependencies:
114
100
  requirements:
115
101
  - - "~>"
116
102
  - !ruby/object:Gem::Version
117
- version: '4.8'
103
+ version: '5.0'
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
107
  requirements:
122
108
  - - "~>"
123
109
  - !ruby/object:Gem::Version
124
- version: '4.8'
110
+ version: '5.0'
125
111
  - !ruby/object:Gem::Dependency
126
112
  name: github-markup
127
113
  requirement: !ruby/object:Gem::Requirement
128
114
  requirements:
129
115
  - - "~>"
130
116
  - !ruby/object:Gem::Version
131
- version: '1.4'
117
+ version: '3.0'
132
118
  type: :development
133
119
  prerelease: false
134
120
  version_requirements: !ruby/object:Gem::Requirement
135
121
  requirements:
136
122
  - - "~>"
137
123
  - !ruby/object:Gem::Version
138
- version: '1.4'
124
+ version: '3.0'
139
125
  - !ruby/object:Gem::Dependency
140
126
  name: redcarpet
141
127
  requirement: !ruby/object:Gem::Requirement
@@ -184,42 +170,56 @@ dependencies:
184
170
  requirements:
185
171
  - - "~>"
186
172
  - !ruby/object:Gem::Version
187
- version: 0.52.1
173
+ version: '0.82'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '0.82'
181
+ - !ruby/object:Gem::Dependency
182
+ name: rubocop-performance
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '1.4'
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
- version: 0.52.1
194
+ version: '1.4'
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: rubocop-rspec
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
199
  - - "~>"
200
200
  - !ruby/object:Gem::Version
201
- version: '1.21'
201
+ version: '1.35'
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: '1.21'
208
+ version: '1.35'
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: simplecov
211
211
  requirement: !ruby/object:Gem::Requirement
212
212
  requirements:
213
213
  - - "~>"
214
214
  - !ruby/object:Gem::Version
215
- version: '0.12'
215
+ version: '0.18'
216
216
  type: :development
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - "~>"
221
221
  - !ruby/object:Gem::Version
222
- version: '0.12'
222
+ version: '0.18'
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: yard
225
225
  requirement: !ruby/object:Gem::Requirement
@@ -339,15 +339,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
339
339
  requirements:
340
340
  - - ">="
341
341
  - !ruby/object:Gem::Version
342
- version: 2.2.2
342
+ version: '2.5'
343
343
  required_rubygems_version: !ruby/object:Gem::Requirement
344
344
  requirements:
345
345
  - - ">="
346
346
  - !ruby/object:Gem::Version
347
347
  version: '0'
348
348
  requirements: []
349
- rubyforge_project:
350
- rubygems_version: 2.7.3
349
+ rubygems_version: 3.0.3
351
350
  signing_key:
352
351
  specification_version: 4
353
352
  summary: Library and command-line client for accessing the IG Markets dealing platform.