aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib
diff options
context:
space:
mode:
Diffstat (limited to 'railties/lib')
-rw-r--r--railties/lib/console_app.rb4
-rw-r--r--railties/lib/initializer.rb9
-rw-r--r--railties/lib/rails/gem_dependency.rb4
-rw-r--r--railties/lib/rails_generator/generators/components/mailer/mailer_generator.rb8
-rw-r--r--railties/lib/rails_generator/generators/components/mailer/templates/mailer.rb14
-rw-r--r--railties/lib/rails_generator/secret_key_generator.rb7
6 files changed, 28 insertions, 18 deletions
diff --git a/railties/lib/console_app.rb b/railties/lib/console_app.rb
index c7673642ec..88e7962b43 100644
--- a/railties/lib/console_app.rb
+++ b/railties/lib/console_app.rb
@@ -24,7 +24,7 @@ end
def reload!
puts "Reloading..."
dispatcher = ActionController::Dispatcher.new($stdout)
- dispatcher.cleanup_application(true)
- dispatcher.prepare_application(true)
+ dispatcher.cleanup_application
+ dispatcher.reload_application
true
end
diff --git a/railties/lib/initializer.rb b/railties/lib/initializer.rb
index 18af73fc89..b5bf9266f5 100644
--- a/railties/lib/initializer.rb
+++ b/railties/lib/initializer.rb
@@ -135,6 +135,9 @@ module Rails
load_application_initializers
+ # Prepare dispatcher callbacks and run 'prepare' callbacks
+ prepare_dispatcher
+
# the framework is now fully initialized
after_initialize
@@ -442,6 +445,12 @@ module Rails
end
end
+ def prepare_dispatcher
+ require 'dispatcher' unless defined?(::Dispatcher)
+ Dispatcher.define_dispatcher_callbacks(configuration.cache_classes)
+ Dispatcher.new(RAILS_DEFAULT_LOGGER).send :run_callbacks, :prepare_dispatch
+ end
+
end
# The Configuration class holds all the parameters for the Initializer and
diff --git a/railties/lib/rails/gem_dependency.rb b/railties/lib/rails/gem_dependency.rb
index 3985443ceb..2034841cd2 100644
--- a/railties/lib/rails/gem_dependency.rb
+++ b/railties/lib/rails/gem_dependency.rb
@@ -13,11 +13,9 @@ module Rails
@requirement = options[:requirement]
elsif options[:version]
@requirement = Gem::Requirement.create(options[:version])
- else
- raise ArgumentError.new('Must pass either :version or :requirement')
end
- @version = @requirement.instance_variable_get("@requirements").first.last if @requirement
+ @version = @requirement.instance_variable_get("@requirements").first.last if @requirement
@name = name.to_s
@lib = options[:lib]
@source = options[:source]
diff --git a/railties/lib/rails_generator/generators/components/mailer/mailer_generator.rb b/railties/lib/rails_generator/generators/components/mailer/mailer_generator.rb
index 3ff4f03972..dc1202d7c8 100644
--- a/railties/lib/rails_generator/generators/components/mailer/mailer_generator.rb
+++ b/railties/lib/rails_generator/generators/components/mailer/mailer_generator.rb
@@ -11,12 +11,8 @@ class MailerGenerator < Rails::Generator::NamedBase
m.directory File.join('test/fixtures', file_path)
# Mailer class and unit test.
- m.template "mailer.rb", File.join('app/models',
- class_path,
- "#{file_name}.rb")
- m.template "unit_test.rb", File.join('test/unit',
- class_path,
- "#{file_name}_test.rb")
+ m.template "mailer.rb", File.join('app/models', class_path, "#{file_name}.rb")
+ m.template "unit_test.rb", File.join('test/unit', class_path, "#{file_name}_test.rb")
# View template and fixture for each action.
actions.each do |action|
diff --git a/railties/lib/rails_generator/generators/components/mailer/templates/mailer.rb b/railties/lib/rails_generator/generators/components/mailer/templates/mailer.rb
index 127495fcbb..ce15ae9de9 100644
--- a/railties/lib/rails_generator/generators/components/mailer/templates/mailer.rb
+++ b/railties/lib/rails_generator/generators/components/mailer/templates/mailer.rb
@@ -1,13 +1,15 @@
class <%= class_name %> < ActionMailer::Base
+
<% for action in actions -%>
def <%= action %>(sent_at = Time.now)
- @subject = '<%= class_name %>#<%= action %>'
- @body = {}
- @recipients = ''
- @from = ''
- @sent_on = sent_at
- @headers = {}
+ subject '<%= class_name %>#<%= action %>'
+ recipients ''
+ from ''
+ sent_on sent_at
+
+ body :greeting => 'Hi,'
end
<% end -%>
+
end
diff --git a/railties/lib/rails_generator/secret_key_generator.rb b/railties/lib/rails_generator/secret_key_generator.rb
index 801b33c761..64fbbb90f8 100644
--- a/railties/lib/rails_generator/secret_key_generator.rb
+++ b/railties/lib/rails_generator/secret_key_generator.rb
@@ -76,7 +76,12 @@ module Rails
OpenSSL::Random.seed(rand(0).to_s + Time.now.usec.to_s)
end
data = OpenSSL::BN.rand(2048, -1, false).to_s
- return OpenSSL::Digest::SHA512.new(data).hexdigest
+
+ if OpenSSL::OPENSSL_VERSION_NUMBER > 0x00908000
+ OpenSSL::Digest::SHA512.new(data).hexdigest
+ else
+ generate_secret_with_prng
+ end
end
# Generate a random secret key with /dev/urandom.