thin 1.3.1 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. data/CHANGELOG +8 -0
  2. data/README.md +83 -0
  3. data/Rakefile +9 -32
  4. data/example/vlad.rake +1 -1
  5. data/lib/rack/adapter/loader.rb +0 -16
  6. data/lib/thin.rb +22 -24
  7. data/lib/thin/backends/base.rb +3 -1
  8. data/lib/thin/connection.rb +9 -8
  9. data/lib/thin/daemonizing.rb +3 -1
  10. data/lib/thin/logging.rb +1 -1
  11. data/lib/thin/runner.rb +36 -36
  12. data/lib/thin/server.rb +13 -0
  13. data/lib/thin/version.rb +3 -3
  14. metadata +5 -91
  15. data/README +0 -69
  16. data/benchmark/abc +0 -51
  17. data/benchmark/benchmarker.rb +0 -80
  18. data/benchmark/runner +0 -82
  19. data/spec/backends/swiftiply_client_spec.rb +0 -66
  20. data/spec/backends/tcp_server_spec.rb +0 -33
  21. data/spec/backends/unix_server_spec.rb +0 -37
  22. data/spec/command_spec.rb +0 -25
  23. data/spec/configs/cluster.yml +0 -9
  24. data/spec/configs/single.yml +0 -9
  25. data/spec/connection_spec.rb +0 -107
  26. data/spec/controllers/cluster_spec.rb +0 -267
  27. data/spec/controllers/controller_spec.rb +0 -129
  28. data/spec/controllers/service_spec.rb +0 -50
  29. data/spec/daemonizing_spec.rb +0 -200
  30. data/spec/headers_spec.rb +0 -40
  31. data/spec/logging_spec.rb +0 -52
  32. data/spec/perf/request_perf_spec.rb +0 -50
  33. data/spec/perf/response_perf_spec.rb +0 -19
  34. data/spec/perf/server_perf_spec.rb +0 -39
  35. data/spec/rack/loader_spec.rb +0 -42
  36. data/spec/rack/rails_adapter_spec.rb +0 -173
  37. data/spec/rails_app/app/controllers/application.rb +0 -10
  38. data/spec/rails_app/app/controllers/simple_controller.rb +0 -19
  39. data/spec/rails_app/app/helpers/application_helper.rb +0 -3
  40. data/spec/rails_app/app/views/simple/index.html.erb +0 -15
  41. data/spec/rails_app/config/boot.rb +0 -109
  42. data/spec/rails_app/config/environment.rb +0 -64
  43. data/spec/rails_app/config/environments/development.rb +0 -18
  44. data/spec/rails_app/config/environments/production.rb +0 -19
  45. data/spec/rails_app/config/environments/test.rb +0 -22
  46. data/spec/rails_app/config/initializers/inflections.rb +0 -10
  47. data/spec/rails_app/config/initializers/mime_types.rb +0 -5
  48. data/spec/rails_app/config/routes.rb +0 -35
  49. data/spec/rails_app/public/404.html +0 -30
  50. data/spec/rails_app/public/422.html +0 -30
  51. data/spec/rails_app/public/500.html +0 -30
  52. data/spec/rails_app/public/dispatch.cgi +0 -10
  53. data/spec/rails_app/public/dispatch.fcgi +0 -24
  54. data/spec/rails_app/public/dispatch.rb +0 -10
  55. data/spec/rails_app/public/favicon.ico +0 -0
  56. data/spec/rails_app/public/images/rails.png +0 -0
  57. data/spec/rails_app/public/index.html +0 -277
  58. data/spec/rails_app/public/javascripts/application.js +0 -2
  59. data/spec/rails_app/public/javascripts/controls.js +0 -963
  60. data/spec/rails_app/public/javascripts/dragdrop.js +0 -972
  61. data/spec/rails_app/public/javascripts/effects.js +0 -1120
  62. data/spec/rails_app/public/javascripts/prototype.js +0 -4225
  63. data/spec/rails_app/public/robots.txt +0 -5
  64. data/spec/rails_app/script/about +0 -3
  65. data/spec/rails_app/script/console +0 -3
  66. data/spec/rails_app/script/destroy +0 -3
  67. data/spec/rails_app/script/generate +0 -3
  68. data/spec/rails_app/script/performance/benchmarker +0 -3
  69. data/spec/rails_app/script/performance/profiler +0 -3
  70. data/spec/rails_app/script/performance/request +0 -3
  71. data/spec/rails_app/script/plugin +0 -3
  72. data/spec/rails_app/script/process/inspector +0 -3
  73. data/spec/rails_app/script/process/reaper +0 -3
  74. data/spec/rails_app/script/process/spawner +0 -3
  75. data/spec/rails_app/script/runner +0 -3
  76. data/spec/rails_app/script/server +0 -3
  77. data/spec/request/mongrel_spec.rb +0 -39
  78. data/spec/request/parser_spec.rb +0 -254
  79. data/spec/request/persistent_spec.rb +0 -35
  80. data/spec/request/processing_spec.rb +0 -50
  81. data/spec/response_spec.rb +0 -102
  82. data/spec/runner_spec.rb +0 -168
  83. data/spec/server/builder_spec.rb +0 -44
  84. data/spec/server/pipelining_spec.rb +0 -110
  85. data/spec/server/robustness_spec.rb +0 -34
  86. data/spec/server/stopping_spec.rb +0 -55
  87. data/spec/server/swiftiply.yml +0 -6
  88. data/spec/server/swiftiply_spec.rb +0 -32
  89. data/spec/server/tcp_spec.rb +0 -47
  90. data/spec/server/threaded_spec.rb +0 -27
  91. data/spec/server/unix_socket_spec.rb +0 -26
  92. data/spec/server_spec.rb +0 -100
  93. data/spec/spec_helper.rb +0 -234
  94. data/tasks/announce.rake +0 -22
  95. data/tasks/deploy.rake +0 -13
  96. data/tasks/email.erb +0 -27
  97. data/tasks/gem.rake +0 -65
  98. data/tasks/rdoc.rake +0 -25
  99. data/tasks/site.rake +0 -15
  100. data/tasks/spec.rake +0 -43
  101. data/tasks/stats.rake +0 -28
