rails 2.3.18 → 3.0.0.beta
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.
- metadata +61 -295
- data/CHANGELOG +0 -2193
- data/MIT-LICENSE +0 -20
- data/README +0 -243
- data/Rakefile +0 -365
- data/bin/about +0 -4
- data/bin/console +0 -3
- data/bin/dbconsole +0 -3
- data/bin/destroy +0 -3
- data/bin/generate +0 -3
- data/bin/performance/benchmarker +0 -3
- data/bin/performance/profiler +0 -3
- data/bin/plugin +0 -3
- data/bin/rails +0 -21
- data/bin/runner +0 -3
- data/bin/server +0 -3
- data/builtin/rails_info/rails/info.rb +0 -131
- data/builtin/rails_info/rails/info_controller.rb +0 -9
- data/builtin/rails_info/rails/info_helper.rb +0 -2
- data/builtin/rails_info/rails_info_controller.rb +0 -2
- data/configs/databases/frontbase.yml +0 -28
- data/configs/databases/ibm_db.yml +0 -62
- data/configs/databases/mysql.yml +0 -60
- data/configs/databases/oracle.yml +0 -39
- data/configs/databases/postgresql.yml +0 -51
- data/configs/databases/sqlite2.yml +0 -19
- data/configs/databases/sqlite3.yml +0 -22
- data/configs/empty.log +0 -0
- data/configs/initializers/backtrace_silencers.rb +0 -7
- data/configs/initializers/cookie_verification_secret.rb +0 -7
- data/configs/initializers/inflections.rb +0 -10
- data/configs/initializers/mime_types.rb +0 -5
- data/configs/initializers/new_rails_defaults.rb +0 -21
- data/configs/initializers/session_store.rb +0 -15
- data/configs/locales/en.yml +0 -5
- data/configs/routes.rb +0 -43
- data/configs/seeds.rb +0 -7
- data/dispatches/config.ru +0 -7
- data/dispatches/dispatch.fcgi +0 -24
- data/dispatches/dispatch.rb +0 -10
- data/dispatches/gateway.cgi +0 -97
- data/doc/README_FOR_APP +0 -2
- data/environments/boot.rb +0 -114
- data/environments/development.rb +0 -17
- data/environments/environment.rb +0 -41
- data/environments/production.rb +0 -28
- data/environments/test.rb +0 -28
- data/fresh_rakefile +0 -10
- data/helpers/application_controller.rb +0 -10
- data/helpers/application_helper.rb +0 -3
- data/helpers/performance_test.rb +0 -9
- data/helpers/test_helper.rb +0 -38
- data/html/404.html +0 -30
- data/html/422.html +0 -30
- data/html/500.html +0 -30
- data/html/favicon.ico +0 -0
- data/html/images/rails.png +0 -0
- data/html/index.html +0 -275
- data/html/javascripts/application.js +0 -2
- data/html/javascripts/controls.js +0 -963
- data/html/javascripts/dragdrop.js +0 -973
- data/html/javascripts/effects.js +0 -1128
- data/html/javascripts/prototype.js +0 -4320
- data/html/robots.txt +0 -5
- data/lib/code_statistics.rb +0 -107
- data/lib/commands.rb +0 -17
- data/lib/commands/about.rb +0 -3
- data/lib/commands/console.rb +0 -45
- data/lib/commands/dbconsole.rb +0 -87
- data/lib/commands/destroy.rb +0 -6
- data/lib/commands/generate.rb +0 -6
- data/lib/commands/ncgi/listener +0 -86
- data/lib/commands/ncgi/tracker +0 -69
- data/lib/commands/performance/benchmarker.rb +0 -24
- data/lib/commands/performance/profiler.rb +0 -50
- data/lib/commands/plugin.rb +0 -968
- data/lib/commands/runner.rb +0 -54
- data/lib/commands/server.rb +0 -114
- data/lib/commands/update.rb +0 -4
- data/lib/console_app.rb +0 -30
- data/lib/console_sandbox.rb +0 -6
- data/lib/console_with_helpers.rb +0 -5
- data/lib/dispatcher.rb +0 -24
- data/lib/fcgi_handler.rb +0 -239
- data/lib/initializer.rb +0 -1152
- data/lib/performance_test_help.rb +0 -5
- data/lib/rails/backtrace_cleaner.rb +0 -54
- data/lib/rails/gem_builder.rb +0 -21
- data/lib/rails/gem_dependency.rb +0 -317
- data/lib/rails/plugin.rb +0 -179
- data/lib/rails/plugin/loader.rb +0 -198
- data/lib/rails/plugin/locator.rb +0 -100
- data/lib/rails/rack.rb +0 -8
- data/lib/rails/rack/debugger.rb +0 -23
- data/lib/rails/rack/log_tailer.rb +0 -35
- data/lib/rails/rack/metal.rb +0 -51
- data/lib/rails/rack/static.rb +0 -46
- data/lib/rails/vendor_gem_source_index.rb +0 -140
- data/lib/rails/version.rb +0 -9
- data/lib/rails_generator.rb +0 -46
- data/lib/rails_generator/base.rb +0 -266
- data/lib/rails_generator/commands.rb +0 -621
- data/lib/rails_generator/generated_attribute.rb +0 -47
- data/lib/rails_generator/generators/applications/app/USAGE +0 -9
- data/lib/rails_generator/generators/applications/app/app_generator.rb +0 -266
- data/lib/rails_generator/generators/applications/app/scm/git.rb +0 -18
- data/lib/rails_generator/generators/applications/app/scm/scm.rb +0 -8
- data/lib/rails_generator/generators/applications/app/scm/svn.rb +0 -7
- data/lib/rails_generator/generators/applications/app/template_runner.rb +0 -401
- data/lib/rails_generator/generators/components/controller/USAGE +0 -30
- data/lib/rails_generator/generators/components/controller/controller_generator.rb +0 -43
- data/lib/rails_generator/generators/components/controller/templates/controller.rb +0 -7
- data/lib/rails_generator/generators/components/controller/templates/functional_test.rb +0 -8
- data/lib/rails_generator/generators/components/controller/templates/helper.rb +0 -2
- data/lib/rails_generator/generators/components/controller/templates/helper_test.rb +0 -4
- data/lib/rails_generator/generators/components/controller/templates/view.html.erb +0 -2
- data/lib/rails_generator/generators/components/helper/USAGE +0 -24
- data/lib/rails_generator/generators/components/helper/helper_generator.rb +0 -25
- data/lib/rails_generator/generators/components/helper/templates/helper.rb +0 -2
- data/lib/rails_generator/generators/components/helper/templates/helper_test.rb +0 -4
- data/lib/rails_generator/generators/components/integration_test/USAGE +0 -8
- data/lib/rails_generator/generators/components/integration_test/integration_test_generator.rb +0 -16
- data/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb +0 -10
- data/lib/rails_generator/generators/components/mailer/USAGE +0 -16
- data/lib/rails_generator/generators/components/mailer/mailer_generator.rb +0 -30
- data/lib/rails_generator/generators/components/mailer/templates/fixture.erb +0 -3
- data/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml +0 -0
- data/lib/rails_generator/generators/components/mailer/templates/mailer.rb +0 -15
- data/lib/rails_generator/generators/components/mailer/templates/unit_test.rb +0 -20
- data/lib/rails_generator/generators/components/mailer/templates/view.erb +0 -3
- data/lib/rails_generator/generators/components/mailer/templates/view.rhtml +0 -0
- data/lib/rails_generator/generators/components/metal/USAGE +0 -8
- data/lib/rails_generator/generators/components/metal/metal_generator.rb +0 -8
- data/lib/rails_generator/generators/components/metal/templates/metal.rb +0 -12
- data/lib/rails_generator/generators/components/migration/USAGE +0 -29
- data/lib/rails_generator/generators/components/migration/migration_generator.rb +0 -20
- data/lib/rails_generator/generators/components/migration/templates/migration.rb +0 -11
- data/lib/rails_generator/generators/components/model/USAGE +0 -27
- data/lib/rails_generator/generators/components/model/model_generator.rb +0 -52
- data/lib/rails_generator/generators/components/model/templates/fixtures.yml +0 -23
- data/lib/rails_generator/generators/components/model/templates/migration.rb +0 -16
- data/lib/rails_generator/generators/components/model/templates/model.rb +0 -5
- data/lib/rails_generator/generators/components/model/templates/unit_test.rb +0 -8
- data/lib/rails_generator/generators/components/observer/USAGE +0 -13
- data/lib/rails_generator/generators/components/observer/observer_generator.rb +0 -16
- data/lib/rails_generator/generators/components/observer/templates/observer.rb +0 -2
- data/lib/rails_generator/generators/components/observer/templates/unit_test.rb +0 -8
- data/lib/rails_generator/generators/components/performance_test/USAGE +0 -8
- data/lib/rails_generator/generators/components/performance_test/performance_test_generator.rb +0 -16
- data/lib/rails_generator/generators/components/performance_test/templates/performance_test.rb +0 -9
- data/lib/rails_generator/generators/components/plugin/USAGE +0 -25
- data/lib/rails_generator/generators/components/plugin/plugin_generator.rb +0 -39
- data/lib/rails_generator/generators/components/plugin/templates/MIT-LICENSE +0 -20
- data/lib/rails_generator/generators/components/plugin/templates/README +0 -13
- data/lib/rails_generator/generators/components/plugin/templates/Rakefile +0 -23
- data/lib/rails_generator/generators/components/plugin/templates/USAGE +0 -8
- data/lib/rails_generator/generators/components/plugin/templates/generator.rb +0 -8
- data/lib/rails_generator/generators/components/plugin/templates/init.rb +0 -1
- data/lib/rails_generator/generators/components/plugin/templates/install.rb +0 -1
- data/lib/rails_generator/generators/components/plugin/templates/plugin.rb +0 -1
- data/lib/rails_generator/generators/components/plugin/templates/tasks.rake +0 -4
- data/lib/rails_generator/generators/components/plugin/templates/test_helper.rb +0 -4
- data/lib/rails_generator/generators/components/plugin/templates/uninstall.rb +0 -1
- data/lib/rails_generator/generators/components/plugin/templates/unit_test.rb +0 -8
- data/lib/rails_generator/generators/components/resource/USAGE +0 -23
- data/lib/rails_generator/generators/components/resource/resource_generator.rb +0 -76
- data/lib/rails_generator/generators/components/resource/templates/controller.rb +0 -2
- data/lib/rails_generator/generators/components/resource/templates/functional_test.rb +0 -8
- data/lib/rails_generator/generators/components/resource/templates/helper.rb +0 -2
- data/lib/rails_generator/generators/components/resource/templates/helper_test.rb +0 -4
- data/lib/rails_generator/generators/components/scaffold/USAGE +0 -29
- data/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb +0 -103
- data/lib/rails_generator/generators/components/scaffold/templates/controller.rb +0 -83
- data/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb +0 -45
- data/lib/rails_generator/generators/components/scaffold/templates/helper.rb +0 -2
- data/lib/rails_generator/generators/components/scaffold/templates/helper_test.rb +0 -4
- data/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb +0 -17
- data/lib/rails_generator/generators/components/scaffold/templates/style.css +0 -54
- data/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb +0 -18
- data/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb +0 -24
- data/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb +0 -17
- data/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb +0 -10
- data/lib/rails_generator/generators/components/session_migration/USAGE +0 -10
- data/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb +0 -18
- data/lib/rails_generator/generators/components/session_migration/templates/migration.rb +0 -16
- data/lib/rails_generator/lookup.rb +0 -249
- data/lib/rails_generator/manifest.rb +0 -53
- data/lib/rails_generator/options.rb +0 -150
- data/lib/rails_generator/scripts.rb +0 -89
- data/lib/rails_generator/scripts/destroy.rb +0 -29
- data/lib/rails_generator/scripts/generate.rb +0 -7
- data/lib/rails_generator/scripts/update.rb +0 -12
- data/lib/rails_generator/secret_key_generator.rb +0 -24
- data/lib/rails_generator/simple_logger.rb +0 -46
- data/lib/rails_generator/spec.rb +0 -44
- data/lib/railties_path.rb +0 -1
- data/lib/ruby_version_check.rb +0 -17
- data/lib/rubyprof_ext.rb +0 -35
- data/lib/source_annotation_extractor.rb +0 -102
- data/lib/tasks/annotations.rake +0 -20
- data/lib/tasks/databases.rake +0 -436
- data/lib/tasks/documentation.rake +0 -93
- data/lib/tasks/framework.rake +0 -146
- data/lib/tasks/gems.rake +0 -78
- data/lib/tasks/log.rake +0 -9
- data/lib/tasks/middleware.rake +0 -7
- data/lib/tasks/misc.rake +0 -63
- data/lib/tasks/rails.rb +0 -14
- data/lib/tasks/routes.rake +0 -18
- data/lib/tasks/statistics.rake +0 -17
- data/lib/tasks/testing.rake +0 -139
- data/lib/tasks/tmp.rake +0 -37
- data/lib/test_help.rb +0 -38
- data/lib/webrick_server.rb +0 -156
- data/railties.gemspec +0 -22
data/lib/tasks/testing.rake
DELETED
@@ -1,139 +0,0 @@
|
|
1
|
-
TEST_CHANGES_SINCE = Time.now - 600
|
2
|
-
|
3
|
-
# Look up tests for recently modified sources.
|
4
|
-
def recent_tests(source_pattern, test_path, touched_since = 10.minutes.ago)
|
5
|
-
FileList[source_pattern].map do |path|
|
6
|
-
if File.mtime(path) > touched_since
|
7
|
-
tests = []
|
8
|
-
source_dir = File.dirname(path).split("/")
|
9
|
-
source_file = File.basename(path, '.rb')
|
10
|
-
|
11
|
-
# Support subdirs in app/models and app/controllers
|
12
|
-
modified_test_path = source_dir.length > 2 ? "#{test_path}/" << source_dir[1..source_dir.length].join('/') : test_path
|
13
|
-
|
14
|
-
# For modified files in app/ run the tests for it. ex. /test/functional/account_controller.rb
|
15
|
-
test = "#{modified_test_path}/#{source_file}_test.rb"
|
16
|
-
tests.push test if File.exist?(test)
|
17
|
-
|
18
|
-
# For modified files in app, run tests in subdirs too. ex. /test/functional/account/*_test.rb
|
19
|
-
test = "#{modified_test_path}/#{File.basename(path, '.rb').sub("_controller","")}"
|
20
|
-
FileList["#{test}/*_test.rb"].each { |f| tests.push f } if File.exist?(test)
|
21
|
-
|
22
|
-
return tests
|
23
|
-
|
24
|
-
end
|
25
|
-
end.flatten.compact
|
26
|
-
end
|
27
|
-
|
28
|
-
|
29
|
-
# Recreated here from ActiveSupport because :uncommitted needs it before Rails is available
|
30
|
-
module Kernel
|
31
|
-
def silence_stderr
|
32
|
-
old_stderr = STDERR.dup
|
33
|
-
STDERR.reopen(RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'NUL:' : '/dev/null')
|
34
|
-
STDERR.sync = true
|
35
|
-
yield
|
36
|
-
ensure
|
37
|
-
STDERR.reopen(old_stderr)
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
desc 'Run all unit, functional and integration tests'
|
42
|
-
task :test do
|
43
|
-
errors = %w(test:units test:functionals test:integration).collect do |task|
|
44
|
-
begin
|
45
|
-
Rake::Task[task].invoke
|
46
|
-
nil
|
47
|
-
rescue => e
|
48
|
-
task
|
49
|
-
end
|
50
|
-
end.compact
|
51
|
-
abort "Errors running #{errors.to_sentence(:locale => :en)}!" if errors.any?
|
52
|
-
end
|
53
|
-
|
54
|
-
namespace :test do
|
55
|
-
Rake::TestTask.new(:recent => "db:test:prepare") do |t|
|
56
|
-
since = TEST_CHANGES_SINCE
|
57
|
-
touched = FileList['test/**/*_test.rb'].select { |path| File.mtime(path) > since } +
|
58
|
-
recent_tests('app/models/**/*.rb', 'test/unit', since) +
|
59
|
-
recent_tests('app/controllers/**/*.rb', 'test/functional', since)
|
60
|
-
|
61
|
-
t.libs << 'test'
|
62
|
-
t.verbose = true
|
63
|
-
t.test_files = touched.uniq
|
64
|
-
end
|
65
|
-
Rake::Task['test:recent'].comment = "Test recent changes"
|
66
|
-
|
67
|
-
Rake::TestTask.new(:uncommitted => "db:test:prepare") do |t|
|
68
|
-
def t.file_list
|
69
|
-
if File.directory?(".svn")
|
70
|
-
changed_since_checkin = silence_stderr { `svn status` }.map { |path| path.chomp[7 .. -1] }
|
71
|
-
elsif File.directory?(".git")
|
72
|
-
changed_since_checkin = silence_stderr { `git ls-files --modified --others` }.map { |path| path.chomp }
|
73
|
-
else
|
74
|
-
abort "Not a Subversion or Git checkout."
|
75
|
-
end
|
76
|
-
|
77
|
-
models = changed_since_checkin.select { |path| path =~ /app[\\\/]models[\\\/].*\.rb$/ }
|
78
|
-
controllers = changed_since_checkin.select { |path| path =~ /app[\\\/]controllers[\\\/].*\.rb$/ }
|
79
|
-
|
80
|
-
unit_tests = models.map { |model| "test/unit/#{File.basename(model, '.rb')}_test.rb" }
|
81
|
-
functional_tests = controllers.map { |controller| "test/functional/#{File.basename(controller, '.rb')}_test.rb" }
|
82
|
-
|
83
|
-
unit_tests.uniq + functional_tests.uniq
|
84
|
-
end
|
85
|
-
|
86
|
-
t.libs << 'test'
|
87
|
-
t.verbose = true
|
88
|
-
end
|
89
|
-
Rake::Task['test:uncommitted'].comment = "Test changes since last checkin (only Subversion and Git)"
|
90
|
-
|
91
|
-
Rake::TestTask.new(:units => "db:test:prepare") do |t|
|
92
|
-
t.libs << "test"
|
93
|
-
t.pattern = 'test/unit/**/*_test.rb'
|
94
|
-
t.verbose = true
|
95
|
-
end
|
96
|
-
Rake::Task['test:units'].comment = "Run the unit tests in test/unit"
|
97
|
-
|
98
|
-
Rake::TestTask.new(:functionals => "db:test:prepare") do |t|
|
99
|
-
t.libs << "test"
|
100
|
-
t.pattern = 'test/functional/**/*_test.rb'
|
101
|
-
t.verbose = true
|
102
|
-
end
|
103
|
-
Rake::Task['test:functionals'].comment = "Run the functional tests in test/functional"
|
104
|
-
|
105
|
-
Rake::TestTask.new(:integration => "db:test:prepare") do |t|
|
106
|
-
t.libs << "test"
|
107
|
-
t.pattern = 'test/integration/**/*_test.rb'
|
108
|
-
t.verbose = true
|
109
|
-
end
|
110
|
-
Rake::Task['test:integration'].comment = "Run the integration tests in test/integration"
|
111
|
-
|
112
|
-
Rake::TestTask.new(:benchmark => 'db:test:prepare') do |t|
|
113
|
-
t.libs << 'test'
|
114
|
-
t.pattern = 'test/performance/**/*_test.rb'
|
115
|
-
t.verbose = true
|
116
|
-
t.options = '-- --benchmark'
|
117
|
-
end
|
118
|
-
Rake::Task['test:benchmark'].comment = 'Benchmark the performance tests'
|
119
|
-
|
120
|
-
Rake::TestTask.new(:profile => 'db:test:prepare') do |t|
|
121
|
-
t.libs << 'test'
|
122
|
-
t.pattern = 'test/performance/**/*_test.rb'
|
123
|
-
t.verbose = true
|
124
|
-
end
|
125
|
-
Rake::Task['test:profile'].comment = 'Profile the performance tests'
|
126
|
-
|
127
|
-
Rake::TestTask.new(:plugins => :environment) do |t|
|
128
|
-
t.libs << "test"
|
129
|
-
|
130
|
-
if ENV['PLUGIN']
|
131
|
-
t.pattern = "vendor/plugins/#{ENV['PLUGIN']}/test/**/*_test.rb"
|
132
|
-
else
|
133
|
-
t.pattern = 'vendor/plugins/*/**/test/**/*_test.rb'
|
134
|
-
end
|
135
|
-
|
136
|
-
t.verbose = true
|
137
|
-
end
|
138
|
-
Rake::Task['test:plugins'].comment = "Run the plugin tests in vendor/plugins/*/**/test (or specify with PLUGIN=name)"
|
139
|
-
end
|
data/lib/tasks/tmp.rake
DELETED
@@ -1,37 +0,0 @@
|
|
1
|
-
namespace :tmp do
|
2
|
-
desc "Clear session, cache, and socket files from tmp/"
|
3
|
-
task :clear => [ "tmp:sessions:clear", "tmp:cache:clear", "tmp:sockets:clear"]
|
4
|
-
|
5
|
-
desc "Creates tmp directories for sessions, cache, sockets, and pids"
|
6
|
-
task :create do
|
7
|
-
FileUtils.mkdir_p(%w( tmp/sessions tmp/cache tmp/sockets tmp/pids ))
|
8
|
-
end
|
9
|
-
|
10
|
-
namespace :sessions do
|
11
|
-
desc "Clears all files in tmp/sessions"
|
12
|
-
task :clear do
|
13
|
-
FileUtils.rm(Dir['tmp/sessions/[^.]*'])
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
namespace :cache do
|
18
|
-
desc "Clears all files and directories in tmp/cache"
|
19
|
-
task :clear do
|
20
|
-
FileUtils.rm_rf(Dir['tmp/cache/[^.]*'])
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
namespace :sockets do
|
25
|
-
desc "Clears all files in tmp/sockets"
|
26
|
-
task :clear do
|
27
|
-
FileUtils.rm(Dir['tmp/sockets/[^.]*'])
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
namespace :pids do
|
32
|
-
desc "Clears all files in tmp/pids"
|
33
|
-
task :clear do
|
34
|
-
FileUtils.rm(Dir['tmp/pids/[^.]*'])
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
data/lib/test_help.rb
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
# Make double-sure the RAILS_ENV is set to test,
|
2
|
-
# so fixtures are loaded to the right database
|
3
|
-
silence_warnings { RAILS_ENV = "test" }
|
4
|
-
|
5
|
-
require 'test/unit'
|
6
|
-
require 'action_controller/test_case'
|
7
|
-
require 'action_view/test_case'
|
8
|
-
require 'action_controller/integration'
|
9
|
-
require 'action_mailer/test_case' if defined?(ActionMailer)
|
10
|
-
|
11
|
-
if defined?(ActiveRecord)
|
12
|
-
require 'active_record/test_case'
|
13
|
-
require 'active_record/fixtures'
|
14
|
-
|
15
|
-
class ActiveSupport::TestCase
|
16
|
-
include ActiveRecord::TestFixtures
|
17
|
-
self.fixture_path = "#{RAILS_ROOT}/test/fixtures/"
|
18
|
-
self.use_instantiated_fixtures = false
|
19
|
-
self.use_transactional_fixtures = true
|
20
|
-
end
|
21
|
-
|
22
|
-
ActionController::IntegrationTest.fixture_path = ActiveSupport::TestCase.fixture_path
|
23
|
-
|
24
|
-
def create_fixtures(*table_names, &block)
|
25
|
-
Fixtures.create_fixtures(ActiveSupport::TestCase.fixture_path, table_names, {}, &block)
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
begin
|
30
|
-
require_library_or_gem 'ruby-debug'
|
31
|
-
Debugger.start
|
32
|
-
if Debugger.respond_to?(:settings)
|
33
|
-
Debugger.settings[:autoeval] = true
|
34
|
-
Debugger.settings[:autolist] = 1
|
35
|
-
end
|
36
|
-
rescue LoadError
|
37
|
-
# ruby-debug wasn't available so neither can the debugging be
|
38
|
-
end
|
data/lib/webrick_server.rb
DELETED
@@ -1,156 +0,0 @@
|
|
1
|
-
# Donated by Florian Gross
|
2
|
-
|
3
|
-
require 'webrick'
|
4
|
-
require 'cgi'
|
5
|
-
require 'stringio'
|
6
|
-
require 'dispatcher'
|
7
|
-
|
8
|
-
include WEBrick
|
9
|
-
|
10
|
-
class CGI #:nodoc:
|
11
|
-
def stdinput
|
12
|
-
@stdin || $stdin
|
13
|
-
end
|
14
|
-
|
15
|
-
def env_table
|
16
|
-
@env_table || ENV
|
17
|
-
end
|
18
|
-
|
19
|
-
def initialize(type = "query", table = nil, stdin = nil)
|
20
|
-
@env_table, @stdin = table, stdin
|
21
|
-
|
22
|
-
if defined?(MOD_RUBY) && !ENV.key?("GATEWAY_INTERFACE")
|
23
|
-
Apache.request.setup_cgi_env
|
24
|
-
end
|
25
|
-
|
26
|
-
extend QueryExtension
|
27
|
-
@multipart = false
|
28
|
-
if defined?(CGI_PARAMS)
|
29
|
-
warn "do not use CGI_PARAMS and CGI_COOKIES"
|
30
|
-
@params = CGI_PARAMS.dup
|
31
|
-
@cookies = CGI_COOKIES.dup
|
32
|
-
else
|
33
|
-
initialize_query() # set @params, @cookies
|
34
|
-
end
|
35
|
-
@output_cookies = nil
|
36
|
-
@output_hidden = nil
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
# A custom dispatch servlet for use with WEBrick. It dispatches requests
|
41
|
-
# (using the Rails Dispatcher) to the appropriate controller/action. By default,
|
42
|
-
# it restricts WEBrick to a managing a single Rails request at a time, but you
|
43
|
-
# can change this behavior by setting ActionController::Base.allow_concurrency
|
44
|
-
# to true.
|
45
|
-
class DispatchServlet < WEBrick::HTTPServlet::AbstractServlet
|
46
|
-
# Start the WEBrick server with the given options, mounting the
|
47
|
-
# DispatchServlet at <tt>/</tt>.
|
48
|
-
def self.dispatch(options = {})
|
49
|
-
Socket.do_not_reverse_lookup = true # patch for OS X
|
50
|
-
|
51
|
-
params = { :Port => options[:port].to_i,
|
52
|
-
:ServerType => options[:server_type],
|
53
|
-
:BindAddress => options[:ip] }
|
54
|
-
params[:MimeTypes] = options[:mime_types] if options[:mime_types]
|
55
|
-
|
56
|
-
server = WEBrick::HTTPServer.new(params)
|
57
|
-
server.mount('/', DispatchServlet, options)
|
58
|
-
|
59
|
-
trap("INT") { server.shutdown }
|
60
|
-
server.start
|
61
|
-
end
|
62
|
-
|
63
|
-
def initialize(server, options) #:nodoc:
|
64
|
-
@server_options = options
|
65
|
-
@file_handler = WEBrick::HTTPServlet::FileHandler.new(server, options[:server_root])
|
66
|
-
# Change to the RAILS_ROOT, since Webrick::Daemon.start does a Dir::cwd("/")
|
67
|
-
# OPTIONS['working_directory'] is an absolute path of the RAILS_ROOT, set in railties/lib/commands/servers/webrick.rb
|
68
|
-
Dir.chdir(OPTIONS['working_directory']) if defined?(OPTIONS) && File.directory?(OPTIONS['working_directory'])
|
69
|
-
super
|
70
|
-
end
|
71
|
-
|
72
|
-
def service(req, res) #:nodoc:
|
73
|
-
unless handle_file(req, res)
|
74
|
-
unless handle_dispatch(req, res)
|
75
|
-
raise WEBrick::HTTPStatus::NotFound, "`#{req.path}' not found."
|
76
|
-
end
|
77
|
-
end
|
78
|
-
end
|
79
|
-
|
80
|
-
def handle_file(req, res) #:nodoc:
|
81
|
-
begin
|
82
|
-
req = req.dup
|
83
|
-
path = req.path.dup
|
84
|
-
|
85
|
-
# Add .html if the last path piece has no . in it
|
86
|
-
path << '.html' if path != '/' && (%r{(^|/)[^./]+$} =~ path)
|
87
|
-
path.gsub!('+', ' ') # Unescape + since FileHandler doesn't do so.
|
88
|
-
|
89
|
-
req.instance_variable_set(:@path_info, path) # Set the modified path...
|
90
|
-
|
91
|
-
@file_handler.send(:service, req, res)
|
92
|
-
return true
|
93
|
-
rescue HTTPStatus::PartialContent, HTTPStatus::NotModified => err
|
94
|
-
res.set_error(err)
|
95
|
-
return true
|
96
|
-
rescue => err
|
97
|
-
return false
|
98
|
-
end
|
99
|
-
end
|
100
|
-
|
101
|
-
def handle_dispatch(req, res, origin = nil) #:nodoc:
|
102
|
-
data = StringIO.new
|
103
|
-
Dispatcher.dispatch(
|
104
|
-
CGI.new("query", create_env_table(req, origin), StringIO.new(req.body || "")),
|
105
|
-
ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS,
|
106
|
-
data
|
107
|
-
)
|
108
|
-
|
109
|
-
header, body = extract_header_and_body(data)
|
110
|
-
|
111
|
-
set_charset(header)
|
112
|
-
assign_status(res, header)
|
113
|
-
res.cookies.concat(header.delete('set-cookie') || [])
|
114
|
-
header.each { |key, val| res[key] = val.join(", ") }
|
115
|
-
|
116
|
-
res.body = body
|
117
|
-
return true
|
118
|
-
rescue => err
|
119
|
-
p err, err.backtrace
|
120
|
-
return false
|
121
|
-
end
|
122
|
-
|
123
|
-
private
|
124
|
-
def create_env_table(req, origin)
|
125
|
-
env = req.meta_vars.clone
|
126
|
-
env.delete "SCRIPT_NAME"
|
127
|
-
env["QUERY_STRING"] = req.request_uri.query
|
128
|
-
env["REQUEST_URI"] = origin if origin
|
129
|
-
return env
|
130
|
-
end
|
131
|
-
|
132
|
-
def extract_header_and_body(data)
|
133
|
-
data.rewind
|
134
|
-
data = data.read
|
135
|
-
|
136
|
-
raw_header, body = *data.split(/^[\xd\xa]{2}/on, 2)
|
137
|
-
header = WEBrick::HTTPUtils::parse_header(raw_header)
|
138
|
-
|
139
|
-
return header, body
|
140
|
-
end
|
141
|
-
|
142
|
-
def set_charset(header)
|
143
|
-
ct = header["content-type"]
|
144
|
-
if ct.any? { |x| x =~ /^text\// } && ! ct.any? { |x| x =~ /charset=/ }
|
145
|
-
ch = @server_options[:charset] || "UTF-8"
|
146
|
-
ct.find { |x| x =~ /^text\// } << ("; charset=" + ch)
|
147
|
-
end
|
148
|
-
end
|
149
|
-
|
150
|
-
def assign_status(res, header)
|
151
|
-
if /^(\d+)/ =~ header['status'][0]
|
152
|
-
res.status = $1.to_i
|
153
|
-
header.delete('status')
|
154
|
-
end
|
155
|
-
end
|
156
|
-
end
|
data/railties.gemspec
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
Gem::Specification.new do |s|
|
2
|
-
s.name = 'rails'
|
3
|
-
s.version = '2.3.18'
|
4
|
-
s.summary = 'Web-application framework with template engine, control-flow layer, and ORM.'
|
5
|
-
s.description = "Rails is a framework for building web-application using CGI, FCGI, mod_ruby, or WEBrick\non top of either MySQL, PostgreSQL, SQLite, DB2, SQL Server, or Oracle with eRuby- or Builder-based templates."
|
6
|
-
|
7
|
-
s.author = 'David Heinemeier Hansson'
|
8
|
-
s.email = 'david@loudthinking.com'
|
9
|
-
s.homepage = 'http://www.rubyonrails.org'
|
10
|
-
|
11
|
-
s.require_path = 'lib'
|
12
|
-
s.files = ['bin/rails']
|
13
|
-
s.executables = ['rails']
|
14
|
-
s.rdoc_options = ['--exclude', '.']
|
15
|
-
|
16
|
-
s.add_dependency 'rake', '>= 0.8.3'
|
17
|
-
s.add_dependency 'activesupport', '= 2.3.18'
|
18
|
-
s.add_dependency 'activerecord', '= 2.3.18'
|
19
|
-
s.add_dependency 'actionpack', '= 2.3.18'
|
20
|
-
s.add_dependency 'actionmailer', '= 2.3.18'
|
21
|
-
s.add_dependency 'activeresource', '= 2.3.18'
|
22
|
-
end
|