Skip to content

Commit 3264179

Browse files
committed
(maint) Fix rubocop violations
1 parent 7f15b0f commit 3264179

File tree

9 files changed

+66
-68
lines changed

9 files changed

+66
-68
lines changed

server/.rubocop.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,14 @@ Style/EmptyMethod:
4242
Style/RegexpLiteral:
4343
Enabled: false
4444

45+
# Sometimes, I actually want both!
46+
Style/DateTime:
47+
Enabled: false
48+
49+
# Please don't fail at failing.
50+
Lint/UnneededDisable:
51+
Enabled: false
52+
4553
# In some cases readability is better without these cops enabled
4654
Style/ConditionalAssignment:
4755
Enabled: false

server/.rubocop_todo.yml

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1 @@
1-
# This configuration was generated by
2-
# `rubocop --auto-gen-config`
3-
# on 2017-06-16 13:39:02 -0700 using RuboCop version 0.49.1.
4-
# The point is for the user to remove these configuration records
5-
# one by one as the offenses are removed from the code base.
6-
# Note that changes in the inspected code, or installation of new
7-
# versions of RuboCop, may require this file to be generated again.
8-
9-
# Offense count: 2
10-
Lint/HandleExceptions:
11-
Exclude:
12-
- 'lib/puppet-languageserver/simple_tcp_server.rb'
13-
14-
# Offense count: 1
15-
Lint/ScriptPermission:
16-
Exclude:
17-
- 'puppet-languageserver'
1+
# Rubocop TODO file

server/lib/puppet-languageserver.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def self.parse(options)
2525
preload_puppet: true,
2626
debug: nil,
2727
fast_start_tcpserver: true,
28-
workspace: nil,
28+
workspace: nil
2929
}
3030

3131
opt_parser = OptionParser.new do |opts|

server/lib/puppet-languageserver/completion_provider.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ def self.keywords(keywords = [], &block)
8686
end
8787

