aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
Diffstat (limited to 'railties')
-rw-r--r--railties/CHANGELOG2
-rw-r--r--railties/lib/tasks/misc.rake10
2 files changed, 11 insertions, 1 deletions
diff --git a/railties/CHANGELOG b/railties/CHANGELOG
index 06f56d3928..36d03fe2db 100644
--- a/railties/CHANGELOG
+++ b/railties/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* Introduce `rake generate:secret` to output a crytographically secure secret key for use with cookie sessions. #xxxx [update from Trac]
+
* Fixed that local database creation should consider 127.0.0.1 local #9026 [parcelbrat]
* Fixed that functional tests generated for scaffolds should use fixture calls instead of hard-coded IDs #10435 [boone]
diff --git a/railties/lib/tasks/misc.rake b/railties/lib/tasks/misc.rake
index 02ba886061..d145db0934 100644
--- a/railties/lib/tasks/misc.rake
+++ b/railties/lib/tasks/misc.rake
@@ -1,4 +1,12 @@
task :default => :test
task :environment do
require(File.join(RAILS_ROOT, 'config', 'environment'))
-end \ No newline at end of file
+end
+
+require 'rails_generator/secret_key_generator'
+namespace :generate do
+ desc 'Generate a crytographically secure secret key. This is typically used to generate a secret for cookie sessions. Pass a unique identifier to the generator using ID="some unique identifier" for greater security.'
+ task :secret do
+ puts Rails::SecretKeyGenerator.new(ENV['ID']).generate_secret
+ end
+end