aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/generators
diff options
context:
space:
mode:
Diffstat (limited to 'railties/lib/generators')
-rw-r--r--railties/lib/generators/actions.rb11
-rw-r--r--railties/lib/generators/active_record/model/model_generator.rb6
-rw-r--r--railties/lib/generators/active_record/session_migration/session_migration_generator.rb6
-rw-r--r--railties/lib/generators/named_base.rb3
-rw-r--r--railties/lib/generators/rails/app/templates/config/boot.rb2
-rw-r--r--railties/lib/generators/test_unit/plugin/templates/test_helper.rb4
6 files changed, 23 insertions, 9 deletions
diff --git a/railties/lib/generators/actions.rb b/railties/lib/generators/actions.rb
index 55ef212abb..03d0d11a07 100644
--- a/railties/lib/generators/actions.rb
+++ b/railties/lib/generators/actions.rb
@@ -5,22 +5,31 @@ module Rails
module Actions
# Install a plugin. You must provide either a Subversion url or Git url.
- # For a Git-hosted plugin, you can specify if it should be added as a submodule instead of cloned.
+ #
+ # For a Git-hosted plugin, you can specify a branch and
+ # whether it should be added as a submodule instead of cloned.
+ #
+ # For a Subversion-hosted plugin you can specify a revision.
#
# ==== Examples
#
# plugin 'restful-authentication', :git => 'git://github.com/technoweenie/restful-authentication.git'
+ # plugin 'restful-authentication', :git => 'git://github.com/technoweenie/restful-authentication.git', :branch => 'stable'
# plugin 'restful-authentication', :git => 'git://github.com/technoweenie/restful-authentication.git', :submodule => true
# plugin 'restful-authentication', :svn => 'svn://svnhub.com/technoweenie/restful-authentication/trunk'
+ # plugin 'restful-authentication', :svn => 'svn://svnhub.com/technoweenie/restful-authentication/trunk', :revision => 1234
#
def plugin(name, options)
log :plugin, name
if options[:git] && options[:submodule]
+ options[:git] = "-b #{options[:branch]} #{options[:git]}" if options[:branch]
in_root do
run "git submodule add #{options[:git]} vendor/plugins/#{name}", :verbose => false
end
elsif options[:git] || options[:svn]
+ options[:git] = "-b #{options[:branch]} #{options[:git]}" if options[:branch]
+ options[:svn] = "-r #{options[:revision]} #{options[:svn]}" if options[:revision]
in_root do
run_ruby_script "script/plugin install #{options[:svn] || options[:git]}", :verbose => false
end
diff --git a/railties/lib/generators/active_record/model/model_generator.rb b/railties/lib/generators/active_record/model/model_generator.rb
index 54187aede0..2641083e0d 100644
--- a/railties/lib/generators/active_record/model/model_generator.rb
+++ b/railties/lib/generators/active_record/model/model_generator.rb
@@ -12,10 +12,8 @@ module ActiveRecord
class_option :parent, :type => :string, :desc => "The parent class for the generated model"
def create_migration_file
- if options[:migration] && options[:parent].nil?
- file_name = "create_#{file_path.gsub(/\//, '_').pluralize}"
- migration_template "migration.rb", "db/migrate/#{file_name}.rb"
- end
+ return unless options[:migration] && options[:parent].nil?
+ migration_template "migration.rb", "db/migrate/create_#{table_name}.rb"
end
def create_model_file
diff --git a/railties/lib/generators/active_record/session_migration/session_migration_generator.rb b/railties/lib/generators/active_record/session_migration/session_migration_generator.rb
index d60da5c0a5..59c4792066 100644
--- a/railties/lib/generators/active_record/session_migration/session_migration_generator.rb
+++ b/railties/lib/generators/active_record/session_migration/session_migration_generator.rb
@@ -12,7 +12,11 @@ module ActiveRecord
protected
def session_table_name
- ActiveRecord::Base.pluralize_table_names ? 'session'.pluralize : 'session'
+ current_table_name = ActiveRecord::SessionStore::Session.table_name
+ if ["sessions", "session"].include?(current_table_name)
+ current_table_name = (ActiveRecord::Base.pluralize_table_names ? 'session'.pluralize : 'session')
+ end
+ current_table_name
end
end
diff --git a/railties/lib/generators/named_base.rb b/railties/lib/generators/named_base.rb
index 9632e6806c..cd7aa61b50 100644
--- a/railties/lib/generators/named_base.rb
+++ b/railties/lib/generators/named_base.rb
@@ -28,7 +28,6 @@ module Rails
else
singular_name
end
- @table_name.gsub! '/', '_'
if class_nesting.empty?
@class_name = class_name_without_nesting
@@ -36,6 +35,8 @@ module Rails
@table_name = class_nesting.underscore << "_" << @table_name
@class_name = "#{class_nesting}::#{class_name_without_nesting}"
end
+
+ @table_name.gsub!('/', '_')
end
# Convert attributes hash into an array with GeneratedAttribute objects.
diff --git a/railties/lib/generators/rails/app/templates/config/boot.rb b/railties/lib/generators/rails/app/templates/config/boot.rb
index 0ad0f787f8..dd5e3b6916 100644
--- a/railties/lib/generators/rails/app/templates/config/boot.rb
+++ b/railties/lib/generators/rails/app/templates/config/boot.rb
@@ -82,8 +82,8 @@ module Rails
end
def load_rubygems
+ min_version = '1.3.2'
require 'rubygems'
- min_version = '1.3.1'
unless rubygems_version >= min_version
$stderr.puts %Q(Rails requires RubyGems >= #{min_version} (you have #{rubygems_version}). Please `gem update --system` and try again.)
exit 1
diff --git a/railties/lib/generators/test_unit/plugin/templates/test_helper.rb b/railties/lib/generators/test_unit/plugin/templates/test_helper.rb
index cf148b8b47..348ec33582 100644
--- a/railties/lib/generators/test_unit/plugin/templates/test_helper.rb
+++ b/railties/lib/generators/test_unit/plugin/templates/test_helper.rb
@@ -1,3 +1,5 @@
require 'rubygems'
+require 'test/unit'
require 'active_support'
-require 'active_support/test_case' \ No newline at end of file
+require 'active_support/test_case'
+