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.
Files changed (217) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +2 -2
  3. data/README.md +97 -0
  4. metadata +207 -332
  5. data/CHANGELOG +0 -2193
  6. data/README +0 -243
  7. data/Rakefile +0 -365
  8. data/bin/about +0 -4
  9. data/bin/console +0 -3
  10. data/bin/dbconsole +0 -3
  11. data/bin/destroy +0 -3
  12. data/bin/generate +0 -3
  13. data/bin/performance/benchmarker +0 -3
  14. data/bin/performance/profiler +0 -3
  15. data/bin/plugin +0 -3
  16. data/bin/rails +0 -21
  17. data/bin/runner +0 -3
  18. data/bin/server +0 -3
  19. data/builtin/rails_info/rails/info.rb +0 -131
  20. data/builtin/rails_info/rails/info_controller.rb +0 -9
  21. data/builtin/rails_info/rails/info_helper.rb +0 -2
  22. data/builtin/rails_info/rails_info_controller.rb +0 -2
  23. data/configs/databases/frontbase.yml +0 -28
  24. data/configs/databases/ibm_db.yml +0 -62
  25. data/configs/databases/mysql.yml +0 -60
  26. data/configs/databases/oracle.yml +0 -39
  27. data/configs/databases/postgresql.yml +0 -51
  28. data/configs/databases/sqlite2.yml +0 -19
  29. data/configs/databases/sqlite3.yml +0 -22
  30. data/configs/empty.log +0 -0
  31. data/configs/initializers/backtrace_silencers.rb +0 -7
  32. data/configs/initializers/cookie_verification_secret.rb +0 -7
  33. data/configs/initializers/inflections.rb +0 -10
  34. data/configs/initializers/mime_types.rb +0 -5
  35. data/configs/initializers/new_rails_defaults.rb +0 -21
  36. data/configs/initializers/session_store.rb +0 -15
  37. data/configs/locales/en.yml +0 -5
  38. data/configs/routes.rb +0 -43
  39. data/configs/seeds.rb +0 -7
  40. data/dispatches/config.ru +0 -7
  41. data/dispatches/dispatch.fcgi +0 -24
  42. data/dispatches/dispatch.rb +0 -10
  43. data/dispatches/gateway.cgi +0 -97
  44. data/doc/README_FOR_APP +0 -2
  45. data/environments/boot.rb +0 -114
  46. data/environments/development.rb +0 -17
  47. data/environments/environment.rb +0 -41
  48. data/environments/production.rb +0 -28
  49. data/environments/test.rb +0 -28
  50. data/fresh_rakefile +0 -10
  51. data/helpers/application_controller.rb +0 -10
  52. data/helpers/application_helper.rb +0 -3
  53. data/helpers/performance_test.rb +0 -9
  54. data/helpers/test_helper.rb +0 -38
  55. data/html/404.html +0 -30
  56. data/html/422.html +0 -30
  57. data/html/500.html +0 -30
  58. data/html/favicon.ico +0 -0
  59. data/html/images/rails.png +0 -0
  60. data/html/index.html +0 -275
  61. data/html/javascripts/application.js +0 -2
  62. data/html/javascripts/controls.js +0 -963
  63. data/html/javascripts/dragdrop.js +0 -973
  64. data/html/javascripts/effects.js +0 -1128
  65. data/html/javascripts/prototype.js +0 -4320
  66. data/html/robots.txt +0 -5
  67. data/lib/code_statistics.rb +0 -107
  68. data/lib/commands/about.rb +0 -3
  69. data/lib/commands/console.rb +0 -45
  70. data/lib/commands/dbconsole.rb +0 -87
  71. data/lib/commands/destroy.rb +0 -6
  72. data/lib/commands/generate.rb +0 -6
  73. data/lib/commands/ncgi/listener +0 -86
  74. data/lib/commands/ncgi/tracker +0 -69
  75. data/lib/commands/performance/benchmarker.rb +0 -24
  76. data/lib/commands/performance/profiler.rb +0 -50
  77. data/lib/commands/plugin.rb +0 -968
  78. data/lib/commands/runner.rb +0 -54
  79. data/lib/commands/server.rb +0 -114
  80. data/lib/commands/update.rb +0 -4
  81. data/lib/commands.rb +0 -17
  82. data/lib/console_app.rb +0 -30
  83. data/lib/console_sandbox.rb +0 -6
  84. data/lib/console_with_helpers.rb +0 -5
  85. data/lib/dispatcher.rb +0 -24
  86. data/lib/fcgi_handler.rb +0 -239
  87. data/lib/initializer.rb +0 -1152
  88. data/lib/performance_test_help.rb +0 -5
  89. data/lib/rails/backtrace_cleaner.rb +0 -54
  90. data/lib/rails/gem_builder.rb +0 -21
  91. data/lib/rails/gem_dependency.rb +0 -317
  92. data/lib/rails/plugin/loader.rb +0 -198
  93. data/lib/rails/plugin/locator.rb +0 -100
  94. data/lib/rails/plugin.rb +0 -179
  95. data/lib/rails/rack/debugger.rb +0 -23
  96. data/lib/rails/rack/log_tailer.rb +0 -35
  97. data/lib/rails/rack/metal.rb +0 -51
  98. data/lib/rails/rack/static.rb +0 -46
  99. data/lib/rails/rack.rb +0 -8
  100. data/lib/rails/vendor_gem_source_index.rb +0 -140
  101. data/lib/rails/version.rb +0 -9
  102. data/lib/rails_generator/base.rb +0 -266
  103. data/lib/rails_generator/commands.rb +0 -621
  104. data/lib/rails_generator/generated_attribute.rb +0 -47
  105. data/lib/rails_generator/generators/applications/app/USAGE +0 -9
  106. data/lib/rails_generator/generators/applications/app/app_generator.rb +0 -266
  107. data/lib/rails_generator/generators/applications/app/scm/git.rb +0 -18
  108. data/lib/rails_generator/generators/applications/app/scm/scm.rb +0 -8
  109. data/lib/rails_generator/generators/applications/app/scm/svn.rb +0 -7
  110. data/lib/rails_generator/generators/applications/app/template_runner.rb +0 -401
  111. data/lib/rails_generator/generators/components/controller/USAGE +0 -30
  112. data/lib/rails_generator/generators/components/controller/controller_generator.rb +0 -43
  113. data/lib/rails_generator/generators/components/controller/templates/controller.rb +0 -7
  114. data/lib/rails_generator/generators/components/controller/templates/functional_test.rb +0 -8
  115. data/lib/rails_generator/generators/components/controller/templates/helper.rb +0 -2
  116. data/lib/rails_generator/generators/components/controller/templates/helper_test.rb +0 -4
  117. data/lib/rails_generator/generators/components/controller/templates/view.html.erb +0 -2
  118. data/lib/rails_generator/generators/components/helper/USAGE +0 -24
  119. data/lib/rails_generator/generators/components/helper/helper_generator.rb +0 -25
  120. data/lib/rails_generator/generators/components/helper/templates/helper.rb +0 -2
  121. data/lib/rails_generator/generators/components/helper/templates/helper_test.rb +0 -4
  122. data/lib/rails_generator/generators/components/integration_test/USAGE +0 -8
  123. data/lib/rails_generator/generators/components/integration_test/integration_test_generator.rb +0 -16
  124. data/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb +0 -10
  125. data/lib/rails_generator/generators/components/mailer/USAGE +0 -16
  126. data/lib/rails_generator/generators/components/mailer/mailer_generator.rb +0 -30
  127. data/lib/rails_generator/generators/components/mailer/templates/fixture.erb +0 -3
  128. data/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml +0 -0
  129. data/lib/rails_generator/generators/components/mailer/templates/mailer.rb +0 -15
  130. data/lib/rails_generator/generators/components/mailer/templates/unit_test.rb +0 -20
  131. data/lib/rails_generator/generators/components/mailer/templates/view.erb +0 -3
  132. data/lib/rails_generator/generators/components/mailer/templates/view.rhtml +0 -0
  133. data/lib/rails_generator/generators/components/metal/USAGE +0 -8
  134. data/lib/rails_generator/generators/components/metal/metal_generator.rb +0 -8
  135. data/lib/rails_generator/generators/components/metal/templates/metal.rb +0 -12
  136. data/lib/rails_generator/generators/components/migration/USAGE +0 -29
  137. data/lib/rails_generator/generators/components/migration/migration_generator.rb +0 -20
  138. data/lib/rails_generator/generators/components/migration/templates/migration.rb +0 -11
  139. data/lib/rails_generator/generators/components/model/USAGE +0 -27
  140. data/lib/rails_generator/generators/components/model/model_generator.rb +0 -52
  141. data/lib/rails_generator/generators/components/model/templates/fixtures.yml +0 -23
  142. data/lib/rails_generator/generators/components/model/templates/migration.rb +0 -16
  143. data/lib/rails_generator/generators/components/model/templates/model.rb +0 -5
  144. data/lib/rails_generator/generators/components/model/templates/unit_test.rb +0 -8
  145. data/lib/rails_generator/generators/components/observer/USAGE +0 -13
  146. data/lib/rails_generator/generators/components/observer/observer_generator.rb +0 -16
  147. data/lib/rails_generator/generators/components/observer/templates/observer.rb +0 -2
  148. data/lib/rails_generator/generators/components/observer/templates/unit_test.rb +0 -8
  149. data/lib/rails_generator/generators/components/performance_test/USAGE +0 -8
  150. data/lib/rails_generator/generators/components/performance_test/performance_test_generator.rb +0 -16
  151. data/lib/rails_generator/generators/components/performance_test/templates/performance_test.rb +0 -9
  152. data/lib/rails_generator/generators/components/plugin/USAGE +0 -25
  153. data/lib/rails_generator/generators/components/plugin/plugin_generator.rb +0 -39
  154. data/lib/rails_generator/generators/components/plugin/templates/MIT-LICENSE +0 -20
  155. data/lib/rails_generator/generators/components/plugin/templates/README +0 -13
  156. data/lib/rails_generator/generators/components/plugin/templates/Rakefile +0 -23
  157. data/lib/rails_generator/generators/components/plugin/templates/USAGE +0 -8
  158. data/lib/rails_generator/generators/components/plugin/templates/generator.rb +0 -8
  159. data/lib/rails_generator/generators/components/plugin/templates/init.rb +0 -1
  160. data/lib/rails_generator/generators/components/plugin/templates/install.rb +0 -1
  161. data/lib/rails_generator/generators/components/plugin/templates/plugin.rb +0 -1
  162. data/lib/rails_generator/generators/components/plugin/templates/tasks.rake +0 -4
  163. data/lib/rails_generator/generators/components/plugin/templates/test_helper.rb +0 -4
  164. data/lib/rails_generator/generators/components/plugin/templates/uninstall.rb +0 -1
  165. data/lib/rails_generator/generators/components/plugin/templates/unit_test.rb +0 -8
  166. data/lib/rails_generator/generators/components/resource/USAGE +0 -23
  167. data/lib/rails_generator/generators/components/resource/resource_generator.rb +0 -76
  168. data/lib/rails_generator/generators/components/resource/templates/controller.rb +0 -2
  169. data/lib/rails_generator/generators/components/resource/templates/functional_test.rb +0 -8
  170. data/lib/rails_generator/generators/components/resource/templates/helper.rb +0 -2
  171. data/lib/rails_generator/generators/components/resource/templates/helper_test.rb +0 -4
  172. data/lib/rails_generator/generators/components/scaffold/USAGE +0 -29
  173. data/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb +0 -103
  174. data/lib/rails_generator/generators/components/scaffold/templates/controller.rb +0 -83
  175. data/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb +0 -45
  176. data/lib/rails_generator/generators/components/scaffold/templates/helper.rb +0 -2
  177. data/lib/rails_generator/generators/components/scaffold/templates/helper_test.rb +0 -4
  178. data/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb +0 -17
  179. data/lib/rails_generator/generators/components/scaffold/templates/style.css +0 -54
  180. data/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb +0 -18
  181. data/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb +0 -24
  182. data/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb +0 -17
  183. data/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb +0 -10
  184. data/lib/rails_generator/generators/components/session_migration/USAGE +0 -10
  185. data/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb +0 -18
  186. data/lib/rails_generator/generators/components/session_migration/templates/migration.rb +0 -16
  187. data/lib/rails_generator/lookup.rb +0 -249
  188. data/lib/rails_generator/manifest.rb +0 -53
  189. data/lib/rails_generator/options.rb +0 -150
  190. data/lib/rails_generator/scripts/destroy.rb +0 -29
  191. data/lib/rails_generator/scripts/generate.rb +0 -7
  192. data/lib/rails_generator/scripts/update.rb +0 -12
  193. data/lib/rails_generator/scripts.rb +0 -89
  194. data/lib/rails_generator/secret_key_generator.rb +0 -24
  195. data/lib/rails_generator/simple_logger.rb +0 -46
  196. data/lib/rails_generator/spec.rb +0 -44
  197. data/lib/rails_generator.rb +0 -46
  198. data/lib/railties_path.rb +0 -1
  199. data/lib/ruby_version_check.rb +0 -17
  200. data/lib/rubyprof_ext.rb +0 -35
  201. data/lib/source_annotation_extractor.rb +0 -102
  202. data/lib/tasks/annotations.rake +0 -20
  203. data/lib/tasks/databases.rake +0 -436
  204. data/lib/tasks/documentation.rake +0 -93
  205. data/lib/tasks/framework.rake +0 -146
  206. data/lib/tasks/gems.rake +0 -78
  207. data/lib/tasks/log.rake +0 -9
  208. data/lib/tasks/middleware.rake +0 -7
  209. data/lib/tasks/misc.rake +0 -63
  210. data/lib/tasks/rails.rb +0 -14
  211. data/lib/tasks/routes.rake +0 -18
  212. data/lib/tasks/statistics.rake +0 -17
  213. data/lib/tasks/testing.rake +0 -139
  214. data/lib/tasks/tmp.rake +0 -37
  215. data/lib/test_help.rb +0 -38
  216. data/lib/webrick_server.rb +0 -156
  217. 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,13 +0,0 @@
