Skip to content

Commit 4d8bcd3

Browse files
committed
Only require parts of Rails actually needed
In our app we don't need Action Cable/Text/Mailbox etc and we don't want to pull it in for this gem.
1 parent 35342f9 commit 4d8bcd3

File tree

10 files changed

+19
-126
lines changed

10 files changed

+19
-126
lines changed

Gemfile.lock

Lines changed: 4 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -2,73 +2,33 @@ PATH
22
remote: .
33
specs:
44
ruby-lsp-rails (0.1.0)
5-
rails (>= 6.0)
5+
actionpack (>= 6.0)
6+
activerecord (>= 6.0)
7+
railties (>= 6.0)
68
ruby-lsp (~> 0.4.5)
79
sorbet-runtime (>= 0.5.9897)
810

911
GEM
1012
remote: https://rubygems.org/
1113
specs:
12-
actioncable (7.0.4.3)
13-
actionpack (= 7.0.4.3)
14-
activesupport (= 7.0.4.3)
15-
nio4r (~> 2.0)
16-
websocket-driver (>= 0.6.1)
17-
actionmailbox (7.0.4.3)
18-
actionpack (= 7.0.4.3)
19-
activejob (= 7.0.4.3)
20-
activerecord (= 7.0.4.3)
21-
activestorage (= 7.0.4.3)
22-
activesupport (= 7.0.4.3)
23-
mail (>= 2.7.1)
24-
net-imap
25-
net-pop
26-
net-smtp
27-
actionmailer (7.0.4.3)
28-
actionpack (= 7.0.4.3)
29-
actionview (= 7.0.4.3)
30-
activejob (= 7.0.4.3)
31-
activesupport (= 7.0.4.3)
32-
mail (~> 2.5, >= 2.5.4)
33-
net-imap
34-
net-pop
35-
net-smtp
36-
rails-dom-testing (~> 2.0)
3714
actionpack (7.0.4.3)
3815
actionview (= 7.0.4.3)
3916
activesupport (= 7.0.4.3)
4017
rack (~> 2.0, >= 2.2.0)
4118
rack-test (>= 0.6.3)
4219
rails-dom-testing (~> 2.0)
4320
rails-html-sanitizer (~> 1.0, >= 1.2.0)
44-
actiontext (7.0.4.3)
45-
actionpack (= 7.0.4.3)
46-
activerecord (= 7.0.4.3)
47-
activestorage (= 7.0.4.3)
48-
activesupport (= 7.0.4.3)
49-
globalid (>= 0.6.0)
50-
nokogiri (>= 1.8.5)
5121
actionview (7.0.4.3)
5222
activesupport (= 7.0.4.3)
5323
builder (~> 3.1)
5424
erubi (~> 1.4)
5525
rails-dom-testing (~> 2.0)
5626
rails-html-sanitizer (~> 1.1, >= 1.2.0)
57-
activejob (7.0.4.3)
58-
activesupport (= 7.0.4.3)
59-
globalid (>= 0.3.6)
6027
activemodel (7.0.4.3)
6128
activesupport (= 7.0.4.3)
6229
activerecord (7.0.4.3)
6330
activemodel (= 7.0.4.3)
6431
activesupport (= 7.0.4.3)
65-
activestorage (7.0.4.3)
66-
actionpack (= 7.0.4.3)
67-
activejob (= 7.0.4.3)
68-
activerecord (= 7.0.4.3)
69-
activesupport (= 7.0.4.3)
70-
marcel (~> 1.0)
71-
mini_mime (>= 1.1.0)
7232
activesupport (7.0.4.3)
7333
concurrent-ruby (~> 1.0, >= 1.0.2)
7434
i18n (>= 1.6, < 2)
@@ -78,14 +38,11 @@ GEM
7838
builder (3.2.4)
7939
concurrent-ruby (1.2.2)
8040
crass (1.0.6)
81-
date (3.3.3)
8241
debug (1.7.2)
8342
irb (>= 1.5.0)
8443
reline (>= 0.3.1)
8544
diff-lcs (1.5.0)
8645
erubi (1.12.0)
87-
globalid (1.1.0)
88-
activesupport (>= 5.0)
8946
i18n (1.12.0)
9047
concurrent-ruby (~> 1.0)
9148
io-console (0.6.0)
@@ -96,26 +53,10 @@ GEM
9653
loofah (2.20.0)
9754
crass (~> 1.0.2)
9855
nokogiri (>= 1.5.9)
99-
mail (2.8.1)
100-
mini_mime (>= 0.1.1)
101-
net-imap
102-
net-pop
103-
net-smtp
104-
marcel (1.0.2)
10556
method_source (1.0.0)
106-
mini_mime (1.1.2)
10757
minitest (5.18.0)
10858
mocha (2.0.2)
10959
ruby2_keywords (>= 0.0.5)
110-
net-imap (0.3.4)
111-
date
112-
net-protocol
113-
net-pop (0.1.2)
114-
net-protocol
115-
net-protocol (0.2.1)
116-
timeout
117-
net-smtp (0.3.3)
118-
net-protocol
11960
netrc (0.11.0)
12061
nio4r (2.5.9)
12162
nokogiri (1.14.3-arm64-darwin)
@@ -132,20 +73,6 @@ GEM
13273
rack (2.2.6.4)
13374
rack-test (2.1.0)
13475
rack (>= 1.3)
135-
rails (7.0.4.3)
136-
actioncable (= 7.0.4.3)
137-
actionmailbox (= 7.0.4.3)
138-
actionmailer (= 7.0.4.3)
139-
actionpack (= 7.0.4.3)
140-
actiontext (= 7.0.4.3)
141-
actionview (= 7.0.4.3)
142-
activejob (= 7.0.4.3)
143-
activemodel (= 7.0.4.3)
144-
activerecord (= 7.0.4.3)
145-
activestorage (= 7.0.4.3)
146-
activesupport (= 7.0.4.3)
147-
bundler (>= 1.15.0)
148-
railties (= 7.0.4.3)
14976
rails-dom-testing (2.0.3)
15077
activesupport (>= 4.2.0)
15178
nokogiri (>= 1.6)
@@ -222,21 +149,17 @@ GEM
222149
thor (>= 1.2.0)
223150
yard-sorbet
224151
thor (1.2.1)
225-
timeout (0.3.2)
226152
tzinfo (2.0.6)
227153
concurrent-ruby (~> 1.0)
228154
unicode-display_width (2.4.2)
229155
unparser (0.6.7)
230156
diff-lcs (~> 1.3)
231157
parser (>= 3.2.0)
232-
websocket-driver (0.7.5)
233-
websocket-extensions (>= 0.1.0)
234-
websocket-extensions (0.1.5)
235158
yard (0.9.34)
236159
yard-sorbet (0.8.1)
237160
sorbet-runtime (>= 0.5)
238161
yard (>= 0.9)
239-
zeitwerk (2.6.7)
162+
zeitwerk (2.6.8)
240163

