mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
update Rails::Generators docs [ci skip]
This commit is contained in:
parent
2f1eea8067
commit
521e2eeac9
22 changed files with 35 additions and 43 deletions
|
@ -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?
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
module Rails
|
||||
module Generators
|
||||
class HelperGenerator < NamedBase
|
||||
class HelperGenerator < NamedBase # :nodoc:
|
||||
check_class_collision :suffix => "Helper"
|
||||
|
||||
def create_helper_files
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
module Rails
|
||||
module Generators
|
||||
class IntegrationTestGenerator < NamedBase
|
||||
class IntegrationTestGenerator < NamedBase # :nodoc:
|
||||
hook_for :integration_tool, :as => :integration
|
||||
end
|
||||
end
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
module Rails
|
||||
module Generators
|
||||
class ObserverGenerator < NamedBase #metagenerator
|
||||
class ObserverGenerator < NamedBase # :nodoc:
|
||||
hook_for :orm, :required => true
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
module Rails
|
||||
module Generators
|
||||
class PerformanceTestGenerator < NamedBase
|
||||
class PerformanceTestGenerator < NamedBase # :nodoc:
|
||||
hook_for :performance_tool, :as => :performance
|
||||
end
|
||||
end
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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|
|
||||
|
|
|
@ -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(" ")
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue