File tree Expand file tree Collapse file tree 2 files changed +10
-4
lines changed Expand file tree Collapse file tree 2 files changed +10
-4
lines changed Original file line number Diff line number Diff line change @@ -512,7 +512,7 @@ def colorize_logging=(val)
512
512
513
513
def secret_key_base
514
514
@secret_key_base || begin
515
- self . secret_key_base = if Rails . env . local? || ENV [ "SECRET_KEY_BASE_DUMMY" ]
515
+ self . secret_key_base = if generate_local_secret?
516
516
generate_local_secret
517
517
else
518
518
ENV [ "SECRET_KEY_BASE" ] || Rails . application . credentials . secret_key_base
@@ -521,7 +521,9 @@ def secret_key_base
521
521
end
522
522
523
523
def secret_key_base = ( new_secret_key_base )
524
- if new_secret_key_base . is_a? ( String ) && new_secret_key_base . present?
524
+ if new_secret_key_base . nil? && generate_local_secret?
525
+ @secret_key_base = generate_local_secret
526
+ elsif new_secret_key_base . is_a? ( String ) && new_secret_key_base . present?
525
527
@secret_key_base = new_secret_key_base
526
528
elsif new_secret_key_base
527
529
raise ArgumentError , "`secret_key_base` for #{ Rails . env } environment must be a type of String`"
@@ -647,6 +649,10 @@ def generate_local_secret
647
649
648
650
File . binread ( key_file )
649
651
end
652
+
653
+ def generate_local_secret?
654
+ Rails . env . local? || ENV [ "SECRET_KEY_BASE_DUMMY" ]
655
+ end
650
656
end
651
657
end
652
658
end
Original file line number Diff line number Diff line change @@ -790,7 +790,7 @@ def index
790
790
791
791
test "application will generate secret_key_base in tmp file if blank in development" do
792
792
app_file "config/initializers/secret_token.rb" , <<-RUBY
793
- Rails.application.credentials .secret_key_base = nil
793
+ Rails.application.config .secret_key_base = nil
794
794
RUBY
795
795
796
796
# For test that works even if tmp dir does not exist.
@@ -804,7 +804,7 @@ def index
804
804
805
805
test "application will generate secret_key_base in tmp file if blank in test" do
806
806
app_file "config/initializers/secret_token.rb" , <<-RUBY
807
- Rails.application.credentials .secret_key_base = nil
807
+ Rails.application.config .secret_key_base = nil
808
808
RUBY
809
809
810
810
# For test that works even if tmp dir does not exist.
You can’t perform that action at this time.
0 commit comments