update Rails::Generators docs [ci skip]

This commit is contained in:
Francesco Rodriguez 2012-10-07 15:36:39 -05:00
parent 2f1eea8067
commit 521e2eeac9
22 changed files with 35 additions and 43 deletions

View File

@ -24,7 +24,7 @@ require 'rails/generators/rails/app/app_generator'
module Rails
module Generators
class AppGenerator
class AppGenerator # :nodoc:
# We want to exit on failure to be kind to other libraries
# This is only when accessing via CLI
def self.exit_on_failure?

View File

@ -8,7 +8,7 @@ require 'uri'
module Rails
module Generators
class AppBase < Base
class AppBase < Base # :nodoc:
DATABASES = %w( mysql oracle postgresql sqlite3 frontbase ibm_db sqlserver )
JDBC_DATABASES = %w( jdbcmysql jdbcsqlite3 jdbcpostgresql jdbc )
DATABASES.concat(JDBC_DATABASES)

View File

@ -11,7 +11,7 @@ require 'rails/generators/actions'
module Rails
module Generators
class Error < Thor::Error
class Error < Thor::Error # :nodoc:
end
class Base < Thor::Group

View File

@ -2,7 +2,7 @@ require 'active_support/time'
module Rails
module Generators
class GeneratedAttribute
class GeneratedAttribute # :nodoc:
INDEX_OPTIONS = %w(index uniq)
UNIQ_INDEX_OPTIONS = %w(uniq)

View File

@ -1,7 +1,7 @@
require 'rails/generators/app_base'
module Rails
module ActionMethods
module ActionMethods # :nodoc:
attr_reader :options
def initialize(generator)
@ -146,7 +146,7 @@ module Rails
RAILS_DEV_PATH = File.expand_path("../../../../../..", File.dirname(__FILE__))
RESERVED_NAMES = %w[application destroy benchmarker profiler plugin runner test]
class AppGenerator < AppBase
class AppGenerator < AppBase # :nodoc:
add_shared_options_for "application"
# Add bin/rails options

View File

@ -1,6 +1,6 @@
module Rails
module Generators
class AssetsGenerator < NamedBase
class AssetsGenerator < NamedBase # :nodoc:
class_option :javascripts, :type => :boolean, :desc => "Generate JavaScripts"
class_option :stylesheets, :type => :boolean, :desc => "Generate Stylesheets"

View File

@ -1,6 +1,6 @@
module Rails
module Generators
class ControllerGenerator < NamedBase
class ControllerGenerator < NamedBase # :nodoc:
argument :actions, :type => :array, :default => [], :banner => "action action"
check_class_collision :suffix => "Controller"

View File

@ -1,6 +1,6 @@
module Rails
module Generators
class GeneratorGenerator < NamedBase
class GeneratorGenerator < NamedBase # :nodoc:
check_class_collision :suffix => "Generator"
class_option :namespace, :type => :boolean, :default => true,

View File

@ -1,6 +1,6 @@
module Rails
module Generators
class HelperGenerator < NamedBase
class HelperGenerator < NamedBase # :nodoc:
check_class_collision :suffix => "Helper"
def create_helper_files

View File

@ -1,6 +1,6 @@
module Rails
module Generators
class IntegrationTestGenerator < NamedBase
class IntegrationTestGenerator < NamedBase # :nodoc:
hook_for :integration_tool, :as => :integration
end
end

View File

@ -1,6 +1,6 @@
module Rails
module Generators
class MigrationGenerator < NamedBase #metagenerator
class MigrationGenerator < NamedBase # :nodoc:
argument :attributes, :type => :array, :default => [], :banner => "field[:type][:index] field[:type][:index]"
hook_for :orm, :required => true
end

View File

@ -1,6 +1,6 @@
module Rails
module Generators
class ModelGenerator < NamedBase #metagenerator
class ModelGenerator < NamedBase # :nodoc:
argument :attributes, :type => :array, :default => [], :banner => "field[:type][:index] field[:type][:index]"
hook_for :orm, :required => true
end

View File

@ -1,6 +1,6 @@
module Rails
module Generators
class ObserverGenerator < NamedBase #metagenerator
class ObserverGenerator < NamedBase # :nodoc:
hook_for :orm, :required => true
end
end

View File

@ -1,6 +1,6 @@
module Rails
module Generators
class PerformanceTestGenerator < NamedBase
class PerformanceTestGenerator < NamedBase # :nodoc:
hook_for :performance_tool, :as => :performance
end
end

View File

@ -3,6 +3,13 @@ require "rails/generators/rails/app/app_generator"
require 'date'
module Rails
# The plugin builder allows you to override elements of the plugin
# generator without being forced to reverse the operations of the default
# generator.
#
# This allows you to override entire operations, like the creation of the
# Gemfile, README, or JavaScript files, without needing to know exactly
# what those operations do so you can create another template action.
class PluginBuilder
def rakefile
template "Rakefile"
@ -146,7 +153,7 @@ task :default => :test
end
module Generators
class PluginNewGenerator < AppBase
class PluginNewGenerator < AppBase # :nodoc:
add_shared_options_for "plugin"
alias_method :plugin_path, :app_path

View File

@ -4,7 +4,7 @@ require 'active_support/core_ext/object/blank'
module Rails
module Generators
class ResourceGenerator < ModelGenerator #metagenerator
class ResourceGenerator < ModelGenerator # :nodoc:
include ResourceHelpers
hook_for :resource_controller, :required => true do |controller|

View File

@ -1,6 +1,6 @@
module Rails
module Generators
class ResourceRouteGenerator < NamedBase
class ResourceRouteGenerator < NamedBase # :nodoc:
def add_resource_route
return if options[:actions].present?
route_config = regular_class_path.collect{ |namespace| "namespace :#{namespace} do " }.join(" ")

