From 986aec5dbbdfb578945e706cbe6a54c4f06640e5 Mon Sep 17 00:00:00 2001 From: Pratik Naik Date: Thu, 17 Apr 2008 23:49:03 +0100 Subject: Refactor Dispatcher callbacks to remove unnecessary Dependencies checks in production environment. --- railties/lib/console_app.rb | 4 ++-- railties/lib/initializer.rb | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) (limited to 'railties/lib') 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 -- cgit v1.2.3 From dfdb9f738e9842752c340634622624544efe18c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mislav=20Marohni=C4=87?= Date: Fri, 18 Apr 2008 17:10:58 -0500 Subject: Cleanup generator tests by extracting repeated code into generator_test_helper. Add test for mailer generator. Signed-off-by: Joshua Peek --- .../generators/components/mailer/mailer_generator.rb | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'railties/lib') 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| -- cgit v1.2.3 From 36eecda8d0b5ebd3341692868b8faeec8fbce9d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mislav=20Marohni=C4=87?= Date: Fri, 18 Apr 2008 17:13:15 -0500 Subject: Changed mailer generator to not use instance variables. Signed-off-by: Joshua Peek --- .../generators/components/mailer/templates/mailer.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'railties/lib') 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..3a1724a62e 100644 --- a/railties/lib/rails_generator/generators/components/mailer/templates/mailer.rb +++ b/railties/lib/rails_generator/generators/components/mailer/templates/mailer.rb @@ -2,12 +2,12 @@ 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 :action => '<%= action %>' end <% end -%> end -- cgit v1.2.3 From 69a5c1df8293fc8de2cec0fc9fa18181cb9ad469 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mislav=20Marohni=C4=87?= Date: Fri, 18 Apr 2008 17:19:28 -0500 Subject: Add example for default_url_options[:host] to generated mailers. Signed-off-by: Joshua Peek --- .../generators/components/mailer/templates/mailer.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'railties/lib') 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 3a1724a62e..0c7e6bebaf 100644 --- a/railties/lib/rails_generator/generators/components/mailer/templates/mailer.rb +++ b/railties/lib/rails_generator/generators/components/mailer/templates/mailer.rb @@ -1,4 +1,7 @@ class <%= class_name %> < ActionMailer::Base + + # change to your domain name + default_url_options[:host] = 'example.com' <% for action in actions -%> def <%= action %>(sent_at = Time.now) @@ -7,7 +10,8 @@ class <%= class_name %> < ActionMailer::Base from '' sent_on sent_at - body :action => '<%= action %>' + body :greeting => 'Hi,' end <% end -%> + end -- cgit v1.2.3 From 1642b2362ecd627c5bdd9965ff3d527a95e2b244 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Mon, 21 Apr 2008 12:23:15 -0500 Subject: Gem dependencies don't require a version. Also fixed up failing gem dependency tests. --- railties/lib/rails/gem_dependency.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'railties/lib') 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] -- cgit v1.2.3 From 4809dcc1b50330a04ec61dd1fef6cdba9892ac3d Mon Sep 17 00:00:00 2001 From: Cody Fauser Date: Mon, 21 Apr 2008 14:31:54 -0500 Subject: * Remove default_url_options from mailer generator * Improve mailer documentation regarding generating URLs * Add no_match to mailer generator to warn contributors about default_url_options Signed-off-by: Joshua Peek --- .../rails_generator/generators/components/mailer/templates/mailer.rb | 2 -- 1 file changed, 2 deletions(-) (limited to 'railties/lib') 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 0c7e6bebaf..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,7 +1,5 @@ class <%= class_name %> < ActionMailer::Base - # change to your domain name - default_url_options[:host] = 'example.com' <% for action in actions -%> def <%= action %>(sent_at = Time.now) -- cgit v1.2.3 From 0a94f16b9532894aeb7aed2aec5082dd3b521414 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Mon, 21 Apr 2008 19:49:16 -0500 Subject: Fallback to Ruby's pseudo random number generator if the system does not have SHA512 installed. --- railties/lib/rails_generator/secret_key_generator.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'railties/lib') 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. -- cgit v1.2.3