241164
PLATFORMS
242165
arm64-darwin-21

bin/rails

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,4 @@ APP_PATH = File.expand_path("../test/dummy/config/application", __dir__)
1111
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
1212
require "bundler/setup" if File.exist?(ENV["BUNDLE_GEMFILE"])
1313

14-
require "rails/all"
1514
require "rails/engine/commands"

ruby-lsp-rails.gemspec

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ Gem::Specification.new do |spec|
2121
Dir["{app,config,db,lib}/**/*", "LICENSE.txt", "Rakefile", "README.md"]
2222
end
2323

24-
spec.add_dependency("rails", ">= 6.0")
24+
spec.add_dependency("actionpack", ">= 6.0")
25+
spec.add_dependency("activerecord", ">= 6.0")
26+
spec.add_dependency("railties", ">= 6.0")
2527
spec.add_dependency("ruby-lsp", "~> 0.4.5")
2628
spec.add_dependency("sorbet-runtime", ">= 0.5.9897")
2729
end

test/dummy/app/channels/application_cable/channel.rb

Lines changed: 0 additions & 7 deletions
This file was deleted.

test/dummy/app/channels/application_cable/connection.rb

Lines changed: 0 additions & 7 deletions
This file was deleted.

test/dummy/app/jobs/application_job.rb

Lines changed: 0 additions & 10 deletions
This file was deleted.

test/dummy/app/mailers/application_mailer.rb

Lines changed: 0 additions & 7 deletions
This file was deleted.

test/dummy/config/application.rb

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,17 @@
33

44
require_relative "boot"
55

6-
require "rails/all"
6+
require "active_model/railtie"
7+
# require "active_job/railtie"
8+
require "active_record/railtie"
9+
# require "active_storage/engine"
10+
require "action_controller/railtie"
11+
# require "action_mailer/railtie"
12+
# require "action_mailbox/engine"
13+
# require "action_text/engine"
14+
require "action_view/railtie"
15+
# require "action_cable/engine"
16+
require "rails/test_unit/railtie"
717

818
# Require the gems listed in Gemfile, including any gems
919
# you've limited to :test, :development, or :production.

test/dummy/config/environments/test.rb

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,6 @@
3636
# Disable request forgery protection in test environment.
3737
config.action_controller.allow_forgery_protection = false
3838

39-
# Store uploaded files on the local file system in a temporary directory.
40-
config.active_storage.service = :test
41-
42-
config.action_mailer.perform_caching = false
43-
44-
# Tell Action Mailer not to deliver emails to the real world.
45-
# The :test delivery method accumulates sent emails in the
46-
# ActionMailer::Base.deliveries array.
47-
config.action_mailer.delivery_method = :test
48-
4939
# Print deprecation notices to the stderr.
5040
config.active_support.deprecation = :stderr
5141

test/ruby_lsp_rails/middleware_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class ModelsControllerTest < ActionDispatch::IntegrationTest
3131
end
3232

3333
test "GET show returns not_found if class is not a model" do
34-
get "/ruby_lsp_rails/models/ApplicationJob"
34+
get "/ruby_lsp_rails/models/Time"
3535
assert_response(:not_found)
3636
end
3737

0 commit comments

Comments
 (0)