Skip to content

Commit b4002f7

Browse files
committed
Use autoload
1 parent 6c288b0 commit b4002f7

File tree

8 files changed

+20
-16
lines changed

8 files changed

+20
-16
lines changed

lib/rails/app_env.rb

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
require_relative "app_env/version"
2-
require_relative "app_env/environment_inquirer"
3-
require_relative "app_env/rails_helpers"
4-
require_relative "app_env/application_helpers"
5-
require_relative "app_env/credentials"
62
require_relative "app_env/railtie"
73

84
module Rails
95
module AppEnv
10-
# Your code goes here...
6+
autoload :ApplicationHelpers, "rails/app_env/application_helpers"
7+
autoload :Console, "rails/app_env/console"
8+
autoload :Credentials, "rails/app_env/credentials"
9+
autoload :EnvironmentInquirer, "rails/app_env/environment_inquirer"
10+
autoload :Error, "rails/app_env/error"
11+
autoload :RailsHelpers, "rails/app_env/rails_helpers"
1112
end
1213
end

lib/rails/app_env/credentials.rb

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
require_relative "error"
2-
31
module Rails
42
module AppEnv
53
module Credentials
6-
class AlreadyInitializedError < Rails::AppEnv::Error; end
4+
class AlreadyInitializedError < Error; end
75

86
class << self
97
attr_reader :original

lib/rails/app_env/railtie.rb

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class Railtie < Rails::Railtie
88

99
config.before_configuration do
1010
# TODO: Allow opt-out.
11-
Rails::AppEnv::Credentials.initialize!
11+
Credentials.initialize!
1212
end
1313

1414
config.after_initialize do
@@ -19,8 +19,7 @@ class Railtie < Rails::Railtie
1919

2020
console do |app|
2121
# TODO: Allow opt-out.
22-
require_relative "console"
23-
app.config.console = Rails::AppEnv::Console.new(app)
22+
app.config.console = Console.new(app)
2423

2524
puts "Loading #{Rails.app_env} application environment (rails-app_env #{Rails::AppEnv::VERSION})" # standard:disable Rails/Output
2625
end

lib/rails/rails_ext/credentials_command.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
module Rails
22
module Command
33
class CredentialsCommand
4+
private
5+
46
def config
57
Rails::AppEnv::Credentials.original
68
end

test/dummy/config/application.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class Application < Rails::Application
3535
# config.time_zone = "Central Time (US & Canada)"
3636
# config.eager_load_paths << Rails.root.join("extras")
3737

38-
config.eager_load = false
38+
config.eager_load = ENV["CI"].present?
3939

4040
# Don't generate system test files.
4141
config.generators.system_tests = nil

test/features/credentials_test.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,11 +128,11 @@ class CredentialsTest < ActiveSupport::TestCase
128128
private
129129

130130
def assert_credentials_path(expected_path:, touch_file: nil, **options)
131-
assert_runner_puts_with_file Rails.root.join(expected_path), "Rails.configuration.credentials.content_path", touch_file, **options
131+
assert_runner_puts_with_file dummy_path(expected_path), "Rails.configuration.credentials.content_path", touch_file, **options
132132
end
133133

134134
def assert_key_path(expected_path:, touch_file: nil, **options)
135-
assert_runner_puts_with_file Rails.root.join(expected_path), "Rails.configuration.credentials.key_path", touch_file, **options
135+
assert_runner_puts_with_file dummy_path(expected_path), "Rails.configuration.credentials.key_path", touch_file, **options
136136
end
137137

138138
def assert_runner_puts_with_file(expected, subject, file_path, **options)

test/units/app_env/console_test.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
require "minitest/mock"
22
require_relative "../../test_helper"
3-
require "rails/app_env/console"
3+
require "rails/commands/console/irb_console"
44

55
class Rails::AppEnv::ConsoleTest < ActiveSupport::TestCase
6-
test "Console is a kind of Rails::Console::IRBConsole" do
6+
test "Rails::AppEnv::Console is a kind of Rails::Console::IRBConsole" do
77
assert_kind_of Rails::Console::IRBConsole, Rails::AppEnv::Console.new(nil)
88
end
99

test/units/app_env/credentials_test.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
require_relative "../../test_helper"
33

44
class Rails::AppEnv::CredentialsTest < ActiveSupport::TestCase
5+
test "Rails::AppEnv::Credentials::AlreadyInitializedError is a kind of Rails::AppEnv::Error" do
6+
assert_kind_of Rails::AppEnv::Error, Rails::AppEnv::Credentials::AlreadyInitializedError.new
7+
end
8+
59
test "#initialize! can only be invoked once" do
610
reset_credentials
711

0 commit comments

Comments
 (0)