Skip to content

Commit 4e047db

Browse files
committed
Avoid need for special VOID return
1 parent 77dc960 commit 4e047db

File tree

1 file changed

+11
-16
lines changed

1 file changed

+11
-16
lines changed

lib/ruby_lsp/ruby_lsp_rails/server.rb

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
module RubyLsp
1010
module Rails
1111
class Server
12-
VOID = Object.new
13-
1412
def initialize
1513
# Grab references to the original pipes so that we can change the default output device further down
1614
@stdin = $stdin
@@ -44,39 +42,36 @@ def start
4442
json = @stdin.read(headers[/Content-Length: (\d+)/i, 1].to_i)
4543

4644
request = JSON.parse(json, symbolize_names: true)
47-
response = execute(request.fetch(:method), request[:params])
48-
next if response == VOID
49-
50-
json_response = response.to_json
51-
@stdout.write("Content-Length: #{json_response.length}\r\n\r\n#{json_response}")
45+
execute(request.fetch(:method), request[:params])
5246
end
5347
end
5448

5549
def execute(request, params)
5650
case request
5751
when "shutdown"
5852
@running = false
59-
VOID
6053
when "model"
61-
resolve_database_info_from_model(params.fetch(:name))
54+
write_response(resolve_database_info_from_model(params.fetch(:name)))
6255
when "association_target_location"
63-
resolve_association_target(params)
56+
write_response(resolve_association_target(params))
6457
when "reload"
6558
::Rails.application.reloader.reload!
66-
VOID
6759
when "route_location"
68-
route_location(params.fetch(:name))
60+
write_response(route_location(params.fetch(:name)))
6961
when "route_info"
70-
resolve_route_info(params)
71-
else
72-
VOID
62+
write_response(resolve_route_info(params))
7363
end
7464
rescue => e
75-
{ error: e.full_message(highlight: false) }
65+
write_response({ error: e.full_message(highlight: false) })
7666
end
7767

7868
private
7969

70+
def write_response(response)
71+
json_response = response.to_json
72+
@stdout.write("Content-Length: #{json_response.length}\r\n\r\n#{json_response}")
73+
end
74+
8075
def resolve_route_info(requirements)
8176
if requirements[:controller]
8277
requirements[:controller] = requirements.fetch(:controller).underscore.delete_suffix("_controller")

0 commit comments

Comments
 (0)