Skip to content

Commit ce23014

Browse files
committed
[rb] require Ruby 2.7+ and update rubocop accordingly
1 parent 4351624 commit ce23014

39 files changed

Lines changed: 147 additions & 160 deletions

.github/workflows/ci-ruby.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
java-version: 11
3939
- uses: ruby/setup-ruby@v1
4040
with:
41-
ruby-version: 2.6
41+
ruby-version: 2.7
4242
- uses: actions/cache@v2
4343
with:
4444
path: |
@@ -67,7 +67,7 @@ jobs:
6767
java-version: 11
6868
- uses: ruby/setup-ruby@v1
6969
with:
70-
ruby-version: 2.6
70+
ruby-version: 2.7
7171
- uses: actions/cache@v2
7272
with:
7373
path: |
@@ -100,7 +100,7 @@ jobs:
100100
java-version: 11
101101
- uses: ruby/setup-ruby@v1
102102
with:
103-
ruby-version: 2.6
103+
ruby-version: 2.7
104104
- uses: actions/cache@v2
105105
with:
106106
path: |
@@ -129,7 +129,7 @@ jobs:
129129
- uses: actions/checkout@v2
130130
- uses: ruby/setup-ruby@v1
131131
with:
132-
ruby-version: 2.6
132+
ruby-version: 2.7
133133
- uses: actions/cache@v2
134134
with:
135135
path: |
@@ -151,7 +151,7 @@ jobs:
151151
- uses: actions/checkout@v2
152152
- uses: ruby/setup-ruby@v1
153153
with:
154-
ruby-version: 2.6
154+
ruby-version: 2.7
155155
- uses: actions/cache@v2
156156
with:
157157
path: |
@@ -172,7 +172,7 @@ jobs:
172172
strategy:
173173
fail-fast: false
174174
matrix:
175-
ruby: [ '2.6', 'jruby-9.3.0.0' ]
175+
ruby: [ '2.7', '3.1' ]
176176
steps:
177177
- uses: actions/checkout@v2
178178
- uses: ruby/setup-ruby@v1

rb/.rubocop.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@ require:
33
- rubocop-rspec
44

55
AllCops:
6-
TargetRubyVersion: 2.6
6+
TargetRubyVersion: 2.7
77
Exclude:
88
- 'lib/selenium/devtools/**/*'
9+
NewCops: enable
910

1011
Layout/EmptyLinesAroundAttributeAccessor:
1112
Enabled: true
@@ -186,3 +187,6 @@ Style/StringLiterals:
186187
Style/SignalException:
187188
Exclude:
188189
- 'spec/integration/selenium/webdriver/guard_spec.rb'
190+
191+
RSpec/BeEq:
192+
Enabled: false

rb/lib/selenium/server.rb

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -113,13 +113,11 @@ def latest
113113
# @api private
114114

115115
def available_assets
116-
@available_assets ||= begin
117-
net_http_start('api.github.com') do |http|
118-
json = http.get('/repos/seleniumhq/selenium/releases').body
119-
all_assets = JSON.parse(json).map { |release| release['assets'] }.flatten
120-
server_assets = all_assets.select { |asset| asset['name'].match(/selenium-server-(\d+\.\d+\.\d+)\.jar/) }
121-
server_assets.each_with_object({}) { |asset, hash| hash[asset.delete('name')] = asset }
122-
end
116+
@available_assets ||= net_http_start('api.github.com') do |http|
117+
json = http.get('/repos/seleniumhq/selenium/releases').body
118+
all_assets = JSON.parse(json).map { |release| release['assets'] }.flatten
119+
server_assets = all_assets.select { |asset| asset['name'].match(/selenium-server-(\d+\.\d+\.\d+)\.jar/) }
120+
server_assets.each_with_object({}) { |asset, hash| hash[asset.delete('name')] = asset }
123121
end
124122
end
125123

rb/lib/selenium/webdriver/bidi.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def session
3939
end
4040

4141
def send_cmd(method, **params)
42-
data = {method: method, params: params.reject { |_, v| v.nil? }}
42+
data = {method: method, params: params.compact}
4343
message = @ws.send_cmd(**data)
4444
raise Error::WebDriverError, error_message(message) if message['error']
4545

rb/lib/selenium/webdriver/chrome/options.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ def initialize(profile: nil, **opts)
8787
@logging_prefs = options.delete(:logging_prefs) || {}
8888
@encoded_extensions = @options.delete(:encoded_extensions) || []
8989
@extensions = []
90-
(@options.delete(:extensions)).each(&method(:validate_extension))
90+
@options.delete(:extensions).each { |ext| validate_extension(ext) }
9191
end
9292

9393
#
@@ -116,7 +116,7 @@ def add_extension(path)
116116
#
117117

118118
def extensions=(extensions)
119-
extensions.each(&method(:validate_extension))
119+
extensions.each { |ext| validate_extension(ext) }
120120
end
121121

122122
#
@@ -234,7 +234,7 @@ def process_browser_options(browser_options)
234234

235235
return if (@encoded_extensions + @extensions).empty?
236236

237-
options['extensions'] = @encoded_extensions + @extensions.map(&method(:encode_extension))
237+
options['extensions'] = @encoded_extensions + @extensions.map { |ext| encode_extension(ext) }
238238
end
239239

240240
def binary_path

rb/lib/selenium/webdriver/common/action_builder.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ def pauses(deprecated_device = nil, deprecated_number = nil, deprecated_duration
234234
#
235235

236236
def perform
237-
@bridge.send_actions @devices.map(&:encode).compact
237+
@bridge.send_actions @devices.filter_map(&:encode)
238238
clear_all_actions
239239
nil
240240
end

rb/lib/selenium/webdriver/common/driver_extensions/has_log_events.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ def log_mutation_events
114114
execute_script(mutation_listener)
115115
devtools.page.add_script_to_evaluate_on_new_document(source: mutation_listener)
116116

117-
devtools.runtime.on(:binding_called, &method(:log_mutation_event))
117+
devtools.runtime.on(:binding_called) { |event| log_mutation_event(event) }
118118
end
119119

120120
def log_mutation_event(params)

rb/lib/selenium/webdriver/common/error.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ module Error
2929
def self.for_error(error)
3030
return if error.nil?
3131

32-
klass_name = error.split(' ').map(&:capitalize).join.sub(/Error$/, '')
32+
klass_name = error.split.map(&:capitalize).join.sub(/Error$/, '')
3333
const_get("#{klass_name}Error", false)
3434
rescue NameError
3535
WebDriverError

rb/lib/selenium/webdriver/common/platform.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ def wsl?
104104
end
105105

106106
def cygwin?
107-
RUBY_PLATFORM =~ /cygwin/
107+
RUBY_PLATFORM.include?('cygwin')
108108
!Regexp.last_match.nil?
109109
end
110110

rb/lib/selenium/webdriver/common/service_manager.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def initialize(config)
4949
def start
5050
raise "already started: #{uri.inspect} #{@executable_path.inspect}" if process_running?
5151

52-
Platform.exit_hook(&method(:stop)) # make sure we don't leave the server running
52+
Platform.exit_hook { stop } # make sure we don't leave the server running
5353

5454
socket_lock.locked do
5555
find_free_port

0 commit comments

Comments
 (0)