8888
def self.all_facts(&block)
89-
PuppetLanguageServer::FacterHelper.facts.each do |name, _value|
89+
PuppetLanguageServer::FacterHelper.facts.each_key do |name|
9090
item = LanguageServer::CompletionItem.create('label' => name.to_s,
9191
'insertText' => "'#{name}'",
9292
'kind' => LanguageServer::COMPLETIONITEMKIND_VARIABLE,
@@ -110,7 +110,7 @@ def self.all_resources(&block)
110110

111111
def self.all_statement_functions(&block)
112112
# Find functions which don't return values i.e. statements
113-
PuppetLanguageServer::PuppetHelper.functions.select { |_key, obj| obj[:type] == :statement }.each do |key, _obj|
113+
PuppetLanguageServer::PuppetHelper.functions.select { |_key, obj| obj[:type] == :statement }.each_key do |key|
114114
item = LanguageServer::CompletionItem.create('label' => key.to_s,
115115
'kind' => LanguageServer::COMPLETIONITEMKIND_FUNCTION,
116116
'detail' => 'Function',

server/lib/puppet-languageserver/document_validator.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def self.validate(content, workspace, _max_problems = 100)
5050
next if problem[:kind] == :error && problem[:check] == :syntax
5151
# Ignore linting errors what were ignored by puppet-lint
5252
next if problem[:kind] == :ignored
53-
53+
5454
severity = case problem[:kind]
5555
when :error
5656
LanguageServer::DIAGNOSTICSEVERITY_ERROR
@@ -74,7 +74,7 @@ def self.validate(content, workspace, _max_problems = 100)
7474
end
7575
end
7676
# rubocop:disable Lint/HandleExceptions
77-
rescue => _exception
77+
rescue StandardError => _exception
7878
# If anything catastrophic happens we resort to puppet parsing anyway
7979
end
8080

@@ -87,7 +87,7 @@ def self.validate(content, workspace, _max_problems = 100)
8787
validation_environment = env
8888
validation_environment.check_for_reparse
8989
validation_environment.known_resource_types.clear
90-
rescue => detail
90+
rescue StandardError => detail
9191
# Somtimes the error is in the cause not the root object itself
9292
detail = detail.cause if !detail.respond_to?(:line) && detail.respond_to?(:cause) && detail.cause.respond_to?(:line)
9393

server/lib/puppet-languageserver/message_router.rb

Lines changed: 24 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -27,44 +27,47 @@ def self.document_uris
2727

2828
module CrashDump
2929
def self.default_crash_file
30-
File.join(Dir.tmpdir(),'puppet_language_server_crash.txt')
30+
File.join(Dir.tmpdir, 'puppet_language_server_crash.txt')
3131
end
3232

3333
def self.write_crash_file(err, filename = nil, additional = {})
3434
# Create the crash text
3535

36-
puppet_version = Puppet.version rescue 'Unknown'
37-
facter_version = Facter.version rescue 'Unknown'
38-
languageserver_version = PuppetLanguageServer.version rescue 'Unknown'
36+
puppet_version = Puppet.version rescue 'Unknown' # rubocop:disable Lint/RescueWithoutErrorClass, Style/RescueModifier
37+
facter_version = Facter.version rescue 'Unknown' # rubocop:disable Lint/RescueWithoutErrorClass, Style/RescueModifier
38+
languageserver_version = PuppetLanguageServer.version rescue 'Unknown' # rubocop:disable Lint/RescueWithoutErrorClass, Style/RescueModifier
3939

40+
# rubocop:disable Layout/IndentHeredoc
4041
crashtext = <<-TEXT
4142
Puppet Language Server Crash File
4243
-=--=--=--=--=--=--=--=--=--=--=-
43-
#{DateTime.now.strftime("%a %b %e %Y %H:%M:%S %Z")}
44+
#{DateTime.now.strftime('%a %b %e %Y %H:%M:%S %Z')}
4445
Puppet Version #{puppet_version}
4546
Facter Version #{facter_version}
4647
Ruby Version #{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}
4748
Language Server Version #{languageserver_version}
4849
49-
Error: #{err.to_s}
50+
Error: #{err}
5051
5152
Backtrace
5253
---------
53-
#{err.backtrace.join("\n") }
54+
#{err.backtrace.join("\n")}
5455
5556
TEXT
57+
# rubocop:enable Layout/IndentHeredoc
58+
5659
# Append the documents in the cache
5760
PuppetLanguageServer::DocumentStore.document_uris.each do |uri|
5861
crashtext += "Document - #{uri}\n---\n#{PuppetLanguageServer::DocumentStore.document(uri)}\n\n"
5962
end
6063
# Append additional objects from the crash
61-
additional.each do |k,v|
62-
crashtext += "#{k}\n---\n#{v.to_s}\n\n"
64+
additional.each do |k, v|
65+
crashtext += "#{k}\n---\n#{v}\n\n"
6366
end
6467

6568
crash_file = filename.nil? ? default_crash_file : filename
6669
File.open(crash_file, 'wb') { |file| file.write(crashtext) }
67-
rescue
70+
rescue # rubocop:disable Lint/RescueWithoutErrorClass, Lint/HandleExceptions
6871
# Swallow all errors. Errors in the error handler should not
6972
# terminate the application
7073
end
@@ -98,8 +101,7 @@ def receive_request(request)
98101
'facterVersion' => Facter.version,
99102
'factsLoaded' => PuppetLanguageServer::FacterHelper.facts_loaded?,
100103
'functionsLoaded' => PuppetLanguageServer::PuppetHelper.functions_loaded?,
101-
'typesLoaded' => PuppetLanguageServer::PuppetHelper.types_loaded?
102-
))
104+
'typesLoaded' => PuppetLanguageServer::PuppetHelper.types_loaded?))
103105

