Skip to content

Commit a7cfd81

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 b605896 commit a7cfd81

File tree

10 files changed

+19
-47
lines changed

10 files changed

+19
-47
lines changed

Gemfile.lock

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,9 @@ PATH
103103
remote: .
104104
specs:
105105
ruby-lsp-rails (0.2.7)
106-
rails (>= 6.0)
106+
actionpack (>= 6.0)
107+
activerecord (>= 6.0)
108+
railties (>= 6.0)
107109
ruby-lsp (>= 0.12.0, < 0.13.0)
108110
sorbet-runtime (>= 0.5.9897)
109111

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.12.0", "< 0.13.0")
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: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
# Eager loading loads your whole application. When running a single test locally,
1818
# this probably isn't necessary. It's a good idea to do in a continuous integration
1919
# system, or in some way before deploying your code.
20-
config.eager_load = ENV["CI"].present?
20+
config.eager_load = true
2121

2222
# Configure public file server for tests with Cache-Control for performance.
2323
config.public_file_server.enabled = true
@@ -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/rack_app_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class RackAppTest < 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)