diff --git a/railties/CHANGELOG.md b/railties/CHANGELOG.md index fb25e175b1..296735e8b0 100644 --- a/railties/CHANGELOG.md +++ b/railties/CHANGELOG.md @@ -2,7 +2,7 @@ # Generate with... - bin/rails sessions + bin/rails generate sessions # Generated files app/models/current.rb diff --git a/railties/lib/rails/generators/rails/sessions/sessions_generator.rb b/railties/lib/rails/generators/rails/sessions/sessions_generator.rb index 699529c02d..21ed420471 100644 --- a/railties/lib/rails/generators/rails/sessions/sessions_generator.rb +++ b/railties/lib/rails/generators/rails/sessions/sessions_generator.rb @@ -20,9 +20,12 @@ def configure_application end def enable_bcrypt - # FIXME: Make more resilient in case the default comment has been removed - gsub_file "Gemfile", /# gem "bcrypt"/, 'gem "bcrypt"' - execute_command :bundle, "" + if File.read("Gemfile").include?('gem "bcrypt"') + uncomment_lines "Gemfile", /gem "bcrypt"/ + Bundler.with_original_env { execute_command :bundle, "" } + else + Bundler.with_original_env { execute_command :bundle, "add bcrypt" } + end end def add_migrations