104106
when 'puppet/getResource'
105107
type_name = request.params['typename']
@@ -117,7 +119,7 @@ def receive_request(request)
117119
resources = [resources] unless resources.nil?
118120
end
119121
if resources.nil? || resources.length.zero?
120-
request.reply_result(LanguageServer::PuppetCompilation.create('data' => ''))
122+
request.reply_result(LanguageServer::PuppetCompilation.create('data' => ''))
121123
return
122124
end
123125
# TODO: Should probably move this to a helper?
@@ -140,11 +142,11 @@ def receive_request(request)
140142
}
141143
node_graph = PuppetLanguageServer::PuppetParserHelper.compile_to_pretty_relationship_graph(content)
142144
if node_graph.vertices.count.zero?
143-
error_content = "There were no resources created in the node graph. Is there an include statement missing?"
145+
error_content = 'There were no resources created in the node graph. Is there an include statement missing?'
144146
else
145147
dot_content = node_graph.to_dot(options)
146148
end
147-
rescue => exception
149+
rescue StandardError => exception
148150
error_content = "Error while parsing the file. #{exception}"
149151
end
150152
request.reply_result(LanguageServer::PuppetCompilation.create('dotContent' => dot_content,
@@ -157,15 +159,15 @@ def receive_request(request)
157159
content = documents.document(file_uri)
158160
begin
159161
request.reply_result(PuppetLanguageServer::CompletionProvider.complete(content, line_num, char_num))
160-
rescue => exception
162+
rescue StandardError => exception
161163
PuppetLanguageServer.log_message(:error, "(textDocument/completion) #{exception}")
162164
request.reply_result(LanguageServer::CompletionList.create_nil_response)
163165
end
164166

165167
when 'completionItem/resolve'
166168
begin
167169
request.reply_result(PuppetLanguageServer::CompletionProvider.resolve(request.params.clone))
168-
rescue => exception
170+
rescue StandardError => exception
169171
PuppetLanguageServer.log_message(:error, "(completionItem/resolve) #{exception}")
170172
# Spit back the same params if an error happens
171173
request.reply_result(request.params)
@@ -178,18 +180,15 @@ def receive_request(request)
178180
content = documents.document(file_uri)
179181
begin
180182
request.reply_result(PuppetLanguageServer::HoverProvider.resolve(content, line_num, char_num))
181-
rescue => exception
183+
rescue StandardError => exception
182184
PuppetLanguageServer.log_message(:error, "(textDocument/hover) #{exception}")
183185
request.reply_result(LanguageServer::Hover.create_nil_response)
184186
end
185187
else
186188
PuppetLanguageServer.log_message(:error, "Unknown RPC method #{request.rpc_method}")
187189
end
188-
rescue => err
189-
PuppetLanguageServer::CrashDump.write_crash_file(err, nil, {
190-
'request' => request.rpc_method,
191-
'params' => request.params,
192-
})
190+
rescue StandardError => err
191+
PuppetLanguageServer::CrashDump.write_crash_file(err, nil, 'request' => request.rpc_method, 'params' => request.params)
193192
raise
194193
end
195194

@@ -227,11 +226,8 @@ def receive_notification(method, params)
227226
else
228227
PuppetLanguageServer.log_message(:error, "Unknown RPC notification #{method}")
229228
end
230-
rescue => err
231-
PuppetLanguageServer::CrashDump.write_crash_file(err, nil, {
232-
'notification' => method,
233-
'params' => params,
234-
})
229+
rescue StandardError => err
230+
PuppetLanguageServer::CrashDump.write_crash_file(err, nil, 'notification' => method, 'params' => params)
235231
raise
236232
end
237233
end

server/lib/puppet-languageserver/puppet_helper.rb

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ module PuppetHelper
1010
@function_module = nil
1111
@types_loaded = nil
1212
@functions_loaded = nil
13-
13+
1414
def self.reset
1515
@ops_lock_types.synchronize do
1616
@ops_lock_funcs.synchronize do
@@ -142,13 +142,14 @@ def self._load_types
142142

143143
autoloader = Puppet::Util::Autoload.new(self, 'puppet/type')
144144
autoloader.files_to_load.each do |file|
145-
name = file.gsub(autoloader.path + '/','')
145+
name = file.gsub(autoloader.path + '/', '')
146+
next if autoloader.loaded?(name)
146147
begin
147148
result = autoloader.load(name)
148149
PuppetLanguageServer.log_message(:error, "[PuppetHelper::_load_types] type #{file} did not load") unless result
149150
rescue StandardError => err
150151
PuppetLanguageServer.log_message(:error, "[PuppetHelper::_load_types] Error loading type #{file}: #{err}")
151-
end unless autoloader.loaded?(name)
152+
end
152153
end
153154

154155
Puppet::Type.eachtype do |type|
@@ -172,13 +173,14 @@ def self._load_functions
172173

173174
# This is an expensive call
174175
autoloader.files_to_load.each do |file|
175-
name = file.gsub(autoloader.path + '/','')
176+
name = file.gsub(autoloader.path + '/', '')
177+
next if autoloader.loaded?(name)
176178
begin
177179
result = autoloader.load(name)
178180
PuppetLanguageServer.log_message(:error, "[PuppetHelper::_load_functions] function #{file} did not load") unless result
179181
rescue StandardError => err
180182
PuppetLanguageServer.log_message(:error, "[PuppetHelper::_load_functions] Error loading function #{file}: #{err}")
181-
end unless autoloader.loaded?(name)
183+
end
182184
end
183185

184186
@function_module = Puppet::Parser::Functions.environment_module(Puppet.lookup(:current_environment))

server/lib/puppet-languageserver/puppet_parser_helper.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ def self.object_under_cursor(content, line_num, char_num, multiple_attempts = fa
122122
# If during paring we modified the source we may need to change the cursor location
123123
begin
124124
line_offset = result.line_offsets[line_num]
125-
rescue
125+
rescue StandardError => _e
126126
line_offset = result['locator'].line_index[line_num]
127127
end
128128
# Typically we're completing after something was typed, so go back one char

server/lib/puppet-languageserver/simple_tcp_server.rb

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ def get_data(io, connection_data)
8080

8181
# We're already in a callback so no need to invoke as a callback
8282
connection_data[:handler].receive_data(data)
83-
rescue => e
83+
rescue StandardError => e
8484
# should also log error
8585
remove_connection(io)
8686
log("Closed socket due to error - #{e}\n#{e.backtrace}")
@@ -102,7 +102,8 @@ def start(handler = PuppetLanguageServer::SimpleTCPServerConnection, connection_
102102
thread_cycle = proc do
103103
begin
104104
io_review
105-
rescue
105+
rescue # rubocop:disable Lint/RescueWithoutErrorClass
106+
# Swallow all errors
106107
false
107108
end
108109
true while fire_event
@@ -122,7 +123,7 @@ def start(handler = PuppetLanguageServer::SimpleTCPServerConnection, connection_
122123

123124
# Output to STDOUT. This is required by Langugage Client so it knows the server is now running
124125
self.class.s_locker.synchronize do
125-
self.class.services.each do |_service, options|
126+
self.class.services.each_value do |options|
126127
$stdout.write("LANGUAGE SERVER RUNNING #{options[:hostname]}:#{options[:port]}\n")
127128
end
128129
end
@@ -144,7 +145,9 @@ def start(handler = PuppetLanguageServer::SimpleTCPServerConnection, connection_
144145
end
145146
end
146147
end
147-
rescue true
148+
rescue # rubocop:disable Lint/RescueWithoutErrorClass
149+
# Swallow all errors
150+
true
148151
end
149152
break if self.class.services.empty?
150153
end
@@ -233,8 +236,9 @@ def io_review
233236
if self.class.services[io]
234237
begin
235238
callback(self, :add_connection, io.accept_nonblock, self.class.services[io])
236-
rescue Errno::EWOULDBLOCK => _
237-
rescue => e
239+
rescue Errno::EWOULDBLOCK => _ # rubocop:disable Lint/HandleExceptions
240+
# There's nothing too handle. Swallow the error
241+
rescue StandardError => e
238242
log(e.message)
239243
end
240244
elsif self.class.io_connection_dic[io]
@@ -248,7 +252,8 @@ def io_review
248252
io_r[2].each do |io|
249253
begin
250254
(remove_connection(io) || self.class.services.delete(io)).close
251-
rescue
255+
rescue # rubocop:disable Lint/RescueWithoutErrorClass
256+
# Swallow all errors
252257
true
253258
end
254259
end
@@ -279,7 +284,8 @@ def stop_services
279284
self.class.services.each do |s, p|
280285
begin
281286
s.close
282-
rescue
287+
rescue # rubocop:disable Lint/RescueWithoutErrorClass
288+
# Swallow all errors
283289
true
284290
end
285291
log("Stopped listening on #{p[:hostname]}:#{p[:port]}")
@@ -299,10 +305,11 @@ def remove_connection_async(io)
299305
# @api private
300306
def stop_connections
301307
self.class.c_locker.synchronize do
302-
self.class.io_connection_dic.each do |io, _params|
308+
self.class.io_connection_dic.each_key do |io|
303309
begin
304310
io.close
305-
rescue
311+
rescue # rubocop:disable Lint/RescueWithoutErrorClass
312+
# Swallow all errors
306313
true
307314
end
308315
end
@@ -333,7 +340,8 @@ def remove_connection(io)
333340
connection_count = self.class.io_connection_dic.count
334341
begin
335342
io.close
336-
rescue
343+
rescue # rubocop:disable Lint/RescueWithoutErrorClass
344+
# Swallow all errors
337345
true
338346
end
339347
end

0 commit comments

Comments
 (0)