View File

@ -2,7 +2,7 @@ require 'rails/generators/rails/resource/resource_generator'
module Rails
module Generators
class ScaffoldGenerator < ResourceGenerator #metagenerator
class ScaffoldGenerator < ResourceGenerator # :nodoc:
remove_hook_for :resource_controller
remove_class_option :actions

View File

@ -2,7 +2,7 @@ require 'rails/generators/resource_helpers'
module Rails
module Generators
class ScaffoldControllerGenerator < NamedBase
class ScaffoldControllerGenerator < NamedBase # :nodoc:
include ResourceHelpers
check_class_collision :suffix => "Controller"

View File

@ -1,6 +1,6 @@
module Rails
module Generators
class TaskGenerator < NamedBase
class TaskGenerator < NamedBase # :nodoc:
argument :actions, :type => :array, :default => [], :banner => "action action"
def create_task_files

View File

@ -4,8 +4,7 @@ module Rails
module Generators
# Deal with controller names on scaffold and add some helpers to deal with
# ActiveModel.
#
module ResourceHelpers
module ResourceHelpers # :nodoc:
mattr_accessor :skip_warn
def self.included(base) #:nodoc:
@ -13,7 +12,6 @@ module Rails
end
# Set controller variables on initialization.
#
def initialize(*args) #:nodoc:
super

View File

@ -26,7 +26,6 @@ module Rails
# destination File.expand_path("../tmp", File.dirname(__FILE__))
# setup :prepare_destination
# end
#
class TestCase < ActiveSupport::TestCase
include FileUtils
@ -37,13 +36,13 @@ module Rails
self.current_path = File.expand_path(Dir.pwd)
self.default_arguments = []
def setup
def setup # :nodoc:
destination_root_is_set?
ensure_current_path
super
end
def teardown
def teardown # :nodoc:
ensure_current_path
super
end
@ -51,7 +50,6 @@ module Rails
# Sets which generator should be tested:
#
# tests AppGenerator
#
def self.tests(klass)
self.generator_class = klass
end
@ -60,7 +58,6 @@ module Rails
# invoking it.
#
# arguments %w(app_name --skip-active-record)
#
def self.arguments(array)
self.default_arguments = array
end
@ -68,7 +65,6 @@ module Rails
# Sets the destination of generator files:
#
# destination File.expand_path("../tmp", File.dirname(__FILE__))
#
def self.destination(path)
self.destination_root = path
end
@ -91,7 +87,6 @@ module Rails
# assert_match(/Product\.all/, index)
# end
# end
#
def assert_file(relative, *contents)
absolute = File.expand_path(relative, destination_root)
assert File.exists?(absolute), "Expected file #{relative.inspect} to exist, but does not"
@ -114,7 +109,6 @@ module Rails
# path relative to the configured destination:
#
# assert_no_file "config/random.rb"
#
def assert_no_file(relative)
absolute = File.expand_path(relative, destination_root)
assert !File.exists?(absolute), "Expected file #{relative.inspect} to not exist, but does"
@ -132,7 +126,6 @@ module Rails
# assert_file "db/migrate/003_create_products.rb"
#
# Consequently, assert_migration accepts the same arguments has assert_file.
#
def assert_migration(relative, *contents, &block)
file_name = migration_file_name(relative)
assert file_name, "Expected migration #{relative} to exist, but was not found"
@ -143,7 +136,6 @@ module Rails
# path relative to the configured destination:
#
# assert_no_migration "db/migrate/create_products.rb"
#
def assert_no_migration(relative)
file_name = migration_file_name(relative)
assert_nil file_name, "Expected migration #{relative} to not exist, but found #{file_name}"
@ -158,7 +150,6 @@ module Rails
# assert_match(/create_table/, up)
# end
# end
#
def assert_class_method(method, content, &block)
assert_instance_method "self.#{method}", content, &block
end
@ -171,7 +162,6 @@ module Rails
# assert_match(/Product\.all/, index)
# end
# end
#
def assert_instance_method(method, content)
assert content =~ /def #{method}(\(.+\))?(.*?)\n end/m, "Expected to have method #{method}"
yield $2.strip if block_given?
@ -182,7 +172,6 @@ module Rails
# properly:
#
# assert_field_type :date, :date_select
#
def assert_field_type(attribute_type, field_type)
assert_equal(field_type, create_generated_attribute(attribute_type).field_type)
end
@ -190,7 +179,6 @@ module Rails
# Asserts the given attribute type gets a proper default value:
#
# assert_field_default_value :string, "MyString"
#
def assert_field_default_value(attribute_type, value)
assert_equal(value, create_generated_attribute(attribute_type).default)
end
@ -224,27 +212,26 @@ module Rails
# attribute type and, optionally, the attribute name:
#
# create_generated_attribute(:string, 'name')
#
def create_generated_attribute(attribute_type, name = 'test', index = nil)
Rails::Generators::GeneratedAttribute.parse([name, attribute_type, index].compact.join(':'))
end
protected
def destination_root_is_set? #:nodoc:
def destination_root_is_set? # :nodoc:
raise "You need to configure your Rails::Generators::TestCase destination root." unless destination_root
end
def ensure_current_path #:nodoc:
def ensure_current_path # :nodoc:
cd current_path
end
def prepare_destination
def prepare_destination # :nodoc:
rm_rf(destination_root)
mkdir_p(destination_root)
end
def migration_file_name(relative) #:nodoc:
def migration_file_name(relative) # :nodoc:
absolute = File.expand_path(relative, destination_root)
dirname, file_name = File.dirname(absolute), File.basename(absolute).sub(/\.rb$/, '')
Dir.glob("#{dirname}/[0-9]*_*.rb").grep(/\d+_#{file_name}.rb$/).first