1
- <%= class_name %>
2
- <%= "=" * class_name.size %>
3
-
4
- Introduction goes here.
5
-
6
-
7
- Example
8
- =======
9
-
10
- Example goes here.
11
-
12
-
13
- Copyright (c) <%= Date.today.year %> [name of plugin creator], released under the MIT license
@@ -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,8 +0,0 @@
1
- Description:
2
- Explain the generator
3
-
4
- Example:
5
- ./script/generate <%= file_name %> Thing
6
-
7
- This will create:
8
- what/will/it/create
@@ -1,8 +0,0 @@
1
- class <%= class_name %>Generator < Rails::Generator::NamedBase
2
- def manifest
3
- record do |m|
4
- # m.directory "lib"
5
- # m.template 'README', "README"
6
- end
7
- end
8
- end
@@ -1 +0,0 @@
1
- # Include hook code here
@@ -1 +0,0 @@
1
- # Install hook code here
@@ -1 +0,0 @@
1
- # <%= class_name %>
@@ -1,4 +0,0 @@
1
- # desc "Explaining what the task does"
2
- # task :<%= file_name %> do
3
- # # Task goes here
4
- # end
@@ -1,4 +0,0 @@
1
- require 'rubygems'
2
- require 'test/unit'
3
- require 'active_support'
4
- require 'active_support/test_case'
@@ -1 +0,0 @@
1
- # Uninstall hook code here
@@ -1,8 +0,0 @@
1
- require 'test_helper'
2
-
3
- class <%= class_name %>Test < ActiveSupport::TestCase
4
- # Replace this with your real tests.
5
- test "the truth" do
6
- assert true
7
- end
8
- end
@@ -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,2 +0,0 @@
1
- class <%= controller_class_name %>Controller < ApplicationController
2
- end
@@ -1,8 +0,0 @@
1
- require 'test_helper'
2
-
3
- class <%= controller_class_name %>ControllerTest < ActionController::TestCase
4
- # Replace this with your real tests.
5
- test "the truth" do
6
- assert true
7
- end
8
- end
@@ -1,2 +0,0 @@
1
- module <%= controller_class_name %>Helper
2
- end
@@ -1,4 +0,0 @@
1
- require 'test_helper'
2
-
3
- class <%= controller_class_name %>HelperTest < ActionView::TestCase
4
- 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,2 +0,0 @@
1
- module <%= controller_class_name %>Helper
2
- end
@@ -1,4 +0,0 @@
1
- require 'test_helper'
2
-
3
- class <%= controller_class_name %>HelperTest < ActionView::TestCase
4
- 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
-