rails 2.3.18 → 7.1.3.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +2 -2
- data/README.md +97 -0
- metadata +207 -332
- data/CHANGELOG +0 -2193
- data/README +0 -243
- data/Rakefile +0 -365
- data/bin/about +0 -4
- data/bin/console +0 -3
- data/bin/dbconsole +0 -3
- data/bin/destroy +0 -3
- data/bin/generate +0 -3
- data/bin/performance/benchmarker +0 -3
- data/bin/performance/profiler +0 -3
- data/bin/plugin +0 -3
- data/bin/rails +0 -21
- data/bin/runner +0 -3
- data/bin/server +0 -3
- data/builtin/rails_info/rails/info.rb +0 -131
- data/builtin/rails_info/rails/info_controller.rb +0 -9
- data/builtin/rails_info/rails/info_helper.rb +0 -2
- data/builtin/rails_info/rails_info_controller.rb +0 -2
- data/configs/databases/frontbase.yml +0 -28
- data/configs/databases/ibm_db.yml +0 -62
- data/configs/databases/mysql.yml +0 -60
- data/configs/databases/oracle.yml +0 -39
- data/configs/databases/postgresql.yml +0 -51
- data/configs/databases/sqlite2.yml +0 -19
- data/configs/databases/sqlite3.yml +0 -22
- data/configs/empty.log +0 -0
- data/configs/initializers/backtrace_silencers.rb +0 -7
- data/configs/initializers/cookie_verification_secret.rb +0 -7
- data/configs/initializers/inflections.rb +0 -10
- data/configs/initializers/mime_types.rb +0 -5
- data/configs/initializers/new_rails_defaults.rb +0 -21
- data/configs/initializers/session_store.rb +0 -15
- data/configs/locales/en.yml +0 -5
- data/configs/routes.rb +0 -43
- data/configs/seeds.rb +0 -7
- data/dispatches/config.ru +0 -7
- data/dispatches/dispatch.fcgi +0 -24
- data/dispatches/dispatch.rb +0 -10
- data/dispatches/gateway.cgi +0 -97
- data/doc/README_FOR_APP +0 -2
- data/environments/boot.rb +0 -114
- data/environments/development.rb +0 -17
- data/environments/environment.rb +0 -41
- data/environments/production.rb +0 -28
- data/environments/test.rb +0 -28
- data/fresh_rakefile +0 -10
- data/helpers/application_controller.rb +0 -10
- data/helpers/application_helper.rb +0 -3
- data/helpers/performance_test.rb +0 -9
- data/helpers/test_helper.rb +0 -38
- data/html/404.html +0 -30
- data/html/422.html +0 -30
- data/html/500.html +0 -30
- data/html/favicon.ico +0 -0
- data/html/images/rails.png +0 -0
- data/html/index.html +0 -275
- data/html/javascripts/application.js +0 -2
- data/html/javascripts/controls.js +0 -963
- data/html/javascripts/dragdrop.js +0 -973
- data/html/javascripts/effects.js +0 -1128
- data/html/javascripts/prototype.js +0 -4320
- data/html/robots.txt +0 -5
- data/lib/code_statistics.rb +0 -107
- data/lib/commands/about.rb +0 -3
- data/lib/commands/console.rb +0 -45
- data/lib/commands/dbconsole.rb +0 -87
- data/lib/commands/destroy.rb +0 -6
- data/lib/commands/generate.rb +0 -6
- data/lib/commands/ncgi/listener +0 -86
- data/lib/commands/ncgi/tracker +0 -69
- data/lib/commands/performance/benchmarker.rb +0 -24
- data/lib/commands/performance/profiler.rb +0 -50
- data/lib/commands/plugin.rb +0 -968
- data/lib/commands/runner.rb +0 -54
- data/lib/commands/server.rb +0 -114
- data/lib/commands/update.rb +0 -4
- data/lib/commands.rb +0 -17
- data/lib/console_app.rb +0 -30
- data/lib/console_sandbox.rb +0 -6
- data/lib/console_with_helpers.rb +0 -5
- data/lib/dispatcher.rb +0 -24
- data/lib/fcgi_handler.rb +0 -239
- data/lib/initializer.rb +0 -1152
- data/lib/performance_test_help.rb +0 -5
- data/lib/rails/backtrace_cleaner.rb +0 -54
- data/lib/rails/gem_builder.rb +0 -21
- data/lib/rails/gem_dependency.rb +0 -317
- data/lib/rails/plugin/loader.rb +0 -198
- data/lib/rails/plugin/locator.rb +0 -100
- data/lib/rails/plugin.rb +0 -179
- data/lib/rails/rack/debugger.rb +0 -23
- data/lib/rails/rack/log_tailer.rb +0 -35
- data/lib/rails/rack/metal.rb +0 -51
- data/lib/rails/rack/static.rb +0 -46
- data/lib/rails/rack.rb +0 -8
- data/lib/rails/vendor_gem_source_index.rb +0 -140
- data/lib/rails/version.rb +0 -9
- data/lib/rails_generator/base.rb +0 -266
- data/lib/rails_generator/commands.rb +0 -621
- data/lib/rails_generator/generated_attribute.rb +0 -47
- data/lib/rails_generator/generators/applications/app/USAGE +0 -9
- data/lib/rails_generator/generators/applications/app/app_generator.rb +0 -266
- data/lib/rails_generator/generators/applications/app/scm/git.rb +0 -18
- data/lib/rails_generator/generators/applications/app/scm/scm.rb +0 -8
- data/lib/rails_generator/generators/applications/app/scm/svn.rb +0 -7
- data/lib/rails_generator/generators/applications/app/template_runner.rb +0 -401
- data/lib/rails_generator/generators/components/controller/USAGE +0 -30
- data/lib/rails_generator/generators/components/controller/controller_generator.rb +0 -43
- data/lib/rails_generator/generators/components/controller/templates/controller.rb +0 -7
- data/lib/rails_generator/generators/components/controller/templates/functional_test.rb +0 -8
- data/lib/rails_generator/generators/components/controller/templates/helper.rb +0 -2
- data/lib/rails_generator/generators/components/controller/templates/helper_test.rb +0 -4
- data/lib/rails_generator/generators/components/controller/templates/view.html.erb +0 -2
- data/lib/rails_generator/generators/components/helper/USAGE +0 -24
- data/lib/rails_generator/generators/components/helper/helper_generator.rb +0 -25
- data/lib/rails_generator/generators/components/helper/templates/helper.rb +0 -2
- data/lib/rails_generator/generators/components/helper/templates/helper_test.rb +0 -4
- data/lib/rails_generator/generators/components/integration_test/USAGE +0 -8
- data/lib/rails_generator/generators/components/integration_test/integration_test_generator.rb +0 -16
- data/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb +0 -10
- data/lib/rails_generator/generators/components/mailer/USAGE +0 -16
- data/lib/rails_generator/generators/components/mailer/mailer_generator.rb +0 -30
- data/lib/rails_generator/generators/components/mailer/templates/fixture.erb +0 -3
- data/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml +0 -0
- data/lib/rails_generator/generators/components/mailer/templates/mailer.rb +0 -15
- data/lib/rails_generator/generators/components/mailer/templates/unit_test.rb +0 -20
- data/lib/rails_generator/generators/components/mailer/templates/view.erb +0 -3
- data/lib/rails_generator/generators/components/mailer/templates/view.rhtml +0 -0
- data/lib/rails_generator/generators/components/metal/USAGE +0 -8
- data/lib/rails_generator/generators/components/metal/metal_generator.rb +0 -8
- data/lib/rails_generator/generators/components/metal/templates/metal.rb +0 -12
- data/lib/rails_generator/generators/components/migration/USAGE +0 -29
- data/lib/rails_generator/generators/components/migration/migration_generator.rb +0 -20
- data/lib/rails_generator/generators/components/migration/templates/migration.rb +0 -11
- data/lib/rails_generator/generators/components/model/USAGE +0 -27
- data/lib/rails_generator/generators/components/model/model_generator.rb +0 -52
- data/lib/rails_generator/generators/components/model/templates/fixtures.yml +0 -23
- data/lib/rails_generator/generators/components/model/templates/migration.rb +0 -16
- data/lib/rails_generator/generators/components/model/templates/model.rb +0 -5
- data/lib/rails_generator/generators/components/model/templates/unit_test.rb +0 -8
- data/lib/rails_generator/generators/components/observer/USAGE +0 -13
- data/lib/rails_generator/generators/components/observer/observer_generator.rb +0 -16
- data/lib/rails_generator/generators/components/observer/templates/observer.rb +0 -2
- data/lib/rails_generator/generators/components/observer/templates/unit_test.rb +0 -8
- data/lib/rails_generator/generators/components/performance_test/USAGE +0 -8
- data/lib/rails_generator/generators/components/performance_test/performance_test_generator.rb +0 -16
- data/lib/rails_generator/generators/components/performance_test/templates/performance_test.rb +0 -9
- data/lib/rails_generator/generators/components/plugin/USAGE +0 -25
- data/lib/rails_generator/generators/components/plugin/plugin_generator.rb +0 -39
- data/lib/rails_generator/generators/components/plugin/templates/MIT-LICENSE +0 -20
- data/lib/rails_generator/generators/components/plugin/templates/README +0 -13
- data/lib/rails_generator/generators/components/plugin/templates/Rakefile +0 -23
- data/lib/rails_generator/generators/components/plugin/templates/USAGE +0 -8
- data/lib/rails_generator/generators/components/plugin/templates/generator.rb +0 -8
- data/lib/rails_generator/generators/components/plugin/templates/init.rb +0 -1
- data/lib/rails_generator/generators/components/plugin/templates/install.rb +0 -1
- data/lib/rails_generator/generators/components/plugin/templates/plugin.rb +0 -1
- data/lib/rails_generator/generators/components/plugin/templates/tasks.rake +0 -4
- data/lib/rails_generator/generators/components/plugin/templates/test_helper.rb +0 -4
- data/lib/rails_generator/generators/components/plugin/templates/uninstall.rb +0 -1
- data/lib/rails_generator/generators/components/plugin/templates/unit_test.rb +0 -8
- data/lib/rails_generator/generators/components/resource/USAGE +0 -23
- data/lib/rails_generator/generators/components/resource/resource_generator.rb +0 -76
- data/lib/rails_generator/generators/components/resource/templates/controller.rb +0 -2
- data/lib/rails_generator/generators/components/resource/templates/functional_test.rb +0 -8
- data/lib/rails_generator/generators/components/resource/templates/helper.rb +0 -2
- data/lib/rails_generator/generators/components/resource/templates/helper_test.rb +0 -4
- data/lib/rails_generator/generators/components/scaffold/USAGE +0 -29
- data/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb +0 -103
- data/lib/rails_generator/generators/components/scaffold/templates/controller.rb +0 -83
- data/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb +0 -45
- data/lib/rails_generator/generators/components/scaffold/templates/helper.rb +0 -2
- data/lib/rails_generator/generators/components/scaffold/templates/helper_test.rb +0 -4
- data/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb +0 -17
- data/lib/rails_generator/generators/components/scaffold/templates/style.css +0 -54
- data/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb +0 -18
- data/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb +0 -24
- data/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb +0 -17
- data/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb +0 -10
- data/lib/rails_generator/generators/components/session_migration/USAGE +0 -10
- data/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb +0 -18
- data/lib/rails_generator/generators/components/session_migration/templates/migration.rb +0 -16
- data/lib/rails_generator/lookup.rb +0 -249
- data/lib/rails_generator/manifest.rb +0 -53
- data/lib/rails_generator/options.rb +0 -150
- data/lib/rails_generator/scripts/destroy.rb +0 -29
- data/lib/rails_generator/scripts/generate.rb +0 -7
- data/lib/rails_generator/scripts/update.rb +0 -12
- data/lib/rails_generator/scripts.rb +0 -89
- data/lib/rails_generator/secret_key_generator.rb +0 -24
- data/lib/rails_generator/simple_logger.rb +0 -46
- data/lib/rails_generator/spec.rb +0 -44
- data/lib/rails_generator.rb +0 -46
- data/lib/railties_path.rb +0 -1
- data/lib/ruby_version_check.rb +0 -17
- data/lib/rubyprof_ext.rb +0 -35
- data/lib/source_annotation_extractor.rb +0 -102
- data/lib/tasks/annotations.rake +0 -20
- data/lib/tasks/databases.rake +0 -436
- data/lib/tasks/documentation.rake +0 -93
- data/lib/tasks/framework.rake +0 -146
- data/lib/tasks/gems.rake +0 -78
- data/lib/tasks/log.rake +0 -9
- data/lib/tasks/middleware.rake +0 -7
- data/lib/tasks/misc.rake +0 -63
- data/lib/tasks/rails.rb +0 -14
- data/lib/tasks/routes.rake +0 -18
- data/lib/tasks/statistics.rake +0 -17
- data/lib/tasks/testing.rake +0 -139
- data/lib/tasks/tmp.rake +0 -37
- data/lib/test_help.rb +0 -38
- data/lib/webrick_server.rb +0 -156
- data/railties.gemspec +0 -22
@@ -1,25 +0,0 @@
|
|
1
|
-
Description:
|
2
|
-
Stubs out a new plugin. Pass the plugin name, either CamelCased or
|
3
|
-
under_scored, as an argument. Pass --with-generator to add an example
|
4
|
-
generator also.
|
5
|
-
|
6
|
-
This creates a plugin in vendor/plugins including an init.rb and README
|
7
|
-
as well as standard lib, task, and test directories.
|
8
|
-
|
9
|
-
Example:
|
10
|
-
`./script/generate plugin BrowserFilters`
|
11
|
-
|
12
|
-
creates a standard browser_filters plugin:
|
13
|
-
vendor/plugins/browser_filters/README
|
14
|
-
vendor/plugins/browser_filters/init.rb
|
15
|
-
vendor/plugins/browser_filters/install.rb
|
16
|
-
vendor/plugins/browser_filters/lib/browser_filters.rb
|
17
|
-
vendor/plugins/browser_filters/test/browser_filters_test.rb
|
18
|
-
vendor/plugins/browser_filters/tasks/browser_filters_tasks.rake
|
19
|
-
|
20
|
-
./script/generate plugin BrowserFilters --with-generator
|
21
|
-
|
22
|
-
creates a browser_filters generator also:
|
23
|
-
vendor/plugins/browser_filters/generators/browser_filters/browser_filters_generator.rb
|
24
|
-
vendor/plugins/browser_filters/generators/browser_filters/USAGE
|
25
|
-
vendor/plugins/browser_filters/generators/browser_filters/templates/
|
@@ -1,39 +0,0 @@
|
|
1
|
-
class PluginGenerator < Rails::Generator::NamedBase
|
2
|
-
attr_reader :plugin_path
|
3
|
-
|
4
|
-
def initialize(runtime_args, runtime_options = {})
|
5
|
-
@with_generator = runtime_args.delete("--with-generator")
|
6
|
-
super
|
7
|
-
@plugin_path = "vendor/plugins/#{file_name}"
|
8
|
-
end
|
9
|
-
|
10
|
-
def manifest
|
11
|
-
record do |m|
|
12
|
-
# Check for class naming collisions.
|
13
|
-
m.class_collisions class_name
|
14
|
-
|
15
|
-
m.directory "#{plugin_path}/lib"
|
16
|
-
m.directory "#{plugin_path}/lib/tasks"
|
17
|
-
m.directory "#{plugin_path}/test"
|
18
|
-
|
19
|
-
m.template 'README', "#{plugin_path}/README"
|
20
|
-
m.template 'MIT-LICENSE', "#{plugin_path}/MIT-LICENSE"
|
21
|
-
m.template 'Rakefile', "#{plugin_path}/Rakefile"
|
22
|
-
m.template 'init.rb', "#{plugin_path}/init.rb"
|
23
|
-
m.template 'install.rb', "#{plugin_path}/install.rb"
|
24
|
-
m.template 'uninstall.rb', "#{plugin_path}/uninstall.rb"
|
25
|
-
m.template 'plugin.rb', "#{plugin_path}/lib/#{file_name}.rb"
|
26
|
-
m.template 'tasks.rake', "#{plugin_path}/lib/tasks/#{file_name}.rake"
|
27
|
-
m.template 'unit_test.rb', "#{plugin_path}/test/#{file_name}_test.rb"
|
28
|
-
m.template 'test_helper.rb', "#{plugin_path}/test/test_helper.rb"
|
29
|
-
if @with_generator
|
30
|
-
m.directory "#{plugin_path}/generators"
|
31
|
-
m.directory "#{plugin_path}/generators/#{file_name}"
|
32
|
-
m.directory "#{plugin_path}/generators/#{file_name}/templates"
|
33
|
-
|
34
|
-
m.template 'generator.rb', "#{plugin_path}/generators/#{file_name}/#{file_name}_generator.rb"
|
35
|
-
m.template 'USAGE', "#{plugin_path}/generators/#{file_name}/USAGE"
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
Copyright (c) <%= Date.today.year %> [name of plugin creator]
|
2
|
-
|
3
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
-
a copy of this software and associated documentation files (the
|
5
|
-
"Software"), to deal in the Software without restriction, including
|
6
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
-
permit persons to whom the Software is furnished to do so, subject to
|
9
|
-
the following conditions:
|
10
|
-
|
11
|
-
The above copyright notice and this permission notice shall be
|
12
|
-
included in all copies or substantial portions of the Software.
|
13
|
-
|
14
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
-
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
-
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
@@ -1,23 +0,0 @@
|
|
1
|
-
require 'rake'
|
2
|
-
require 'rake/testtask'
|
3
|
-
require 'rdoc/task'
|
4
|
-
|
5
|
-
desc 'Default: run unit tests.'
|
6
|
-
task :default => :test
|
7
|
-
|
8
|
-
desc 'Test the <%= file_name %> plugin.'
|
9
|
-
Rake::TestTask.new(:test) do |t|
|
10
|
-
t.libs << 'lib'
|
11
|
-
t.libs << 'test'
|
12
|
-
t.pattern = 'test/**/*_test.rb'
|
13
|
-
t.verbose = true
|
14
|
-
end
|
15
|
-
|
16
|
-
desc 'Generate documentation for the <%= file_name %> plugin.'
|
17
|
-
RDoc::Task.new(:rdoc) do |rdoc|
|
18
|
-
rdoc.rdoc_dir = 'rdoc'
|
19
|
-
rdoc.title = '<%= class_name %>'
|
20
|
-
rdoc.options << '--line-numbers' << '--inline-source'
|
21
|
-
rdoc.rdoc_files.include('README')
|
22
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
23
|
-
end
|
@@ -1 +0,0 @@
|
|
1
|
-
# Include hook code here
|
@@ -1 +0,0 @@
|
|
1
|
-
# Install hook code here
|
@@ -1 +0,0 @@
|
|
1
|
-
# <%= class_name %>
|
@@ -1 +0,0 @@
|
|
1
|
-
# Uninstall hook code here
|
@@ -1,23 +0,0 @@
|
|
1
|
-
Description:
|
2
|
-
Stubs out a new resource including an empty model and controller suitable
|
3
|
-
for a restful, resource-oriented application. Pass the singular model name,
|
4
|
-
either CamelCased or under_scored, as the first argument, and an optional
|
5
|
-
list of attribute pairs.
|
6
|
-
|
7
|
-
Attribute pairs are column_name:sql_type arguments specifying the
|
8
|
-
model's attributes. Timestamps are added by default, so you don't have to
|
9
|
-
specify them by hand as 'created_at:datetime updated_at:datetime'.
|
10
|
-
|
11
|
-
You don't have to think up every attribute up front, but it helps to
|
12
|
-
sketch out a few so you can start working with the resource immediately.
|
13
|
-
|
14
|
-
This creates a model, controller, helper, tests and fixtures for all of them,
|
15
|
-
and the corresponding map.resources declaration in config/routes.rb
|
16
|
-
|
17
|
-
Unlike the scaffold generator, the resource generator does not create
|
18
|
-
views or add any methods to the generated controller.
|
19
|
-
|
20
|
-
Examples:
|
21
|
-
`./script/generate resource post` # no attributes
|
22
|
-
`./script/generate resource post title:string body:text published:boolean`
|
23
|
-
`./script/generate resource purchase order_id:integer amount:decimal`
|
@@ -1,76 +0,0 @@
|
|
1
|
-
class ResourceGenerator < Rails::Generator::NamedBase
|
2
|
-
default_options :skip_timestamps => false, :skip_migration => false
|
3
|
-
|
4
|
-
attr_reader :controller_name,
|
5
|
-
:controller_class_path,
|
6
|
-
:controller_file_path,
|
7
|
-
:controller_class_nesting,
|
8
|
-
:controller_class_nesting_depth,
|
9
|
-
:controller_class_name,
|
10
|
-
:controller_singular_name,
|
11
|
-
:controller_plural_name
|
12
|
-
alias_method :controller_file_name, :controller_singular_name
|
13
|
-
alias_method :controller_table_name, :controller_plural_name
|
14
|
-
|
15
|
-
def initialize(runtime_args, runtime_options = {})
|
16
|
-
super
|
17
|
-
|
18
|
-
@controller_name = @name.pluralize
|
19
|
-
|
20
|
-
base_name, @controller_class_path, @controller_file_path, @controller_class_nesting, @controller_class_nesting_depth = extract_modules(@controller_name)
|
21
|
-
@controller_class_name_without_nesting, @controller_singular_name, @controller_plural_name = inflect_names(base_name)
|
22
|
-
|
23
|
-
if @controller_class_nesting.empty?
|
24
|
-
@controller_class_name = @controller_class_name_without_nesting
|
25
|
-
else
|
26
|
-
@controller_class_name = "#{@controller_class_nesting}::#{@controller_class_name_without_nesting}"
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
def manifest
|
31
|
-
record do |m|
|
32
|
-
# Check for class naming collisions.
|
33
|
-
m.class_collisions("#{controller_class_name}Controller", "#{controller_class_name}Helper")
|
34
|
-
m.class_collisions(class_name)
|
35
|
-
|
36
|
-
# Controller, helper, views, and test directories.
|
37
|
-
m.directory(File.join('app/models', class_path))
|
38
|
-
m.directory(File.join('app/controllers', controller_class_path))
|
39
|
-
m.directory(File.join('app/helpers', controller_class_path))
|
40
|
-
m.directory(File.join('app/views', controller_class_path, controller_file_name))
|
41
|
-
m.directory(File.join('test/functional', controller_class_path))
|
42
|
-
m.directory(File.join('test/unit', class_path))
|
43
|
-
m.directory(File.join('test/unit/helpers', class_path))
|
44
|
-
|
45
|
-
m.dependency 'model', [name] + @args, :collision => :skip
|
46
|
-
|
47
|
-
m.template(
|
48
|
-
'controller.rb', File.join('app/controllers', controller_class_path, "#{controller_file_name}_controller.rb")
|
49
|
-
)
|
50
|
-
|
51
|
-
m.template('functional_test.rb', File.join('test/functional', controller_class_path, "#{controller_file_name}_controller_test.rb"))
|
52
|
-
m.template('helper.rb', File.join('app/helpers', controller_class_path, "#{controller_file_name}_helper.rb"))
|
53
|
-
m.template('helper_test.rb', File.join('test/unit/helpers', controller_class_path, "#{controller_file_name}_helper_test.rb"))
|
54
|
-
|
55
|
-
m.route_resources controller_file_name
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
protected
|
60
|
-
def banner
|
61
|
-
"Usage: #{$0} resource ModelName [field:type, field:type]"
|
62
|
-
end
|
63
|
-
|
64
|
-
def add_options!(opt)
|
65
|
-
opt.separator ''
|
66
|
-
opt.separator 'Options:'
|
67
|
-
opt.on("--skip-timestamps",
|
68
|
-
"Don't add timestamps to the migration file for this model") { |v| options[:skip_timestamps] = v }
|
69
|
-
opt.on("--skip-migration",
|
70
|
-
"Don't generate a migration file for this model") { |v| options[:skip_migration] = v }
|
71
|
-
end
|
72
|
-
|
73
|
-
def model_name
|
74
|
-
class_name.demodulize
|
75
|
-
end
|
76
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
Description:
|
2
|
-
Scaffolds an entire resource, from model and migration to controller and
|
3
|
-
views, along with a full test suite. The resource is ready to use as a
|
4
|
-
starting point for your RESTful, resource-oriented application.
|
5
|
-
|
6
|
-
Pass the name of the model (in singular form), either CamelCased or
|
7
|
-
under_scored, as the first argument, and an optional list of attribute
|
8
|
-
pairs.
|
9
|
-
|
10
|
-
Attribute pairs are column_name:sql_type arguments specifying the
|
11
|
-
model's attributes. Timestamps are added by default, so you don't have to
|
12
|
-
specify them by hand as 'created_at:datetime updated_at:datetime'.
|
13
|
-
|
14
|
-
You don't have to think up every attribute up front, but it helps to
|
15
|
-
sketch out a few so you can start working with the resource immediately.
|
16
|
-
|
17
|
-
For example, 'scaffold post title:string body:text published:boolean'
|
18
|
-
gives you a model with those three attributes, a controller that handles
|
19
|
-
the create/show/update/destroy, forms to create and edit your posts, and
|
20
|
-
an index that lists them all, as well as a map.resources :posts
|
21
|
-
declaration in config/routes.rb.
|
22
|
-
|
23
|
-
If you want to remove all the generated files, run
|
24
|
-
'script/destroy scaffold ModelName'.
|
25
|
-
|
26
|
-
Examples:
|
27
|
-
`./script/generate scaffold post`
|
28
|
-
`./script/generate scaffold post title:string body:text published:boolean`
|
29
|
-
`./script/generate scaffold purchase order_id:integer amount:decimal`
|
@@ -1,103 +0,0 @@
|
|
1
|
-
class ScaffoldGenerator < Rails::Generator::NamedBase
|
2
|
-
default_options :skip_timestamps => false, :skip_migration => false, :force_plural => false
|
3
|
-
|
4
|
-
attr_reader :controller_name,
|
5
|
-
:controller_class_path,
|
6
|
-
:controller_file_path,
|
7
|
-
:controller_class_nesting,
|
8
|
-
:controller_class_nesting_depth,
|
9
|
-
:controller_class_name,
|
10
|
-
:controller_underscore_name,
|
11
|
-
:controller_singular_name,
|
12
|
-
:controller_plural_name
|
13
|
-
alias_method :controller_file_name, :controller_underscore_name
|
14
|
-
alias_method :controller_table_name, :controller_plural_name
|
15
|
-
|
16
|
-
def initialize(runtime_args, runtime_options = {})
|
17
|
-
super
|
18
|
-
|
19
|
-
if @name == @name.pluralize && !options[:force_plural]
|
20
|
-
logger.warning "Plural version of the model detected, using singularized version. Override with --force-plural."
|
21
|
-
@name = @name.singularize
|
22
|
-
assign_names!(@name)
|
23
|
-
end
|
24
|
-
|
25
|
-
@controller_name = @name.pluralize
|
26
|
-
|
27
|
-
base_name, @controller_class_path, @controller_file_path, @controller_class_nesting, @controller_class_nesting_depth = extract_modules(@controller_name)
|
28
|
-
@controller_class_name_without_nesting, @controller_underscore_name, @controller_plural_name = inflect_names(base_name)
|
29
|
-
@controller_singular_name=base_name.singularize
|
30
|
-
if @controller_class_nesting.empty?
|
31
|
-
@controller_class_name = @controller_class_name_without_nesting
|
32
|
-
else
|
33
|
-
@controller_class_name = "#{@controller_class_nesting}::#{@controller_class_name_without_nesting}"
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
def manifest
|
38
|
-
record do |m|
|
39
|
-
# Check for class naming collisions.
|
40
|
-
m.class_collisions("#{controller_class_name}Controller", "#{controller_class_name}Helper")
|
41
|
-
m.class_collisions(class_name)
|
42
|
-
|
43
|
-
# Controller, helper, views, test and stylesheets directories.
|
44
|
-
m.directory(File.join('app/models', class_path))
|
45
|
-
m.directory(File.join('app/controllers', controller_class_path))
|
46
|
-
m.directory(File.join('app/helpers', controller_class_path))
|
47
|
-
m.directory(File.join('app/views', controller_class_path, controller_file_name))
|
48
|
-
m.directory(File.join('app/views/layouts', controller_class_path))
|
49
|
-
m.directory(File.join('test/functional', controller_class_path))
|
50
|
-
m.directory(File.join('test/unit', class_path))
|
51
|
-
m.directory(File.join('test/unit/helpers', class_path))
|
52
|
-
m.directory(File.join('public/stylesheets', class_path))
|
53
|
-
|
54
|
-
for action in scaffold_views
|
55
|
-
m.template(
|
56
|
-
"view_#{action}.html.erb",
|
57
|
-
File.join('app/views', controller_class_path, controller_file_name, "#{action}.html.erb")
|
58
|
-
)
|
59
|
-
end
|
60
|
-
|
61
|
-
# Layout and stylesheet.
|
62
|
-
m.template('layout.html.erb', File.join('app/views/layouts', controller_class_path, "#{controller_file_name}.html.erb"))
|
63
|
-
m.template('style.css', 'public/stylesheets/scaffold.css')
|
64
|
-
|
65
|
-
m.template(
|
66
|
-
'controller.rb', File.join('app/controllers', controller_class_path, "#{controller_file_name}_controller.rb")
|
67
|
-
)
|
68
|
-
|
69
|
-
m.template('functional_test.rb', File.join('test/functional', controller_class_path, "#{controller_file_name}_controller_test.rb"))
|
70
|
-
m.template('helper.rb', File.join('app/helpers', controller_class_path, "#{controller_file_name}_helper.rb"))
|
71
|
-
m.template('helper_test.rb', File.join('test/unit/helpers', controller_class_path, "#{controller_file_name}_helper_test.rb"))
|
72
|
-
|
73
|
-
m.route_resources controller_file_name
|
74
|
-
|
75
|
-
m.dependency 'model', [name] + @args, :collision => :skip
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
protected
|
80
|
-
# Override with your own usage banner.
|
81
|
-
def banner
|
82
|
-
"Usage: #{$0} scaffold ModelName [field:type, field:type]"
|
83
|
-
end
|
84
|
-
|
85
|
-
def add_options!(opt)
|
86
|
-
opt.separator ''
|
87
|
-
opt.separator 'Options:'
|
88
|
-
opt.on("--skip-timestamps",
|
89
|
-
"Don't add timestamps to the migration file for this model") { |v| options[:skip_timestamps] = v }
|
90
|
-
opt.on("--skip-migration",
|
91
|
-
"Don't generate a migration file for this model") { |v| options[:skip_migration] = v }
|
92
|
-
opt.on("--force-plural",
|
93
|
-
"Forces the generation of a plural ModelName") { |v| options[:force_plural] = v }
|
94
|
-
end
|
95
|
-
|
96
|
-
def scaffold_views
|
97
|
-
%w[ index show new edit ]
|
98
|
-
end
|
99
|
-
|
100
|
-
def model_name
|
101
|
-
class_name.demodulize
|
102
|
-
end
|
103
|
-
end
|
@@ -1,83 +0,0 @@
|
|
1
|
-
class <%= controller_class_name %>Controller < ApplicationController
|
2
|
-
# GET /<%= table_name %>
|
3
|
-
# GET /<%= table_name %>.xml
|
4
|
-
def index
|
5
|
-
@<%= table_name %> = <%= class_name %>.all
|
6
|
-
|
7
|
-
respond_to do |format|
|
8
|
-
format.html # index.html.erb
|
9
|
-
format.xml { render :xml => @<%= table_name %> }
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
# GET /<%= table_name %>/1
|
14
|
-
# GET /<%= table_name %>/1.xml
|
15
|
-
def show
|
16
|
-
@<%= file_name %> = <%= class_name %>.find(params[:id])
|
17
|
-
|
18
|
-
respond_to do |format|
|
19
|
-
format.html # show.html.erb
|
20
|
-
format.xml { render :xml => @<%= file_name %> }
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
# GET /<%= table_name %>/new
|
25
|
-
# GET /<%= table_name %>/new.xml
|
26
|
-
def new
|
27
|
-
@<%= file_name %> = <%= class_name %>.new
|
28
|
-
|
29
|
-
respond_to do |format|
|
30
|
-
format.html # new.html.erb
|
31
|
-
format.xml { render :xml => @<%= file_name %> }
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
# GET /<%= table_name %>/1/edit
|
36
|
-
def edit
|
37
|
-
@<%= file_name %> = <%= class_name %>.find(params[:id])
|
38
|
-
end
|
39
|
-
|
40
|
-
# POST /<%= table_name %>
|
41
|
-
# POST /<%= table_name %>.xml
|
42
|
-
def create
|
43
|
-
@<%= file_name %> = <%= class_name %>.new(params[:<%= file_name %>])
|
44
|
-
|
45
|
-
respond_to do |format|
|
46
|
-
if @<%= file_name %>.save
|
47
|
-
format.html { redirect_to(@<%= file_name %>, :notice => '<%= class_name %> was successfully created.') }
|
48
|
-
format.xml { render :xml => @<%= file_name %>, :status => :created, :location => @<%= file_name %> }
|
49
|
-
else
|
50
|
-
format.html { render :action => "new" }
|
51
|
-
format.xml { render :xml => @<%= file_name %>.errors, :status => :unprocessable_entity }
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
# PUT /<%= table_name %>/1
|
57
|
-
# PUT /<%= table_name %>/1.xml
|
58
|
-
def update
|
59
|
-
@<%= file_name %> = <%= class_name %>.find(params[:id])
|
60
|
-
|
61
|
-
respond_to do |format|
|
62
|
-
if @<%= file_name %>.update_attributes(params[:<%= file_name %>])
|
63
|
-
format.html { redirect_to(@<%= file_name %>, :notice => '<%= class_name %> was successfully updated.') }
|
64
|
-
format.xml { head :ok }
|
65
|
-
else
|
66
|
-
format.html { render :action => "edit" }
|
67
|
-
format.xml { render :xml => @<%= file_name %>.errors, :status => :unprocessable_entity }
|
68
|
-
end
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
# DELETE /<%= table_name %>/1
|
73
|
-
# DELETE /<%= table_name %>/1.xml
|
74
|
-
def destroy
|
75
|
-
@<%= file_name %> = <%= class_name %>.find(params[:id])
|
76
|
-
@<%= file_name %>.destroy
|
77
|
-
|
78
|
-
respond_to do |format|
|
79
|
-
format.html { redirect_to(<%= table_name %>_url) }
|
80
|
-
format.xml { head :ok }
|
81
|
-
end
|
82
|
-
end
|
83
|
-
end
|
@@ -1,45 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
class <%= controller_class_name %>ControllerTest < ActionController::TestCase
|
4
|
-
test "should get index" do
|
5
|
-
get :index
|
6
|
-
assert_response :success
|
7
|
-
assert_not_nil assigns(:<%= table_name %>)
|
8
|
-
end
|
9
|
-
|
10
|
-
test "should get new" do
|
11
|
-
get :new
|
12
|
-
assert_response :success
|
13
|
-
end
|
14
|
-
|
15
|
-
test "should create <%= file_name %>" do
|
16
|
-
assert_difference('<%= class_name %>.count') do
|
17
|
-
post :create, :<%= file_name %> => { }
|
18
|
-
end
|
19
|
-
|
20
|
-
assert_redirected_to <%= file_name %>_path(assigns(:<%= file_name %>))
|
21
|
-
end
|
22
|
-
|
23
|
-
test "should show <%= file_name %>" do
|
24
|
-
get :show, :id => <%= table_name %>(:one).to_param
|
25
|
-
assert_response :success
|
26
|
-
end
|
27
|
-
|
28
|
-
test "should get edit" do
|
29
|
-
get :edit, :id => <%= table_name %>(:one).to_param
|
30
|
-
assert_response :success
|
31
|
-
end
|
32
|
-
|
33
|
-
test "should update <%= file_name %>" do
|
34
|
-
put :update, :id => <%= table_name %>(:one).to_param, :<%= file_name %> => { }
|
35
|
-
assert_redirected_to <%= file_name %>_path(assigns(:<%= file_name %>))
|
36
|
-
end
|
37
|
-
|
38
|
-
test "should destroy <%= file_name %>" do
|
39
|
-
assert_difference('<%= class_name %>.count', -1) do
|
40
|
-
delete :destroy, :id => <%= table_name %>(:one).to_param
|
41
|
-
end
|
42
|
-
|
43
|
-
assert_redirected_to <%= table_name %>_path
|
44
|
-
end
|
45
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
-
|
4
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
5
|
-
<head>
|
6
|
-
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
|
7
|
-
<title><%= controller_class_name %>: <%%= controller.action_name %></title>
|
8
|
-
<%%= stylesheet_link_tag 'scaffold' %>
|
9
|
-
</head>
|
10
|
-
<body>
|
11
|
-
|
12
|
-
<p style="color: green"><%%= notice %></p>
|
13
|
-
|
14
|
-
<%%= yield %>
|
15
|
-
|
16
|
-
</body>
|
17
|
-
</html>
|
@@ -1,54 +0,0 @@
|
|
1
|
-
body { background-color: #fff; color: #333; }
|
2
|
-
|
3
|
-
body, p, ol, ul, td {
|
4
|
-
font-family: verdana, arial, helvetica, sans-serif;
|
5
|
-
font-size: 13px;
|
6
|
-
line-height: 18px;
|
7
|
-
}
|
8
|
-
|
9
|
-
pre {
|
10
|
-
background-color: #eee;
|
11
|
-
padding: 10px;
|
12
|
-
font-size: 11px;
|
13
|
-
}
|
14
|
-
|
15
|
-
a { color: #000; }
|
16
|
-
a:visited { color: #666; }
|
17
|
-
a:hover { color: #fff; background-color:#000; }
|
18
|
-
|
19
|
-
.fieldWithErrors {
|
20
|
-
padding: 2px;
|
21
|
-
background-color: red;
|
22
|
-
display: table;
|
23
|
-
}
|
24
|
-
|
25
|
-
#errorExplanation {
|
26
|
-
width: 400px;
|
27
|
-
border: 2px solid red;
|
28
|
-
padding: 7px;
|
29
|
-
padding-bottom: 12px;
|
30
|
-
margin-bottom: 20px;
|
31
|
-
background-color: #f0f0f0;
|
32
|
-
}
|
33
|
-
|
34
|
-
#errorExplanation h2 {
|
35
|
-
text-align: left;
|
36
|
-
font-weight: bold;
|
37
|
-
padding: 5px 5px 5px 15px;
|
38
|
-
font-size: 12px;
|
39
|
-
margin: -7px;
|
40
|
-
background-color: #c00;
|
41
|
-
color: #fff;
|
42
|
-
}
|
43
|
-
|
44
|
-
#errorExplanation p {
|
45
|
-
color: #333;
|
46
|
-
margin-bottom: 0;
|
47
|
-
padding: 5px;
|
48
|
-
}
|
49
|
-
|
50
|
-
#errorExplanation ul li {
|
51
|
-
font-size: 12px;
|
52
|
-
list-style: square;
|
53
|
-
}
|
54
|
-
|