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,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
@@ -1,146 +0,0 @@
1
- namespace :rails do
2
- namespace :freeze do
3
- desc "Lock this application to the current gems (by unpacking them into vendor/rails)"
4
- task :gems do
5
- deps = %w(actionpack activerecord actionmailer activesupport activeresource)
6
- require 'rubygems'
7
- require 'rubygems/gem_runner'
8
-
9
- rails = (version = ENV['VERSION']) ?
10
- Gem.cache.find_name('rails', "= #{version}").first :
11
- Gem.cache.find_name('rails').sort_by { |g| g.version }.last
12
-
13
- version ||= rails.version
14
-
15
- unless rails
16
- puts "No rails gem #{version} is installed. Do 'gem list rails' to see what you have available."
17
- exit
18
- end
19
-
20
- puts "Freezing to the gems for Rails #{rails.version}"
21
- rm_rf "vendor/rails"
22
- mkdir_p "vendor/rails"
23
-
24
- begin
25
- chdir("vendor/rails") do
26
- rails.dependencies.select { |g| deps.include? g.name }.each do |g|
27
- Gem::GemRunner.new.run(["unpack", g.name, "--version", g.respond_to?(:requirement) ? g.requirement.to_s : g.version_requirements.to_s])
28
- mv(Dir.glob("#{g.name}*").first, g.name)
29
- end
30
-
31
- Gem::GemRunner.new.run(["unpack", "rails", "--version", "=#{version}"])
32
- FileUtils.mv(Dir.glob("rails*").first, "railties")
33
- end
34
- rescue Exception
35
- rm_rf "vendor/rails"
36
- raise
37
- end
38
- end
39
-
40
- desc 'Lock to latest Edge Rails, for a specific release use RELEASE=1.2.0'
41
- task :edge do
42
- require 'open-uri'
43
- version = ENV["RELEASE"] || "edge"
44
- target = "rails_#{version}.zip"
45
- commits = "http://github.com/api/v1/yaml/rails/rails/commits/master"
46
- url = "http://dev.rubyonrails.org/archives/#{target}"
47
-
48
- chdir 'vendor' do
49
- latest_revision = YAML.load(open(commits))["commits"].first["id"]
50
-
51
- puts "Downloading Rails from #{url}"
52
- File.open('rails.zip', 'wb') do |dst|
53
- open url do |src|
54
- while chunk = src.read(4096)
55
- dst << chunk
56
- end
57
- end
58
- end
59
-
60
- puts 'Unpacking Rails'
61
- rm_rf 'rails'
62
- `unzip rails.zip`
63
- %w(rails.zip rails/Rakefile rails/cleanlogs.sh rails/pushgems.rb rails/release.rb).each do |goner|
64
- rm_f goner
65
- end
66
-
67
- puts "Frozen to git revision #{latest_revision}"
68
- File.open('rails/REVISION', 'w') do |revision|
69
- revision.puts latest_revision
70
- end
71
- end
72
-
73
- puts 'Updating current scripts, javascripts, and configuration settings'
74
- Rake::Task['rails:update'].invoke
75
- end
76
- end
77
-
78
- desc "Unlock this application from freeze of gems or edge and return to a fluid use of system gems"
79
- task :unfreeze do
80
- rm_rf "vendor/rails"
81
- end
82
-
83
- desc "Update both configs, scripts and public/javascripts from Rails"
84
- task :update => [ "update:scripts", "update:javascripts", "update:configs", "update:application_controller" ]
85
-
86
- desc "Applies the template supplied by LOCATION=/path/to/template"
87
- task :template do
88
- require 'rails_generator/generators/applications/app/template_runner'
89
- Rails::TemplateRunner.new(ENV["LOCATION"])
90
- end
91
-
92
- namespace :update do
93
- desc "Add new scripts to the application script/ directory"
94
- task :scripts do
95
- local_base = "script"
96
- edge_base = "#{File.dirname(__FILE__)}/../../bin"
97
-
98
- local = Dir["#{local_base}/**/*"].reject { |path| File.directory?(path) }
99
- edge = Dir["#{edge_base}/**/*"].reject { |path| File.directory?(path) }
100
-
101
- edge.each do |script|
102
- base_name = script[(edge_base.length+1)..-1]
103
- next if base_name == "rails"
104
- next if local.detect { |path| base_name == path[(local_base.length+1)..-1] }
105
- if !File.directory?("#{local_base}/#{File.dirname(base_name)}")
106
- mkdir_p "#{local_base}/#{File.dirname(base_name)}"
107
- end
108
- install script, "#{local_base}/#{base_name}", :mode => 0755
109
- end
110
- end
111
-
112
- desc "Update your javascripts from your current rails install"
113
- task :javascripts do
114
- require 'railties_path'
115
- project_dir = RAILS_ROOT + '/public/javascripts/'
116
- scripts = Dir[RAILTIES_PATH + '/html/javascripts/*.js']
117
- scripts.reject!{|s| File.basename(s) == 'application.js'} if File.exist?(project_dir + 'application.js')
118
- FileUtils.cp(scripts, project_dir)
119
- end
120
-
121
- desc "Update config/boot.rb from your current rails install"
122
- task :configs do
123
- require 'railties_path'
124
- FileUtils.cp(RAILTIES_PATH + '/environments/boot.rb', RAILS_ROOT + '/config/boot.rb')
125
- end
126
-
127
- desc "Rename application.rb to application_controller.rb"
128
- task :application_controller do
129
- old_style = RAILS_ROOT + '/app/controllers/application.rb'
130
- new_style = RAILS_ROOT + '/app/controllers/application_controller.rb'
131
- if File.exists?(old_style) && !File.exists?(new_style)
132
- FileUtils.mv(old_style, new_style)
133
- puts "#{old_style} has been renamed to #{new_style}, update your SCM as necessary"
134
- end
135
- end
136
-
137
- desc "Generate dispatcher files in RAILS_ROOT/public"
138
- task :generate_dispatchers do
139
- require 'railties_path'
140
- FileUtils.cp(RAILTIES_PATH + '/dispatches/config.ru', RAILS_ROOT + '/config.ru')
141
- FileUtils.cp(RAILTIES_PATH + '/dispatches/dispatch.fcgi', RAILS_ROOT + '/public/dispatch.fcgi')
142
- FileUtils.cp(RAILTIES_PATH + '/dispatches/dispatch.rb', RAILS_ROOT + '/public/dispatch.rb')
143
- FileUtils.cp(RAILTIES_PATH + '/dispatches/dispatch.rb', RAILS_ROOT + '/public/dispatch.cgi')
144
- end
145
- end
146
- end