rails 2.3.18 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rails might be problematic. Click here for more details.

Files changed (215) hide show
  1. data/bin/rails +8 -20
  2. metadata +74 -251
  3. data/CHANGELOG +0 -2193
  4. data/MIT-LICENSE +0 -20
  5. data/README +0 -243
  6. data/Rakefile +0 -365
  7. data/bin/about +0 -4
  8. data/bin/console +0 -3
  9. data/bin/dbconsole +0 -3
  10. data/bin/destroy +0 -3
  11. data/bin/generate +0 -3
  12. data/bin/performance/benchmarker +0 -3
  13. data/bin/performance/profiler +0 -3
  14. data/bin/plugin +0 -3
  15. data/bin/runner +0 -3
  16. data/bin/server +0 -3
  17. data/builtin/rails_info/rails/info.rb +0 -131
  18. data/builtin/rails_info/rails/info_controller.rb +0 -9
  19. data/builtin/rails_info/rails/info_helper.rb +0 -2
  20. data/builtin/rails_info/rails_info_controller.rb +0 -2
  21. data/configs/databases/frontbase.yml +0 -28
  22. data/configs/databases/ibm_db.yml +0 -62
  23. data/configs/databases/mysql.yml +0 -60
  24. data/configs/databases/oracle.yml +0 -39
  25. data/configs/databases/postgresql.yml +0 -51
  26. data/configs/databases/sqlite2.yml +0 -19
  27. data/configs/databases/sqlite3.yml +0 -22
  28. data/configs/empty.log +0 -0
  29. data/configs/initializers/backtrace_silencers.rb +0 -7
  30. data/configs/initializers/cookie_verification_secret.rb +0 -7
  31. data/configs/initializers/inflections.rb +0 -10
  32. data/configs/initializers/mime_types.rb +0 -5
  33. data/configs/initializers/new_rails_defaults.rb +0 -21
  34. data/configs/initializers/session_store.rb +0 -15
  35. data/configs/locales/en.yml +0 -5
  36. data/configs/routes.rb +0 -43
  37. data/configs/seeds.rb +0 -7
  38. data/dispatches/config.ru +0 -7
  39. data/dispatches/dispatch.fcgi +0 -24
  40. data/dispatches/dispatch.rb +0 -10
  41. data/dispatches/gateway.cgi +0 -97
  42. data/doc/README_FOR_APP +0 -2
  43. data/environments/boot.rb +0 -114
  44. data/environments/development.rb +0 -17
  45. data/environments/environment.rb +0 -41
  46. data/environments/production.rb +0 -28
  47. data/environments/test.rb +0 -28
  48. data/fresh_rakefile +0 -10
  49. data/helpers/application_controller.rb +0 -10
  50. data/helpers/application_helper.rb +0 -3
  51. data/helpers/performance_test.rb +0 -9
  52. data/helpers/test_helper.rb +0 -38
  53. data/html/404.html +0 -30
  54. data/html/422.html +0 -30
  55. data/html/500.html +0 -30
  56. data/html/favicon.ico +0 -0
  57. data/html/images/rails.png +0 -0
  58. data/html/index.html +0 -275
  59. data/html/javascripts/application.js +0 -2
  60. data/html/javascripts/controls.js +0 -963
  61. data/html/javascripts/dragdrop.js +0 -973
  62. data/html/javascripts/effects.js +0 -1128
  63. data/html/javascripts/prototype.js +0 -4320
  64. data/html/robots.txt +0 -5
  65. data/lib/code_statistics.rb +0 -107
  66. data/lib/commands.rb +0 -17
  67. data/lib/commands/about.rb +0 -3
  68. data/lib/commands/console.rb +0 -45
  69. data/lib/commands/dbconsole.rb +0 -87
  70. data/lib/commands/destroy.rb +0 -6
  71. data/lib/commands/generate.rb +0 -6
  72. data/lib/commands/ncgi/listener +0 -86
  73. data/lib/commands/ncgi/tracker +0 -69
  74. data/lib/commands/performance/benchmarker.rb +0 -24
  75. data/lib/commands/performance/profiler.rb +0 -50
  76. data/lib/commands/plugin.rb +0 -968
  77. data/lib/commands/runner.rb +0 -54
  78. data/lib/commands/server.rb +0 -114
  79. data/lib/commands/update.rb +0 -4
  80. data/lib/console_app.rb +0 -30
  81. data/lib/console_sandbox.rb +0 -6
  82. data/lib/console_with_helpers.rb +0 -5
  83. data/lib/dispatcher.rb +0 -24
  84. data/lib/fcgi_handler.rb +0 -239
  85. data/lib/initializer.rb +0 -1152
  86. data/lib/performance_test_help.rb +0 -5
  87. data/lib/rails/backtrace_cleaner.rb +0 -54
  88. data/lib/rails/gem_builder.rb +0 -21
  89. data/lib/rails/gem_dependency.rb +0 -317
  90. data/lib/rails/plugin.rb +0 -179
  91. data/lib/rails/plugin/loader.rb +0 -198
  92. data/lib/rails/plugin/locator.rb +0 -100
  93. data/lib/rails/rack.rb +0 -8
  94. data/lib/rails/rack/debugger.rb +0 -23
  95. data/lib/rails/rack/log_tailer.rb +0 -35
  96. data/lib/rails/rack/metal.rb +0 -51
  97. data/lib/rails/rack/static.rb +0 -46
  98. data/lib/rails/vendor_gem_source_index.rb +0 -140
  99. data/lib/rails/version.rb +0 -9
  100. data/lib/rails_generator.rb +0 -46
  101. data/lib/rails_generator/base.rb +0 -266
  102. data/lib/rails_generator/commands.rb +0 -621
  103. data/lib/rails_generator/generated_attribute.rb +0 -47
  104. data/lib/rails_generator/generators/applications/app/USAGE +0 -9
  105. data/lib/rails_generator/generators/applications/app/app_generator.rb +0 -266
  106. data/lib/rails_generator/generators/applications/app/scm/git.rb +0 -18
  107. data/lib/rails_generator/generators/applications/app/scm/scm.rb +0 -8
  108. data/lib/rails_generator/generators/applications/app/scm/svn.rb +0 -7
  109. data/lib/rails_generator/generators/applications/app/template_runner.rb +0 -401
  110. data/lib/rails_generator/generators/components/controller/USAGE +0 -30
  111. data/lib/rails_generator/generators/components/controller/controller_generator.rb +0 -43
  112. data/lib/rails_generator/generators/components/controller/templates/controller.rb +0 -7
  113. data/lib/rails_generator/generators/components/controller/templates/functional_test.rb +0 -8
  114. data/lib/rails_generator/generators/components/controller/templates/helper.rb +0 -2
  115. data/lib/rails_generator/generators/components/controller/templates/helper_test.rb +0 -4
  116. data/lib/rails_generator/generators/components/controller/templates/view.html.erb +0 -2
  117. data/lib/rails_generator/generators/components/helper/USAGE +0 -24
  118. data/lib/rails_generator/generators/components/helper/helper_generator.rb +0 -25
  119. data/lib/rails_generator/generators/components/helper/templates/helper.rb +0 -2
  120. data/lib/rails_generator/generators/components/helper/templates/helper_test.rb +0 -4
  121. data/lib/rails_generator/generators/components/integration_test/USAGE +0 -8
  122. data/lib/rails_generator/generators/components/integration_test/integration_test_generator.rb +0 -16
  123. data/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb +0 -10
  124. data/lib/rails_generator/generators/components/mailer/USAGE +0 -16
  125. data/lib/rails_generator/generators/components/mailer/mailer_generator.rb +0 -30
  126. data/lib/rails_generator/generators/components/mailer/templates/fixture.erb +0 -3
  127. data/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml +0 -0
  128. data/lib/rails_generator/generators/components/mailer/templates/mailer.rb +0 -15
  129. data/lib/rails_generator/generators/components/mailer/templates/unit_test.rb +0 -20
  130. data/lib/rails_generator/generators/components/mailer/templates/view.erb +0 -3
  131. data/lib/rails_generator/generators/components/mailer/templates/view.rhtml +0 -0
  132. data/lib/rails_generator/generators/components/metal/USAGE +0 -8
  133. data/lib/rails_generator/generators/components/metal/metal_generator.rb +0 -8
  134. data/lib/rails_generator/generators/components/metal/templates/metal.rb +0 -12
  135. data/lib/rails_generator/generators/components/migration/USAGE +0 -29
  136. data/lib/rails_generator/generators/components/migration/migration_generator.rb +0 -20
  137. data/lib/rails_generator/generators/components/migration/templates/migration.rb +0 -11
  138. data/lib/rails_generator/generators/components/model/USAGE +0 -27
  139. data/lib/rails_generator/generators/components/model/model_generator.rb +0 -52
  140. data/lib/rails_generator/generators/components/model/templates/fixtures.yml +0 -23
  141. data/lib/rails_generator/generators/components/model/templates/migration.rb +0 -16
  142. data/lib/rails_generator/generators/components/model/templates/model.rb +0 -5
  143. data/lib/rails_generator/generators/components/model/templates/unit_test.rb +0 -8
  144. data/lib/rails_generator/generators/components/observer/USAGE +0 -13
  145. data/lib/rails_generator/generators/components/observer/observer_generator.rb +0 -16
  146. data/lib/rails_generator/generators/components/observer/templates/observer.rb +0 -2
  147. data/lib/rails_generator/generators/components/observer/templates/unit_test.rb +0 -8
  148. data/lib/rails_generator/generators/components/performance_test/USAGE +0 -8
  149. data/lib/rails_generator/generators/components/performance_test/performance_test_generator.rb +0 -16
  150. data/lib/rails_generator/generators/components/performance_test/templates/performance_test.rb +0 -9
  151. data/lib/rails_generator/generators/components/plugin/USAGE +0 -25
  152. data/lib/rails_generator/generators/components/plugin/plugin_generator.rb +0 -39
  153. data/lib/rails_generator/generators/components/plugin/templates/MIT-LICENSE +0 -20
  154. data/lib/rails_generator/generators/components/plugin/templates/README +0 -13
  155. data/lib/rails_generator/generators/components/plugin/templates/Rakefile +0 -23
  156. data/lib/rails_generator/generators/components/plugin/templates/USAGE +0 -8
  157. data/lib/rails_generator/generators/components/plugin/templates/generator.rb +0 -8
  158. data/lib/rails_generator/generators/components/plugin/templates/init.rb +0 -1
  159. data/lib/rails_generator/generators/components/plugin/templates/install.rb +0 -1
  160. data/lib/rails_generator/generators/components/plugin/templates/plugin.rb +0 -1
  161. data/lib/rails_generator/generators/components/plugin/templates/tasks.rake +0 -4
  162. data/lib/rails_generator/generators/components/plugin/templates/test_helper.rb +0 -4
  163. data/lib/rails_generator/generators/components/plugin/templates/uninstall.rb +0 -1
  164. data/lib/rails_generator/generators/components/plugin/templates/unit_test.rb +0 -8
  165. data/lib/rails_generator/generators/components/resource/USAGE +0 -23
  166. data/lib/rails_generator/generators/components/resource/resource_generator.rb +0 -76
  167. data/lib/rails_generator/generators/components/resource/templates/controller.rb +0 -2
  168. data/lib/rails_generator/generators/components/resource/templates/functional_test.rb +0 -8
  169. data/lib/rails_generator/generators/components/resource/templates/helper.rb +0 -2
  170. data/lib/rails_generator/generators/components/resource/templates/helper_test.rb +0 -4
  171. data/lib/rails_generator/generators/components/scaffold/USAGE +0 -29
  172. data/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb +0 -103
  173. data/lib/rails_generator/generators/components/scaffold/templates/controller.rb +0 -83
  174. data/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb +0 -45
  175. data/lib/rails_generator/generators/components/scaffold/templates/helper.rb +0 -2
  176. data/lib/rails_generator/generators/components/scaffold/templates/helper_test.rb +0 -4
  177. data/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb +0 -17
  178. data/lib/rails_generator/generators/components/scaffold/templates/style.css +0 -54
  179. data/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb +0 -18
  180. data/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb +0 -24
  181. data/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb +0 -17
  182. data/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb +0 -10
  183. data/lib/rails_generator/generators/components/session_migration/USAGE +0 -10
  184. data/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb +0 -18
  185. data/lib/rails_generator/generators/components/session_migration/templates/migration.rb +0 -16
  186. data/lib/rails_generator/lookup.rb +0 -249
  187. data/lib/rails_generator/manifest.rb +0 -53
  188. data/lib/rails_generator/options.rb +0 -150
  189. data/lib/rails_generator/scripts.rb +0 -89
  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/secret_key_generator.rb +0 -24
  194. data/lib/rails_generator/simple_logger.rb +0 -46
  195. data/lib/rails_generator/spec.rb +0 -44
  196. data/lib/railties_path.rb +0 -1
  197. data/lib/ruby_version_check.rb +0 -17
  198. data/lib/rubyprof_ext.rb +0 -35
  199. data/lib/source_annotation_extractor.rb +0 -102
  200. data/lib/tasks/annotations.rake +0 -20
  201. data/lib/tasks/databases.rake +0 -436
  202. data/lib/tasks/documentation.rake +0 -93
  203. data/lib/tasks/framework.rake +0 -146
  204. data/lib/tasks/gems.rake +0 -78
  205. data/lib/tasks/log.rake +0 -9
  206. data/lib/tasks/middleware.rake +0 -7
  207. data/lib/tasks/misc.rake +0 -63
  208. data/lib/tasks/rails.rb +0 -14
  209. data/lib/tasks/routes.rake +0 -18
  210. data/lib/tasks/statistics.rake +0 -17
  211. data/lib/tasks/testing.rake +0 -139
  212. data/lib/tasks/tmp.rake +0 -37
  213. data/lib/test_help.rb +0 -38
  214. data/lib/webrick_server.rb +0 -156
  215. data/railties.gemspec +0 -22
