ig_markets 0.33 → 0.34

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
  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.