@@ -1,64 +0,0 @@
1
- # Be sure to restart your server when you modify this file
2
-
3
- # Uncomment below to force Rails into production mode when
4
- # you don't control web/app server and can't set it the proper way
5
- # ENV['RAILS_ENV'] ||= 'production'
6
-
7
- # Specifies gem version of Rails to use when vendor/rails is not present
8
- RAILS_GEM_VERSION = '2.0.2' unless defined? RAILS_GEM_VERSION
9
-
10
- # Bootstrap the Rails environment, frameworks, and default configuration
11
- require File.join(File.dirname(__FILE__), 'boot')
12
-
13
- Rails::Initializer.run do |config|
14
- # Settings in config/environments/* take precedence over those specified here.
15
- # Application configuration should go into files in config/initializers
16
- # -- all .rb files in that directory are automatically loaded.
17
- # See Rails::Configuration for more options.
18
-
19
- # Skip frameworks you're not going to use (only works if using vendor/rails).
20
- # To use Rails without a database, you must remove the Active Record framework
21
- config.frameworks -= [ :active_record, :active_resource, :action_mailer ]
22
-
23
- # Only load the plugins named here, in the order given. By default, all plugins
24
- # in vendor/plugins are loaded in alphabetical order.
25
- # :all can be used as a placeholder for all plugins not explicitly named
26
- # config.plugins = [ :exception_notification, :ssl_requirement, :all ]
27
-
28
- # Add additional load paths for your own custom dirs
29
- # config.load_paths += %W( #{RAILS_ROOT}/extras )
30
-
31
- # No need for log files
32
- config.logger = Logger.new(nil)
33
-
34
- # Force all environments to use the same logger level
35
- # (by default production uses :info, the others :debug)
36
- # config.log_level = :debug
37
-
38
- # Your secret key for verifying cookie session data integrity.
39
- # If you change this key, all old sessions will become invalid!
40
- # Make sure the secret is at least 30 characters and all random,
41
- # no regular words or you'll be exposed to dictionary attacks.
42
- config.action_controller.session = {
43
- :session_key => '_rails_app_session',
44
- :secret => 'cb7141365b4443eff37e7122473e704ceae95146a4028930b21300965fe6abec51e3e93b2670a914b3b65d06058b81aadfe6b240d63e7d7713db044b42a6e1c1'
45
- }
46
-
47
- config.action_controller.allow_forgery_protection = false
48
-
49
- # Use the database for sessions instead of the cookie-based default,
50
- # which shouldn't be used to store highly confidential information
51
- # (create the session table with 'rake db:sessions:create')
52
- # config.action_controller.session_store = :active_record_store
53
-
54
- # Use SQL instead of Active Record's schema dumper when creating the test database.
55
- # This is necessary if your schema can't be completely dumped by the schema dumper,
56
- # like if you have constraints or database-specific column types
57
- # config.active_record.schema_format = :sql
58
-
59
- # Activate observers that should always be running
60
- # config.active_record.observers = :cacher, :garbage_collector
61
-
62
- # Make Active Record use UTC-base instead of local time
63
- # config.active_record.default_timezone = :utc
64
- end
@@ -1,18 +0,0 @@
1
- # Settings specified here will take precedence over those in config/environment.rb
2
-
3
- # In the development environment your application's code is reloaded on
4
- # every request. This slows down response time but is perfect for development
5
- # since you don't have to restart the webserver when you make code changes.
6
- config.cache_classes = false
7
-
8
- # Log error messages when you accidentally call methods on nil.
9
- config.whiny_nils = true
10
-
11
- # Show full error reports and disable caching
12
- config.action_controller.consider_all_requests_local = true
13
- config.action_view.debug_rjs = true
14
- config.action_controller.perform_caching = true
15
- config.action_view.cache_template_extensions = false
16
-
17
- # Don't care if the mailer can't send
18
- config.action_mailer.raise_delivery_errors = false
@@ -1,19 +0,0 @@
1
- # Settings specified here will take precedence over those in config/environment.rb
2
-
3
- # The production environment is meant for finished, "live" apps.
4
- # Code is not reloaded between requests
5
- config.cache_classes = true
6
-
7
- # Use a different logger for distributed setups
8
- # config.logger = SyslogLogger.new
9
-
10
- # Full error reports are disabled and caching is turned on
11
- config.action_controller.consider_all_requests_local = false
12
- config.action_controller.perform_caching = true
13
- config.action_view.cache_template_loading = true
14
-
15
- # Enable serving of images, stylesheets, and javascripts from an asset server
16
- # config.action_controller.asset_host = "http://assets.example.com"
17
-
18
- # Disable delivery errors, bad email addresses will be ignored
19
- # config.action_mailer.raise_delivery_errors = false
@@ -1,22 +0,0 @@
1
- # Settings specified here will take precedence over those in config/environment.rb
2
-
3
- # The test environment is used exclusively to run your application's
4
- # test suite. You never need to work with it otherwise. Remember that
5
- # your test database is "scratch space" for the test suite and is wiped
6
- # and recreated between test runs. Don't rely on the data there!
7
- config.cache_classes = true
8
-
9
- # Log error messages when you accidentally call methods on nil.
10
- config.whiny_nils = true
11
-
12
- # Show full error reports and disable caching
13
- config.action_controller.consider_all_requests_local = true
14
- config.action_controller.perform_caching = false
15
-
16
- # Disable request forgery protection in test environment
17
- config.action_controller.allow_forgery_protection = false
18
-
19
- # Tell ActionMailer not to deliver emails to the real world.
20
- # The :test delivery method accumulates sent emails in the
21
- # ActionMailer::Base.deliveries array.
22
- config.action_mailer.delivery_method = :test
@@ -1,10 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Add new inflection rules using the following format
4
- # (all these examples are active by default):
5
- # Inflector.inflections do |inflect|
6
- # inflect.plural /^(ox)$/i, '\1en'
7
- # inflect.singular /^(ox)en/i, '\1'
8
- # inflect.irregular 'person', 'people'
9
- # inflect.uncountable %w( fish sheep )
10
- # end
@@ -1,5 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Add new mime types for use in respond_to blocks:
4
- # Mime::Type.register "text/richtext", :rtf
5
- # Mime::Type.register_alias "text/html", :iphone
@@ -1,35 +0,0 @@
1
- ActionController::Routing::Routes.draw do |map|
2
- # The priority is based upon order of creation: first created -> highest priority.
3
-
4
- # Sample of regular route:
5
- # map.connect 'products/:id', :controller => 'catalog', :action => 'view'
6
- # Keep in mind you can assign values other than :controller and :action
7
-
8
- # Sample of named route:
9
- # map.purchase 'products/:id/purchase', :controller => 'catalog', :action => 'purchase'
10
- # This route can be invoked with purchase_url(:id => product.id)
11
-
12
- # Sample resource route (maps HTTP verbs to controller actions automatically):
13
- # map.resources :products
14
-
15
- # Sample resource route with options:
16
- # map.resources :products, :member => { :short => :get, :toggle => :post }, :collection => { :sold => :get }
17
-
18
- # Sample resource route with sub-resources:
19
- # map.resources :products, :has_many => [ :comments, :sales ], :has_one => :seller
20
-
21
- # Sample resource route within a namespace:
22
- # map.namespace :admin do |admin|
23
- # # Directs /admin/products/* to Admin::ProductsController (app/controllers/admin/products_controller.rb)
24
- # admin.resources :products
25
- # end
26
-
27
- # You can have the root of your site routed with map.root -- just remember to delete public/index.html.
28
- # map.root :controller => "welcome"
29
-
30
- # See how all your routes lay out with "rake routes"
31
-
32
- # Install the default routes as the lowest priority.
33
- map.connect ':controller/:action/:id'
34
- map.connect ':controller/:action/:id.:format'
35
- end
@@ -1,30 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
-
4
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
-
6
- <head>
7
- <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
8
- <title>The page you were looking for doesn't exist (404)</title>
9
- <style type="text/css">
10
- body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
11
- div.dialog {
12
- width: 25em;
13
- padding: 0 4em;
14
- margin: 4em auto 0 auto;
15
- border: 1px solid #ccc;
16
- border-right-color: #999;
17
- border-bottom-color: #999;
18
- }
19
- h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
20
- </style>
21
- </head>
22
-
23
- <body>
24
- <!-- This file lives in public/404.html -->
25
- <div class="dialog">
26
- <h1>The page you were looking for doesn't exist.</h1>
27
- <p>You may have mistyped the address or the page may have moved.</p>
28
- </div>
29
- </body>
30
- </html>
@@ -1,30 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
-
4
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
-
6
- <head>
7
- <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
8
- <title>The change you wanted was rejected (422)</title>
9
- <style type="text/css">
10
- body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
11
- div.dialog {
12
- width: 25em;
13
- padding: 0 4em;
14
- margin: 4em auto 0 auto;
15
- border: 1px solid #ccc;
16
- border-right-color: #999;
17
- border-bottom-color: #999;
18
- }
19
- h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
20
- </style>
21
- </head>
22
-
23
- <body>
24
- <!-- This file lives in public/422.html -->
25
- <div class="dialog">
26
- <h1>The change you wanted was rejected.</h1>
27
- <p>Maybe you tried to change something you didn't have access to.</p>
28
- </div>
29
- </body>
30
- </html>
@@ -1,30 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
-
4
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
-
6
- <head>
7
- <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
8
- <title>We're sorry, but something went wrong (500)</title>
9
- <style type="text/css">
10
- body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
11
- div.dialog {
12
- width: 25em;
13
- padding: 0 4em;
14
- margin: 4em auto 0 auto;
15
- border: 1px solid #ccc;
16
- border-right-color: #999;
17
- border-bottom-color: #999;
18
- }
19
- h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
20
- </style>
21
- </head>
22
-
23
- <body>
24
- <!-- This file lives in public/500.html -->
25
- <div class="dialog">
26
- <h1>We're sorry, but something went wrong.</h1>
27
- <p>We've been notified about this issue and we'll take a look at it shortly.</p>
28
- </div>
29
- </body>
30
- </html>
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require File.dirname(__FILE__) + "/../config/environment" unless defined?(RAILS_ROOT)
4
-
5
- # If you're using RubyGems and mod_ruby, this require should be changed to an absolute path one, like:
6
- # "/usr/local/lib/ruby/gems/1.8/gems/rails-0.8.0/lib/dispatcher" -- otherwise performance is severely impaired
7
- require "dispatcher"
8
-
9
- ADDITIONAL_LOAD_PATHS.reverse.each { |dir| $:.unshift(dir) if File.directory?(dir) } if defined?(Apache::RubyRun)
10
- Dispatcher.dispatch
@@ -1,24 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # You may specify the path to the FastCGI crash log (a log of unhandled
4
- # exceptions which forced the FastCGI instance to exit, great for debugging)
5
- # and the number of requests to process before running garbage collection.
6
- #
7
- # By default, the FastCGI crash log is RAILS_ROOT/log/fastcgi.crash.log
8
- # and the GC period is nil (turned off). A reasonable number of requests
9
- # could range from 10-100 depending on the memory footprint of your app.
10
- #
11
- # Example:
12
- # # Default log path, normal GC behavior.
13
- # RailsFCGIHandler.process!
14
- #
15
- # # Default log path, 50 requests between GC.
16
- # RailsFCGIHandler.process! nil, 50
17
- #
18
- # # Custom log path, normal GC behavior.
19
- # RailsFCGIHandler.process! '/var/log/myapp_fcgi_crash.log'
20
- #
21
- require File.dirname(__FILE__) + "/../config/environment"
22
- require 'fcgi_handler'
23
-
24
- RailsFCGIHandler.process!
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require File.dirname(__FILE__) + "/../config/environment" unless defined?(RAILS_ROOT)
4
-
5
- # If you're using RubyGems and mod_ruby, this require should be changed to an absolute path one, like:
6
- # "/usr/local/lib/ruby/gems/1.8/gems/rails-0.8.0/lib/dispatcher" -- otherwise performance is severely impaired
7
- require "dispatcher"
8
-
9
- ADDITIONAL_LOAD_PATHS.reverse.each { |dir| $:.unshift(dir) if File.directory?(dir) } if defined?(Apache::RubyRun)
10
- Dispatcher.dispatch
File without changes
@@ -1,277 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html>
4
- <head>
5
- <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
6
- <title>Ruby on Rails: Welcome aboard</title>
7
- <style type="text/css" media="screen">
8
- body {
9
- margin: 0;
10
- margin-bottom: 25px;
11
- padding: 0;
12
- background-color: #f0f0f0;
13
- font-family: "Lucida Grande", "Bitstream Vera Sans", "Verdana";
14
- font-size: 13px;
15
- color: #333;
16
- }
17
-
18
- h1 {
19
- font-size: 28px;
20
- color: #000;
21
- }
22
-
23
- a {color: #03c}
24
- a:hover {
25
- background-color: #03c;
26
- color: white;
27
- text-decoration: none;
28
- }
29
-
30
-
31
- #page {
32
- background-color: #f0f0f0;
33
- width: 750px;
34
- margin: 0;
35
- margin-left: auto;
36
- margin-right: auto;
37
- }
38
-
39
- #content {
40
- float: left;
41
- background-color: white;
42
- border: 3px solid #aaa;
43
- border-top: none;
44
- padding: 25px;
45
- width: 500px;
46
- }
47
-
48
- #sidebar {
49
- float: right;
50
- width: 175px;
51
- }
52
-
53
- #footer {
54
- clear: both;
55
- }
56
-
57
-
58
- #header, #about, #getting-started {
59
- padding-left: 75px;
60
- padding-right: 30px;
61
- }
62
-
63
-
64
- #header {
65
- background-image: url("images/rails.png");
66
- background-repeat: no-repeat;
67
- background-position: top left;
68
- height: 64px;
69
- }
70
- #header h1, #header h2 {margin: 0}
71
- #header h2 {
72
- color: #888;
73
- font-weight: normal;
74
- font-size: 16px;
75
- }
76
-
77
-
78
- #about h3 {
79
- margin: 0;
80
- margin-bottom: 10px;
81
- font-size: 14px;
82
- }
83
-
84
- #about-content {
85
- background-color: #ffd;
86
- border: 1px solid #fc0;
87
- margin-left: -11px;
88
- }
89
- #about-content table {
90
- margin-top: 10px;
91
- margin-bottom: 10px;
92
- font-size: 11px;
93
- border-collapse: collapse;
94
- }
95
- #about-content td {
96
- padding: 10px;
97
- padding-top: 3px;
98
- padding-bottom: 3px;
99
- }
100
- #about-content td.name {color: #555}
101
- #about-content td.value {color: #000}
102
-
103
- #about-content.failure {
104
- background-color: #fcc;
105
- border: 1px solid #f00;
106
- }
107
- #about-content.failure p {
108
- margin: 0;
109
- padding: 10px;
110
- }
111
-
112
-
113
- #getting-started {
114
- border-top: 1px solid #ccc;
115
- margin-top: 25px;
116
- padding-top: 15px;
117
- }
118
- #getting-started h1 {
119
- margin: 0;
120
- font-size: 20px;
121
- }
122
- #getting-started h2 {
123
- margin: 0;
124
- font-size: 14px;
125
- font-weight: normal;
126
- color: #333;
127
- margin-bottom: 25px;
128
- }
129
- #getting-started ol {
130
- margin-left: 0;
131
- padding-left: 0;
132
- }
133
- #getting-started li {
134
- font-size: 18px;
135
- color: #888;
136
- margin-bottom: 25px;
137
- }
138
- #getting-started li h2 {
139
- margin: 0;
140
- font-weight: normal;
141
- font-size: 18px;
142
- color: #333;
143
- }
144
- #getting-started li p {
145
- color: #555;
146
- font-size: 13px;
147
- }
148
-
149
-
150
- #search {
151
- margin: 0;
152
- padding-top: 10px;
153
- padding-bottom: 10px;
154
- font-size: 11px;
155
- }
156
- #search input {
157
- font-size: 11px;
158
- margin: 2px;
159
- }
160
- #search-text {width: 170px}
161
-
162
-
163
- #sidebar ul {
164
- margin-left: 0;
165
- padding-left: 0;
166
- }
167
- #sidebar ul h3 {
168
- margin-top: 25px;
169
- font-size: 16px;
170
- padding-bottom: 10px;
171
- border-bottom: 1px solid #ccc;
172
- }
173
- #sidebar li {
174
- list-style-type: none;
175
- }
176
- #sidebar ul.links li {
177
- margin-bottom: 5px;
178
- }
179
-
180
- </style>
181
- <script type="text/javascript" src="javascripts/prototype.js"></script>
182
- <script type="text/javascript" src="javascripts/effects.js"></script>
183
- <script type="text/javascript">
184
- function about() {
185
- if (Element.empty('about-content')) {
186
- new Ajax.Updater('about-content', 'rails/info/properties', {
187
- method: 'get',
188
- onFailure: function() {Element.classNames('about-content').add('failure')},
189
- onComplete: function() {new Effect.BlindDown('about-content', {duration: 0.25})}
190
- });
191
- } else {
192
- new Effect[Element.visible('about-content') ?
193
- 'BlindUp' : 'BlindDown']('about-content', {duration: 0.25});
194
- }
195
- }
196
-
197
- window.onload = function() {
198
- $('search-text').value = '';
199
- $('search').onsubmit = function() {
200
- $('search-text').value = 'site:rubyonrails.org ' + $F('search-text');
201
- }
202
- }
203
- </script>
204
- </head>
205
- <body>
206
- <div id="page">
207
- <div id="sidebar">
208
- <ul id="sidebar-items">
209
- <li>
210
- <form id="search" action="http://www.google.com/search" method="get">
211
- <input type="hidden" name="hl" value="en" />
212
- <input type="text" id="search-text" name="q" value="site:rubyonrails.org " />
213
- <input type="submit" value="Search" /> the Rails site
214
- </form>
215
- </li>
216
-
217
- <li>
218
- <h3>Join the community</h3>
219
- <ul class="links">
220
- <li><a href="http://www.rubyonrails.org/">Ruby on Rails</a></li>
221
- <li><a href="http://weblog.rubyonrails.org/">Official weblog</a></li>
222
- <li><a href="http://lists.rubyonrails.org/">Mailing lists</a></li>
223
- <li><a href="http://wiki.rubyonrails.org/rails/pages/IRC">IRC channel</a></li>
224
- <li><a href="http://wiki.rubyonrails.org/">Wiki</a></li>
225
- <li><a href="http://dev.rubyonrails.org/">Bug tracker</a></li>
226
- </ul>
227
- </li>
228
-
229
- <li>
230
- <h3>Browse the documentation</h3>
231
- <ul class="links">
232
- <li><a href="http://api.rubyonrails.org/">Rails API</a></li>
233
- <li><a href="http://stdlib.rubyonrails.org/">Ruby standard library</a></li>
234
- <li><a href="http://corelib.rubyonrails.org/">Ruby core</a></li>
235
- </ul>
236
- </li>
237
- </ul>
238
- </div>
239
-
240
- <div id="content">
241
- <div id="header">
242
- <h1>Welcome aboard</h1>
243
- <h2>You&rsquo;re riding Ruby on Rails!</h2>
244
- </div>
245
-
246
- <div id="about">
247
- <h3><a href="rails/info/properties" onclick="about(); return false">About your application&rsquo;s environment</a></h3>
248
- <div id="about-content" style="display: none"></div>
249
- </div>
250
-
251
- <div id="getting-started">
252
- <h1>Getting started</h1>
253
- <h2>Here&rsquo;s how to get rolling:</h2>
254
-
255
- <ol>
256
- <li>
257
- <h2>Create your databases and edit <tt>config/database.yml</tt></h2>
258
- <p>Rails needs to know your login and password.</p>
259
- </li>
260
-
261
- <li>
262
- <h2>Use <tt>script/generate</tt> to create your models and controllers</h2>
263
- <p>To see all available options, run it without parameters.</p>
264
- </li>
265
-
266
- <li>
267
- <h2>Set up a default route and remove or rename this file</h2>
268
- <p>Routes are set up in config/routes.rb.</p>
269
- </li>
270
- </ol>
271
- </div>
272
- </div>
273
-
274
- <div id="footer">&nbsp;</div>
275
- </div>
276
- </body>
277
- </html>