@@ -1,436 +0,0 @@
1
- namespace :db do
2
- task :load_config => :rails_env do
3
- require 'active_record'
4
- ActiveRecord::Base.configurations = Rails::Configuration.new.database_configuration
5
- end
6
-
7
- namespace :create do
8
- desc 'Create all the local databases defined in config/database.yml'
9
- task :all => :load_config do
10
- ActiveRecord::Base.configurations.each_value do |config|
11
- # Skip entries that don't have a database key, such as the first entry here:
12
- #
13
- # defaults: &defaults
14
- # adapter: mysql
15
- # username: root
16
- # password:
17
- # host: localhost
18
- #
19
- # development:
20
- # database: blog_development
21
- # <<: *defaults
22
- next unless config['database']
23
- # Only connect to local databases
24
- local_database?(config) { create_database(config) }
25
- end
26
- end
27
- end
28
-
29
- desc 'Create the database defined in config/database.yml for the current RAILS_ENV'
30
- task :create => :load_config do
31
- create_database(ActiveRecord::Base.configurations[RAILS_ENV])
32
- end
33
-
34
- def create_database(config)
35
- begin
36
- if config['adapter'] =~ /sqlite/
37
- if File.exist?(config['database'])
38
- $stderr.puts "#{config['database']} already exists"
39
- else
40
- begin
41
- # Create the SQLite database
42
- ActiveRecord::Base.establish_connection(config)
43
- ActiveRecord::Base.connection
44
- rescue
45
- $stderr.puts $!, *($!.backtrace)
46
- $stderr.puts "Couldn't create database for #{config.inspect}"
47
- end
48
- end
49
- return # Skip the else clause of begin/rescue
50
- else
51
- ActiveRecord::Base.establish_connection(config)
52
- ActiveRecord::Base.connection
53
- end
54
- rescue
55
- case config['adapter']
56
- when /^mysql/
57
- @charset = ENV['CHARSET'] || 'utf8'
58
- @collation = ENV['COLLATION'] || 'utf8_unicode_ci'
59
- begin
60
- ActiveRecord::Base.establish_connection(config.merge('database' => nil))
61
- ActiveRecord::Base.connection.create_database(config['database'], :charset => (config['charset'] || @charset), :collation => (config['collation'] || @collation))
62
- ActiveRecord::Base.establish_connection(config)
63
- rescue
64
- $stderr.puts "Couldn't create database for #{config.inspect}, charset: #{config['charset'] || @charset}, collation: #{config['collation'] || @collation} (if you set the charset manually, make sure you have a matching collation)"
65
- end
66
- when 'postgresql'
67
- @encoding = config[:encoding] || ENV['CHARSET'] || 'utf8'
68
- begin
69
- ActiveRecord::Base.establish_connection(config.merge('database' => 'postgres', 'schema_search_path' => 'public'))
70
- ActiveRecord::Base.connection.create_database(config['database'], config.merge('encoding' => @encoding))
71
- ActiveRecord::Base.establish_connection(config)
72
- rescue
73
- $stderr.puts $!, *($!.backtrace)
74
- $stderr.puts "Couldn't create database for #{config.inspect}"
75
- end
76
- end
77
- else
78
- $stderr.puts "#{config['database']} already exists"
79
- end
80
- end
81
-
82
- namespace :drop do
83
- desc 'Drops all the local databases defined in config/database.yml'
84
- task :all => :load_config do
85
- ActiveRecord::Base.configurations.each_value do |config|
86
- # Skip entries that don't have a database key
87
- next unless config['database']
88
- # Only connect to local databases
89
- local_database?(config) { drop_database(config) }
90
- end
91
- end
92
- end
93
-
94
- desc 'Drops the database for the current RAILS_ENV'
95
- task :drop => :load_config do
96
- config = ActiveRecord::Base.configurations[RAILS_ENV || 'development']
97
- drop_database(config)
98
- end
99
-
100
- def local_database?(config, &block)
101
- if %w( 127.0.0.1 localhost ).include?(config['host']) || config['host'].blank?
102
- yield
103
- else
104
- puts "This task only modifies local databases. #{config['database']} is on a remote host."
105
- end
106
- end
107
-
108
-
109
- desc "Migrate the database through scripts in db/migrate and update db/schema.rb by invoking db:schema:dump. Target specific version with VERSION=x. Turn off output with VERBOSE=false."
110
- task :migrate => :environment do
111
- ActiveRecord::Migration.verbose = ENV["VERBOSE"] ? ENV["VERBOSE"] == "true" : true
112
- ActiveRecord::Migrator.migrate("db/migrate/", ENV["VERSION"] ? ENV["VERSION"].to_i : nil)
113
- Rake::Task["db:schema:dump"].invoke if ActiveRecord::Base.schema_format == :ruby
114
- end
115
-
116
- namespace :migrate do
117
- desc 'Rollbacks the database one migration and re migrate up. If you want to rollback more than one step, define STEP=x. Target specific version with VERSION=x.'
118
- task :redo => :environment do
119
- if ENV["VERSION"]
120
- Rake::Task["db:migrate:down"].invoke
121
- Rake::Task["db:migrate:up"].invoke
122
- else
123
- Rake::Task["db:rollback"].invoke
124
- Rake::Task["db:migrate"].invoke
125
- end
126
- end
127
-
128
- desc 'Resets your database using your migrations for the current environment'
129
- task :reset => ["db:drop", "db:create", "db:migrate"]
130
-
131
- desc 'Runs the "up" for a given migration VERSION.'
132
- task :up => :environment do
133
- version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
134
- raise "VERSION is required" unless version
135
- ActiveRecord::Migrator.run(:up, "db/migrate/", version)
136
- Rake::Task["db:schema:dump"].invoke if ActiveRecord::Base.schema_format == :ruby
137
- end
138
-
139
- desc 'Runs the "down" for a given migration VERSION.'
140
- task :down => :environment do
141
- version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
142
- raise "VERSION is required" unless version
143
- ActiveRecord::Migrator.run(:down, "db/migrate/", version)
144
- Rake::Task["db:schema:dump"].invoke if ActiveRecord::Base.schema_format == :ruby
145
- end
146
- end
147
-
148
- desc 'Rolls the schema back to the previous version. Specify the number of steps with STEP=n'
149
- task :rollback => :environment do
150
- step = ENV['STEP'] ? ENV['STEP'].to_i : 1
151
- ActiveRecord::Migrator.rollback('db/migrate/', step)
152
- Rake::Task["db:schema:dump"].invoke if ActiveRecord::Base.schema_format == :ruby
153
- end
154
-
155
- desc 'Drops and recreates the database from db/schema.rb for the current environment and loads the seeds.'
156
- task :reset => [ 'db:drop', 'db:setup' ]
157
-
158
- desc "Retrieves the charset for the current environment's database"
159
- task :charset => :environment do
160
- config = ActiveRecord::Base.configurations[RAILS_ENV || 'development']
161
- case config['adapter']
162
- when /^mysql/
163
- ActiveRecord::Base.establish_connection(config)
164
- puts ActiveRecord::Base.connection.charset
165
- when 'postgresql'
166
- ActiveRecord::Base.establish_connection(config)
167
- puts ActiveRecord::Base.connection.encoding
168
- else
169
- puts 'sorry, your database adapter is not supported yet, feel free to submit a patch'
170
- end
171
- end
172
-
173
- desc "Retrieves the collation for the current environment's database"
174
- task :collation => :environment do
175
- config = ActiveRecord::Base.configurations[RAILS_ENV || 'development']
176
- case config['adapter']
177
- when /^mysql/
178
- ActiveRecord::Base.establish_connection(config)
179
- puts ActiveRecord::Base.connection.collation
180
- else
181
- puts 'sorry, your database adapter is not supported yet, feel free to submit a patch'
182
- end
183
- end
184
-
185
- desc "Retrieves the current schema version number"
186
- task :version => :environment do
187
- puts "Current version: #{ActiveRecord::Migrator.current_version}"
188
- end
189
-
190
- desc "Raises an error if there are pending migrations"
191
- task :abort_if_pending_migrations => :environment do
192
- if defined? ActiveRecord
193
- pending_migrations = ActiveRecord::Migrator.new(:up, 'db/migrate').pending_migrations
194
-
195
- if pending_migrations.any?
196
- puts "You have #{pending_migrations.size} pending migrations:"
197
- pending_migrations.each do |pending_migration|
198
- puts ' %4d %s' % [pending_migration.version, pending_migration.name]
199
- end
200
- abort %{Run "rake db:migrate" to update your database then try again.}
201
- end
202
- end
203
- end
204
-
205
- desc 'Create the database, load the schema, and initialize with the seed data'
206
- task :setup => [ 'db:create', 'db:schema:load', 'db:seed' ]
207
-
208
- desc 'Load the seed data from db/seeds.rb'
209
- task :seed => :environment do
210
- seed_file = File.join(Rails.root, 'db', 'seeds.rb')
211
- load(seed_file) if File.exist?(seed_file)
212
- end
213
-
214
- namespace :fixtures do
215
- desc "Load fixtures into the current environment's database. Load specific fixtures using FIXTURES=x,y. Load from subdirectory in test/fixtures using FIXTURES_DIR=z. Specify an alternative path (eg. spec/fixtures) using FIXTURES_PATH=spec/fixtures."
216
- task :load => :environment do
217
- require 'active_record/fixtures'
218
- ActiveRecord::Base.establish_connection(Rails.env)
219
- base_dir = ENV['FIXTURES_PATH'] ? File.join(Rails.root, ENV['FIXTURES_PATH']) : File.join(Rails.root, 'test', 'fixtures')
220
- fixtures_dir = ENV['FIXTURES_DIR'] ? File.join(base_dir, ENV['FIXTURES_DIR']) : base_dir
221
-
222
- (ENV['FIXTURES'] ? ENV['FIXTURES'].split(/,/).map {|f| File.join(fixtures_dir, f) } : Dir.glob(File.join(fixtures_dir, '*.{yml,csv}'))).each do |fixture_file|
223
- Fixtures.create_fixtures(File.dirname(fixture_file), File.basename(fixture_file, '.*'))
224
- end
225
- end
226
-
227
- desc "Search for a fixture given a LABEL or ID. Specify an alternative path (eg. spec/fixtures) using FIXTURES_PATH=spec/fixtures."
228
- task :identify => :environment do
229
- require "active_record/fixtures"
230
-
231
- label, id = ENV["LABEL"], ENV["ID"]
232
- raise "LABEL or ID required" if label.blank? && id.blank?
233
-
234
- puts %Q(The fixture ID for "#{label}" is #{Fixtures.identify(label)}.) if label
235
-
236
- base_dir = ENV['FIXTURES_PATH'] ? File.join(Rails.root, ENV['FIXTURES_PATH']) : File.join(Rails.root, 'test', 'fixtures')
237
- Dir["#{base_dir}/**/*.yml"].each do |file|
238
- if data = YAML::load(ERB.new(IO.read(file)).result)
239
- data.keys.each do |key|
240
- key_id = Fixtures.identify(key)
241
-
242
- if key == label || key_id == id.to_i
243
- puts "#{file}: #{key} (#{key_id})"
244
- end
245
- end
246
- end
247
- end
248
- end
249
- end
250
-
251
- namespace :schema do
252
- desc "Create a db/schema.rb file that can be portably used against any DB supported by AR"
253
- task :dump => :environment do
254
- require 'active_record/schema_dumper'
255
- File.open(ENV['SCHEMA'] || "#{RAILS_ROOT}/db/schema.rb", "w") do |file|
256
- ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, file)
257
- end
258
- Rake::Task["db:schema:dump"].reenable
259
- end
260
-
261
- desc "Load a schema.rb file into the database"
262
- task :load => :environment do
263
- file = ENV['SCHEMA'] || "#{RAILS_ROOT}/db/schema.rb"
264
- if File.exists?(file)
265
- load(file)
266
- else
267
- abort %{#{file} doesn't exist yet. Run "rake db:migrate" to create it then try again. If you do not intend to use a database, you should instead alter #{RAILS_ROOT}/config/environment.rb to prevent active_record from loading: config.frameworks -= [ :active_record ]}
268
- end
269
- end
270
- end
271
-
272
- namespace :structure do
273
- desc "Dump the database structure to a SQL file"
274
- task :dump => :environment do
275
- abcs = ActiveRecord::Base.configurations
276
- case abcs[RAILS_ENV]["adapter"]
277
- when /^mysql/, "oci", "oracle"
278
- ActiveRecord::Base.establish_connection(abcs[RAILS_ENV])
279
- File.open("#{RAILS_ROOT}/db/#{RAILS_ENV}_structure.sql", "w+") { |f| f << ActiveRecord::Base.connection.structure_dump }
280
- when "postgresql"
281
- ENV['PGHOST'] = abcs[RAILS_ENV]["host"] if abcs[RAILS_ENV]["host"]
282
- ENV['PGPORT'] = abcs[RAILS_ENV]["port"].to_s if abcs[RAILS_ENV]["port"]
283
- ENV['PGPASSWORD'] = abcs[RAILS_ENV]["password"].to_s if abcs[RAILS_ENV]["password"]
284
- search_path = abcs[RAILS_ENV]["schema_search_path"]
285
- search_path = "--schema=#{search_path}" if search_path
286
- `pg_dump -i -U "#{abcs[RAILS_ENV]["username"]}" -s -x -O -f db/#{RAILS_ENV}_structure.sql #{search_path} #{abcs[RAILS_ENV]["database"]}`
287
- raise "Error dumping database" if $?.exitstatus == 1
288
- when "sqlite", "sqlite3"
289
- dbfile = abcs[RAILS_ENV]["database"] || abcs[RAILS_ENV]["dbfile"]
290
- `#{abcs[RAILS_ENV]["adapter"]} #{dbfile} .schema > db/#{RAILS_ENV}_structure.sql`
291
- when "sqlserver"
292
- `scptxfr /s #{abcs[RAILS_ENV]["host"]} /d #{abcs[RAILS_ENV]["database"]} /I /f db\\#{RAILS_ENV}_structure.sql /q /A /r`
293
- `scptxfr /s #{abcs[RAILS_ENV]["host"]} /d #{abcs[RAILS_ENV]["database"]} /I /F db\ /q /A /r`
294
- when "firebird"
295
- set_firebird_env(abcs[RAILS_ENV])
296
- db_string = firebird_db_string(abcs[RAILS_ENV])
297
- sh "isql -a #{db_string} > #{RAILS_ROOT}/db/#{RAILS_ENV}_structure.sql"
298
- else
299
- raise "Task not supported by '#{abcs["test"]["adapter"]}'"
300
- end
301
-
302
- if ActiveRecord::Base.connection.supports_migrations?
303
- File.open("#{RAILS_ROOT}/db/#{RAILS_ENV}_structure.sql", "a") { |f| f << ActiveRecord::Base.connection.dump_schema_information }
304
- end
305
- end
306
- end
307
-
308
- namespace :test do
309
- desc "Recreate the test database from the current schema.rb"
310
- task :load => 'db:test:purge' do
311
- ActiveRecord::Base.establish_connection(ActiveRecord::Base.configurations['test'])
312
- ActiveRecord::Schema.verbose = false
313
- Rake::Task["db:schema:load"].invoke
314
- end
315
-
316
- desc "Recreate the test database from the current environment's database schema"
317
- task :clone => %w(db:schema:dump db:test:load)
318
-
319
- desc "Recreate the test databases from the development structure"
320
- task :clone_structure => [ "db:structure:dump", "db:test:purge" ] do
321
- abcs = ActiveRecord::Base.configurations
322
- case abcs["test"]["adapter"]
323
- when /^mysql/
324
- ActiveRecord::Base.establish_connection(:test)
325
- ActiveRecord::Base.connection.execute('SET foreign_key_checks = 0')
326
- IO.readlines("#{RAILS_ROOT}/db/#{RAILS_ENV}_structure.sql").join.split("\n\n").each do |table|
327
- ActiveRecord::Base.connection.execute(table)
328
- end
329
- when "postgresql"
330
- ENV['PGHOST'] = abcs["test"]["host"] if abcs["test"]["host"]
331
- ENV['PGPORT'] = abcs["test"]["port"].to_s if abcs["test"]["port"]
332
- ENV['PGPASSWORD'] = abcs["test"]["password"].to_s if abcs["test"]["password"]
333
- `psql -U "#{abcs["test"]["username"]}" -f #{RAILS_ROOT}/db/#{RAILS_ENV}_structure.sql #{abcs["test"]["database"]}`
334
- when "sqlite", "sqlite3"
335
- dbfile = abcs["test"]["database"] || abcs["test"]["dbfile"]
336
- `#{abcs["test"]["adapter"]} #{dbfile} < #{RAILS_ROOT}/db/#{RAILS_ENV}_structure.sql`
337
- when "sqlserver"
338
- `osql -E -S #{abcs["test"]["host"]} -d #{abcs["test"]["database"]} -i db\\#{RAILS_ENV}_structure.sql`
339
- when "oci", "oracle"
340
- ActiveRecord::Base.establish_connection(:test)
341
- IO.readlines("#{RAILS_ROOT}/db/#{RAILS_ENV}_structure.sql").join.split(";\n\n").each do |ddl|
342
- ActiveRecord::Base.connection.execute(ddl)
343
- end
344
- when "firebird"
345
- set_firebird_env(abcs["test"])
346
- db_string = firebird_db_string(abcs["test"])
347
- sh "isql -i #{RAILS_ROOT}/db/#{RAILS_ENV}_structure.sql #{db_string}"
348
- else
349
- raise "Task not supported by '#{abcs["test"]["adapter"]}'"
350
- end
351
- end
352
-
353
- desc "Empty the test database"
354
- task :purge => :environment do
355
- abcs = ActiveRecord::Base.configurations
356
- case abcs["test"]["adapter"]
357
- when /^mysql/
358
- ActiveRecord::Base.establish_connection(:test)
359
- ActiveRecord::Base.connection.recreate_database(abcs["test"]["database"], abcs["test"])
360
- when "postgresql"
361
- ActiveRecord::Base.clear_active_connections!
362
- drop_database(abcs['test'])
363
- create_database(abcs['test'])
364
- when "sqlite", "sqlite3"
365
- dbfile = abcs["test"]["database"] || abcs["test"]["dbfile"]
366
- File.delete(dbfile) if File.exist?(dbfile)
367
- when "sqlserver"
368
- dropfkscript = "#{abcs["test"]["host"]}.#{abcs["test"]["database"]}.DP1".gsub(/\\/,'-')
369
- `osql -E -S #{abcs["test"]["host"]} -d #{abcs["test"]["database"]} -i db\\#{dropfkscript}`
370
- `osql -E -S #{abcs["test"]["host"]} -d #{abcs["test"]["database"]} -i db\\#{RAILS_ENV}_structure.sql`
371
- when "oci", "oracle"
372
- ActiveRecord::Base.establish_connection(:test)
373
- ActiveRecord::Base.connection.structure_drop.split(";\n\n").each do |ddl|
374
- ActiveRecord::Base.connection.execute(ddl)
375
- end
376
- when "firebird"
377
- ActiveRecord::Base.establish_connection(:test)
378
- ActiveRecord::Base.connection.recreate_database!
379
- else
380
- raise "Task not supported by '#{abcs["test"]["adapter"]}'"
381
- end
382
- end
383
-
384
- desc 'Check for pending migrations and load the test schema'
385
- task :prepare => 'db:abort_if_pending_migrations' do
386
- if defined?(ActiveRecord) && !ActiveRecord::Base.configurations.blank?
387
- Rake::Task[{ :sql => "db:test:clone_structure", :ruby => "db:test:load" }[ActiveRecord::Base.schema_format]].invoke
388
- end
389
- end
390
- end
391
-
392
- namespace :sessions do
393
- desc "Creates a sessions migration for use with ActiveRecord::SessionStore"
394
- task :create => :environment do
395
- raise "Task unavailable to this database (no migration support)" unless ActiveRecord::Base.connection.supports_migrations?
396
- require 'rails_generator'
397
- require 'rails_generator/scripts/generate'
398
- Rails::Generator::Scripts::Generate.new.run(["session_migration", ENV["MIGRATION"] || "CreateSessions"])
399
- end
400
-
401
- desc "Clear the sessions table"
402
- task :clear => :environment do
403
- ActiveRecord::Base.connection.execute "DELETE FROM #{session_table_name}"
404
- end
405
- end
406
- end
407
-
408
- def drop_database(config)
409
- begin
410
- case config['adapter']
411
- when /^mysql/
412
- ActiveRecord::Base.establish_connection(config)
413
- ActiveRecord::Base.connection.drop_database config['database']
414
- when /^sqlite/
415
- FileUtils.rm(File.join(RAILS_ROOT, config['database']))
416
- when 'postgresql'
417
- ActiveRecord::Base.establish_connection(config.merge('database' => 'postgres', 'schema_search_path' => 'public'))
418
- ActiveRecord::Base.connection.drop_database config['database']
419
- end
420
- rescue Exception => e
421
- puts "Couldn't drop #{config['database']} : #{e.inspect}"
422
- end
423
- end
424
-
425
- def session_table_name
426
- ActiveRecord::Base.pluralize_table_names ? :sessions : :session
427
- end
428
-
429
- def set_firebird_env(config)
430
- ENV["ISC_USER"] = config["username"].to_s if config["username"]
431
- ENV["ISC_PASSWORD"] = config["password"].to_s if config["password"]
432
- end
433
-
434
- def firebird_db_string(config)
435
- FireRuby::Database.db_string_for(config.symbolize_keys)
436
- end
@@ -1,93 +0,0 @@
1
- begin
2
- require 'rdoc/task'
3
- namespace :doc do
4
- desc "Generate documentation for the application. Set custom template with TEMPLATE=/path/to/rdoc/template.rb or title with TITLE=\"Custom Title\""
5
- RDoc::Task.new("app") { |rdoc|
6
- rdoc.rdoc_dir = 'doc/app'
7
- rdoc.template = ENV['template'] if ENV['template']
8
- rdoc.title = ENV['title'] || "Rails Application Documentation"
9
- rdoc.options << '--line-numbers' << '--inline-source'
10
- rdoc.options << '--charset' << 'utf-8'
11
- rdoc.rdoc_files.include('doc/README_FOR_APP')
12
- rdoc.rdoc_files.include('app/**/*.rb')
13
- rdoc.rdoc_files.include('lib/**/*.rb')
14
- }
15
-
16
- desc "Generate documentation for the Rails framework"
17
- RDoc::Task.new("rails") { |rdoc|
18
- rdoc.rdoc_dir = 'doc/api'
19
- rdoc.template = "#{ENV['template']}.rb" if ENV['template']
20
- rdoc.title = "Rails Framework Documentation"
21
- rdoc.options << '--line-numbers' << '--inline-source'
22
- rdoc.rdoc_files.include('README')
23
- rdoc.rdoc_files.include('vendor/rails/railties/CHANGELOG')
24
- rdoc.rdoc_files.include('vendor/rails/railties/MIT-LICENSE')
25
- rdoc.rdoc_files.include('vendor/rails/railties/README')
26
- rdoc.rdoc_files.include('vendor/rails/railties/lib/{*.rb,commands/*.rb,rails_generator/*.rb}')
27
- rdoc.rdoc_files.include('vendor/rails/activerecord/README')
28
- rdoc.rdoc_files.include('vendor/rails/activerecord/CHANGELOG')
29
- rdoc.rdoc_files.include('vendor/rails/activerecord/lib/active_record/**/*.rb')
30
- rdoc.rdoc_files.exclude('vendor/rails/activerecord/lib/active_record/vendor/*')
31
- rdoc.rdoc_files.include('vendor/rails/activeresource/README')
32
- rdoc.rdoc_files.include('vendor/rails/activeresource/CHANGELOG')
33
- rdoc.rdoc_files.include('vendor/rails/activeresource/lib/active_resource.rb')
34
- rdoc.rdoc_files.include('vendor/rails/activeresource/lib/active_resource/*')
35
- rdoc.rdoc_files.include('vendor/rails/actionpack/README')
36
- rdoc.rdoc_files.include('vendor/rails/actionpack/CHANGELOG')
37
- rdoc.rdoc_files.include('vendor/rails/actionpack/lib/action_controller/**/*.rb')
38
- rdoc.rdoc_files.include('vendor/rails/actionpack/lib/action_view/**/*.rb')
39
- rdoc.rdoc_files.include('vendor/rails/actionmailer/README')
40
- rdoc.rdoc_files.include('vendor/rails/actionmailer/CHANGELOG')
41
- rdoc.rdoc_files.include('vendor/rails/actionmailer/lib/action_mailer/base.rb')
42
- rdoc.rdoc_files.include('vendor/rails/activesupport/README')
43
- rdoc.rdoc_files.include('vendor/rails/activesupport/CHANGELOG')
44
- rdoc.rdoc_files.include('vendor/rails/activesupport/lib/active_support/**/*.rb')
45
- }
46
-
47
- plugins = FileList['vendor/plugins/**'].collect { |plugin| File.basename(plugin) }
48
-
49
- desc "Generate documentation for all installed plugins"
50
- task :plugins => plugins.collect { |plugin| "doc:plugins:#{plugin}" }
51
-
52
- desc "Remove plugin documentation"
53
- task :clobber_plugins do
54
- rm_rf 'doc/plugins' rescue nil
55
- end
56
-
57
- desc "Generate Rails guides"
58
- task :guides do
59
- require File.join(RAILTIES_PATH, "guides/rails_guides")
60
- RailsGuides::Generator.new(File.join(RAILS_ROOT, "doc/guides")).generate
61
- end
62
-
63
- namespace :plugins do
64
- # Define doc tasks for each plugin
65
- plugins.each do |plugin|
66
- desc "Generate documentation for the #{plugin} plugin"
67
- task(plugin => :environment) do
68
- plugin_base = "vendor/plugins/#{plugin}"
69
- options = []
70
- files = Rake::FileList.new
71
- options << "-o doc/plugins/#{plugin}"
72
- options << "--title '#{plugin.titlecase} Plugin Documentation'"
73
- options << '--line-numbers' << '--inline-source'
74
- options << '--charset' << 'utf-8'
75
- options << '-T html'
76
-
77
- files.include("#{plugin_base}/lib/**/*.rb")
78
- if File.exist?("#{plugin_base}/README")
79
- files.include("#{plugin_base}/README")
80
- options << "--main '#{plugin_base}/README'"
81
- end
82
- files.include("#{plugin_base}/CHANGELOG") if File.exist?("#{plugin_base}/CHANGELOG")
83
-
84
- options << files.to_s
85
-
86
- sh %(rdoc #{options * ' '})
87
- end
88
- end
89
- end
90
- end
91
- rescue LoadError
92
- $stderr.puts 'Please install RDoc 2.4.2+ to generate documentation.'
93
- end