railties 3.2.22.5 → 4.0.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +186 -78
- data/README.rdoc +4 -2
- data/lib/rails.rb +11 -44
- data/lib/rails/all.rb +0 -1
- data/lib/rails/app_rails_loader.rb +37 -0
- data/lib/rails/application.rb +176 -124
- data/lib/rails/application/bootstrap.rb +29 -23
- data/lib/rails/application/configuration.rb +54 -48
- data/lib/rails/application/finisher.rb +8 -12
- data/lib/rails/application/routes_reloader.rb +2 -2
- data/lib/rails/backtrace_cleaner.rb +1 -16
- data/lib/rails/cli.rb +2 -2
- data/lib/rails/code_statistics.rb +30 -45
- data/lib/rails/code_statistics_calculator.rb +79 -0
- data/lib/rails/commands.rb +44 -37
- data/lib/rails/commands/application.rb +14 -9
- data/lib/rails/commands/console.rb +77 -33
- data/lib/rails/commands/dbconsole.rb +115 -64
- data/lib/rails/commands/destroy.rb +2 -3
- data/lib/rails/commands/generate.rb +2 -3
- data/lib/rails/commands/plugin_new.rb +0 -2
- data/lib/rails/commands/runner.rb +4 -5
- data/lib/rails/commands/server.rb +28 -9
- data/lib/rails/commands/update.rb +1 -1
- data/lib/rails/configuration.rb +35 -8
- data/lib/rails/console/app.rb +0 -4
- data/lib/rails/deprecation.rb +19 -0
- data/lib/rails/engine.rb +111 -92
- data/lib/rails/engine/commands.rb +1 -3
- data/lib/rails/engine/configuration.rb +26 -19
- data/lib/rails/engine/railties.rb +14 -18
- data/lib/rails/generators.rb +30 -50
- data/lib/rails/generators/actions.rb +38 -103
- data/lib/rails/generators/active_model.rb +14 -6
- data/lib/rails/generators/app_base.rb +70 -83
- data/lib/rails/generators/base.rb +23 -35
- data/lib/rails/generators/css/assets/assets_generator.rb +3 -3
- data/lib/rails/generators/css/scaffold/scaffold_generator.rb +3 -3
- data/lib/rails/generators/erb.rb +2 -2
- data/lib/rails/generators/erb/controller/controller_generator.rb +4 -4
- data/lib/rails/generators/erb/mailer/mailer_generator.rb +3 -3
- data/lib/rails/generators/erb/scaffold/scaffold_generator.rb +4 -4
- data/lib/rails/generators/erb/scaffold/templates/index.html.erb +18 -14
- data/lib/rails/generators/erb/scaffold/templates/show.html.erb +1 -1
- data/lib/rails/generators/generated_attribute.rb +51 -16
- data/lib/rails/generators/js/assets/assets_generator.rb +3 -3
- data/lib/rails/generators/migration.rb +1 -5
- data/lib/rails/generators/named_base.rb +20 -25
- data/lib/rails/generators/rails/app/app_generator.rb +40 -48
- data/lib/rails/generators/rails/app/templates/Gemfile +8 -7
- data/lib/rails/generators/rails/app/templates/README.rdoc +28 -0
- data/lib/rails/generators/rails/app/templates/Rakefile +0 -1
- data/lib/rails/generators/rails/app/templates/app/assets/javascripts/application.js.tt +2 -1
- data/lib/rails/generators/rails/app/templates/app/controllers/application_controller.rb.tt +5 -0
- data/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb.tt +2 -2
- data/lib/rails/generators/rails/app/templates/bin/bundle +2 -0
- data/lib/rails/generators/rails/app/templates/bin/rails +3 -0
- data/lib/rails/generators/rails/app/templates/bin/rake +3 -0
- data/lib/rails/generators/rails/app/templates/config/application.rb +5 -43
- data/lib/rails/generators/rails/app/templates/config/boot.rb +0 -2
- data/lib/rails/generators/rails/app/templates/config/databases/jdbcpostgresql.yml +2 -2
- data/lib/rails/generators/rails/app/templates/config/databases/mysql.yml +1 -4
- data/lib/rails/generators/rails/app/templates/config/databases/postgresql.yml +8 -3
- data/lib/rails/generators/rails/app/templates/config/databases/sqlserver.yml +57 -0
- data/lib/rails/generators/rails/app/templates/config/environment.rb +2 -2
- data/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt +9 -19
- data/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +40 -29
- data/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt +12 -15
- data/lib/rails/generators/rails/app/templates/config/initializers/filter_parameter_logging.rb +4 -0
- data/lib/rails/generators/rails/app/templates/config/initializers/inflections.rb +6 -5
- data/lib/rails/generators/rails/app/templates/config/initializers/secret_token.rb.tt +6 -1
- data/lib/rails/generators/rails/app/templates/config/initializers/session_store.rb.tt +1 -6
- data/lib/rails/generators/rails/app/templates/config/initializers/wrap_parameters.rb.tt +6 -6
- data/lib/rails/generators/rails/app/templates/config/locales/en.yml +20 -2
- data/lib/rails/generators/rails/app/templates/config/routes.rb +15 -24
- data/lib/rails/generators/rails/app/templates/db/seeds.rb.tt +2 -2
- data/lib/rails/generators/rails/app/templates/gitignore +3 -2
- data/lib/rails/generators/rails/app/templates/public/404.html +2 -1
- data/lib/rails/generators/rails/app/templates/public/422.html +1 -1
- data/lib/rails/generators/rails/app/templates/public/500.html +2 -1
- data/lib/rails/generators/rails/app/templates/public/robots.txt +1 -1
- data/lib/rails/generators/rails/app/templates/test/test_helper.rb +3 -1
- data/lib/rails/generators/rails/assets/assets_generator.rb +5 -5
- data/lib/rails/generators/rails/controller/USAGE +7 -7
- data/lib/rails/generators/rails/controller/controller_generator.rb +3 -3
- data/lib/rails/generators/rails/controller/templates/controller.rb +1 -1
- data/lib/rails/generators/rails/generator/generator_generator.rb +4 -4
- data/lib/rails/generators/rails/helper/USAGE +1 -1
- data/lib/rails/generators/rails/helper/helper_generator.rb +2 -2
- data/lib/rails/generators/rails/integration_test/integration_test_generator.rb +2 -2
- data/lib/rails/generators/rails/migration/USAGE +12 -6
- data/lib/rails/generators/rails/migration/migration_generator.rb +3 -3
- data/lib/rails/generators/rails/model/USAGE +53 -4
- data/lib/rails/generators/rails/model/model_generator.rb +3 -3
- data/lib/rails/generators/rails/plugin_new/plugin_new_generator.rb +81 -39
- data/lib/rails/generators/rails/plugin_new/templates/%name%.gemspec +2 -2
- data/lib/rails/generators/rails/plugin_new/templates/Gemfile +16 -1
- data/lib/rails/generators/rails/plugin_new/templates/Rakefile +3 -9
- data/lib/rails/generators/rails/plugin_new/templates/app/controllers/%name%/application_controller.rb.tt +0 -1
- data/lib/rails/generators/rails/plugin_new/templates/app/views/layouts/%name%/application.html.erb.tt +1 -1
- data/lib/rails/generators/rails/plugin_new/templates/{script → bin}/rails.tt +0 -0
- data/lib/rails/generators/rails/plugin_new/templates/gitignore +3 -0
- data/lib/rails/generators/rails/plugin_new/templates/lib/%name%.rb +1 -1
- data/lib/rails/generators/rails/plugin_new/templates/rails/application.rb +0 -1
- data/lib/rails/generators/rails/plugin_new/templates/rails/boot.rb +0 -1
- data/lib/rails/generators/rails/resource/resource_generator.rb +5 -5
- data/lib/rails/generators/rails/resource_route/resource_route_generator.rb +2 -2
- data/lib/rails/generators/rails/scaffold/scaffold_generator.rb +11 -7
- data/lib/rails/generators/rails/scaffold_controller/USAGE +4 -4
- data/lib/rails/generators/rails/scaffold_controller/scaffold_controller_generator.rb +9 -7
- data/lib/rails/generators/rails/scaffold_controller/templates/controller.rb +27 -48
- data/lib/rails/generators/rails/task/task_generator.rb +2 -2
- data/lib/rails/generators/rails/task/templates/task.rb +1 -1
- data/lib/rails/generators/resource_helpers.rb +3 -5
- data/lib/rails/generators/test_case.rb +22 -28
- data/lib/rails/generators/test_unit.rb +3 -3
- data/lib/rails/generators/test_unit/controller/controller_generator.rb +6 -6
- data/lib/rails/generators/test_unit/helper/helper_generator.rb +5 -5
- data/lib/rails/generators/test_unit/integration/integration_generator.rb +4 -4
- data/lib/rails/generators/test_unit/mailer/mailer_generator.rb +6 -6
- data/lib/rails/generators/test_unit/model/model_generator.rb +7 -7
- data/lib/rails/generators/test_unit/model/templates/fixtures.yml +8 -2
- data/lib/rails/generators/test_unit/plugin/plugin_generator.rb +4 -4
- data/lib/rails/generators/test_unit/plugin/templates/test_helper.rb +1 -2
- data/lib/rails/generators/test_unit/scaffold/scaffold_generator.rb +10 -19
- data/lib/rails/generators/test_unit/scaffold/templates/functional_test.rb +5 -5
- data/lib/rails/info.rb +3 -3
- data/lib/rails/info_controller.rb +26 -8
- data/lib/rails/initializable.rb +2 -2
- data/lib/rails/paths.rb +59 -54
- data/lib/rails/rack/debugger.rb +2 -2
- data/lib/rails/rack/logger.rb +33 -8
- data/lib/rails/railtie.rb +24 -24
- data/lib/rails/railtie/configurable.rb +1 -1
- data/lib/rails/railtie/configuration.rb +15 -5
- data/lib/rails/ruby_version_check.rb +3 -13
- data/lib/rails/rubyprof_ext.rb +1 -1
- data/lib/rails/source_annotation_extractor.rb +40 -17
- data/lib/rails/tasks/annotations.rake +1 -1
- data/lib/rails/tasks/documentation.rake +10 -57
- data/lib/rails/tasks/engine.rake +1 -1
- data/lib/rails/tasks/framework.rake +9 -9
- data/lib/rails/tasks/log.rake +18 -4
- data/lib/rails/tasks/middleware.rake +1 -1
- data/lib/rails/tasks/misc.rake +2 -9
- data/lib/rails/tasks/routes.rake +4 -6
- data/lib/rails/tasks/statistics.rake +8 -2
- data/lib/rails/tasks/tmp.rake +12 -4
- data/lib/rails/templates/layouts/application.html.erb +36 -0
- data/lib/rails/templates/rails/info/properties.html.erb +1 -0
- data/lib/rails/templates/rails/info/routes.html.erb +9 -0
- data/lib/rails/{generators/rails/app/templates/public/index.html → templates/rails/welcome/index.html.erb} +18 -14
- data/lib/rails/test_help.rb +6 -29
- data/lib/rails/test_unit/railtie.rb +2 -3
- data/lib/rails/test_unit/testing.rake +45 -33
- data/lib/rails/version.rb +4 -4
- data/lib/rails/welcome_controller.rb +7 -0
- metadata +86 -378
- data/guides/assets/images/belongs_to.png +0 -0
- data/guides/assets/images/book_icon.gif +0 -0
- data/guides/assets/images/bullet.gif +0 -0
- data/guides/assets/images/challenge.png +0 -0
- data/guides/assets/images/chapters_icon.gif +0 -0
- data/guides/assets/images/check_bullet.gif +0 -0
- data/guides/assets/images/credits_pic_blank.gif +0 -0
- data/guides/assets/images/csrf.png +0 -0
- data/guides/assets/images/customized_error_messages.png +0 -0
- data/guides/assets/images/edge_badge.png +0 -0
- data/guides/assets/images/error_messages.png +0 -0
- data/guides/assets/images/feature_tile.gif +0 -0
- data/guides/assets/images/footer_tile.gif +0 -0
- data/guides/assets/images/fxn.png +0 -0
- data/guides/assets/images/grey_bullet.gif +0 -0
- data/guides/assets/images/habtm.png +0 -0
- data/guides/assets/images/has_many.png +0 -0
- data/guides/assets/images/has_many_through.png +0 -0
- data/guides/assets/images/has_one.png +0 -0
- data/guides/assets/images/has_one_through.png +0 -0
- data/guides/assets/images/header_backdrop.png +0 -0
- data/guides/assets/images/header_tile.gif +0 -0
- data/guides/assets/images/i18n/demo_html_safe.png +0 -0
- data/guides/assets/images/i18n/demo_localized_pirate.png +0 -0
- data/guides/assets/images/i18n/demo_translated_en.png +0 -0
- data/guides/assets/images/i18n/demo_translated_pirate.png +0 -0
- data/guides/assets/images/i18n/demo_translation_missing.png +0 -0
- data/guides/assets/images/i18n/demo_untranslated.png +0 -0
- data/guides/assets/images/icons/README +0 -5
- data/guides/assets/images/icons/callouts/1.png +0 -0
- data/guides/assets/images/icons/callouts/10.png +0 -0
- data/guides/assets/images/icons/callouts/11.png +0 -0
- data/guides/assets/images/icons/callouts/12.png +0 -0
- data/guides/assets/images/icons/callouts/13.png +0 -0
- data/guides/assets/images/icons/callouts/14.png +0 -0
- data/guides/assets/images/icons/callouts/15.png +0 -0
- data/guides/assets/images/icons/callouts/2.png +0 -0
- data/guides/assets/images/icons/callouts/3.png +0 -0
- data/guides/assets/images/icons/callouts/4.png +0 -0
- data/guides/assets/images/icons/callouts/5.png +0 -0
- data/guides/assets/images/icons/callouts/6.png +0 -0
- data/guides/assets/images/icons/callouts/7.png +0 -0
- data/guides/assets/images/icons/callouts/8.png +0 -0
- data/guides/assets/images/icons/callouts/9.png +0 -0
- data/guides/assets/images/icons/caution.png +0 -0
- data/guides/assets/images/icons/example.png +0 -0
- data/guides/assets/images/icons/home.png +0 -0
- data/guides/assets/images/icons/important.png +0 -0
- data/guides/assets/images/icons/next.png +0 -0
- data/guides/assets/images/icons/note.png +0 -0
- data/guides/assets/images/icons/prev.png +0 -0
- data/guides/assets/images/icons/tip.png +0 -0
- data/guides/assets/images/icons/up.png +0 -0
- data/guides/assets/images/icons/warning.png +0 -0
- data/guides/assets/images/jaimeiniesta.jpg +0 -0
- data/guides/assets/images/nav_arrow.gif +0 -0
- data/guides/assets/images/polymorphic.png +0 -0
- data/guides/assets/images/posts_index.png +0 -0
- data/guides/assets/images/radar.png +0 -0
- data/guides/assets/images/rails_guides_kindle_cover.jpg +0 -0
- data/guides/assets/images/rails_guides_logo.gif +0 -0
- data/guides/assets/images/rails_logo_remix.gif +0 -0
- data/guides/assets/images/rails_welcome.png +0 -0
- data/guides/assets/images/session_fixation.png +0 -0
- data/guides/assets/images/tab_grey.gif +0 -0
- data/guides/assets/images/tab_info.gif +0 -0
- data/guides/assets/images/tab_note.gif +0 -0
- data/guides/assets/images/tab_red.gif +0 -0
- data/guides/assets/images/tab_yellow.gif +0 -0
- data/guides/assets/images/tab_yellow.png +0 -0
- data/guides/assets/images/validation_error_messages.png +0 -0
- data/guides/assets/images/vijaydev.jpg +0 -0
- data/guides/assets/javascripts/guides.js +0 -7
- data/guides/assets/javascripts/syntaxhighlighter/shBrushAS3.js +0 -59
- data/guides/assets/javascripts/syntaxhighlighter/shBrushAppleScript.js +0 -75
- data/guides/assets/javascripts/syntaxhighlighter/shBrushBash.js +0 -59
- data/guides/assets/javascripts/syntaxhighlighter/shBrushCSharp.js +0 -65
- data/guides/assets/javascripts/syntaxhighlighter/shBrushColdFusion.js +0 -100
- data/guides/assets/javascripts/syntaxhighlighter/shBrushCpp.js +0 -97
- data/guides/assets/javascripts/syntaxhighlighter/shBrushCss.js +0 -91
- data/guides/assets/javascripts/syntaxhighlighter/shBrushDelphi.js +0 -55
- data/guides/assets/javascripts/syntaxhighlighter/shBrushDiff.js +0 -41
- data/guides/assets/javascripts/syntaxhighlighter/shBrushErlang.js +0 -52
- data/guides/assets/javascripts/syntaxhighlighter/shBrushGroovy.js +0 -67
- data/guides/assets/javascripts/syntaxhighlighter/shBrushJScript.js +0 -52
- data/guides/assets/javascripts/syntaxhighlighter/shBrushJava.js +0 -57
- data/guides/assets/javascripts/syntaxhighlighter/shBrushJavaFX.js +0 -58
- data/guides/assets/javascripts/syntaxhighlighter/shBrushPerl.js +0 -72
- data/guides/assets/javascripts/syntaxhighlighter/shBrushPhp.js +0 -88
- data/guides/assets/javascripts/syntaxhighlighter/shBrushPlain.js +0 -33
- data/guides/assets/javascripts/syntaxhighlighter/shBrushPowerShell.js +0 -74
- data/guides/assets/javascripts/syntaxhighlighter/shBrushPython.js +0 -64
- data/guides/assets/javascripts/syntaxhighlighter/shBrushRuby.js +0 -55
- data/guides/assets/javascripts/syntaxhighlighter/shBrushSass.js +0 -94
- data/guides/assets/javascripts/syntaxhighlighter/shBrushScala.js +0 -51
- data/guides/assets/javascripts/syntaxhighlighter/shBrushSql.js +0 -66
- data/guides/assets/javascripts/syntaxhighlighter/shBrushVb.js +0 -56
- data/guides/assets/javascripts/syntaxhighlighter/shBrushXml.js +0 -69
- data/guides/assets/javascripts/syntaxhighlighter/shCore.js +0 -17
- data/guides/assets/stylesheets/fixes.css +0 -16
- data/guides/assets/stylesheets/kindle.css +0 -11
- data/guides/assets/stylesheets/main.css +0 -453
- data/guides/assets/stylesheets/print.css +0 -52
- data/guides/assets/stylesheets/reset.css +0 -43
- data/guides/assets/stylesheets/style.css +0 -13
- data/guides/assets/stylesheets/syntaxhighlighter/shCore.css +0 -226
- data/guides/assets/stylesheets/syntaxhighlighter/shCoreDefault.css +0 -328
- data/guides/assets/stylesheets/syntaxhighlighter/shCoreDjango.css +0 -331
- data/guides/assets/stylesheets/syntaxhighlighter/shCoreEclipse.css +0 -339
- data/guides/assets/stylesheets/syntaxhighlighter/shCoreEmacs.css +0 -324
- data/guides/assets/stylesheets/syntaxhighlighter/shCoreFadeToGrey.css +0 -328
- data/guides/assets/stylesheets/syntaxhighlighter/shCoreMDUltra.css +0 -324
- data/guides/assets/stylesheets/syntaxhighlighter/shCoreMidnight.css +0 -324
- data/guides/assets/stylesheets/syntaxhighlighter/shCoreRDark.css +0 -324
- data/guides/assets/stylesheets/syntaxhighlighter/shThemeDefault.css +0 -117
- data/guides/assets/stylesheets/syntaxhighlighter/shThemeDjango.css +0 -120
- data/guides/assets/stylesheets/syntaxhighlighter/shThemeEclipse.css +0 -128
- data/guides/assets/stylesheets/syntaxhighlighter/shThemeEmacs.css +0 -113
- data/guides/assets/stylesheets/syntaxhighlighter/shThemeFadeToGrey.css +0 -117
- data/guides/assets/stylesheets/syntaxhighlighter/shThemeMDUltra.css +0 -113
- data/guides/assets/stylesheets/syntaxhighlighter/shThemeMidnight.css +0 -113
- data/guides/assets/stylesheets/syntaxhighlighter/shThemeRDark.css +0 -113
- data/guides/assets/stylesheets/syntaxhighlighter/shThemeRailsGuides.css +0 -116
- data/guides/code/getting_started/Gemfile +0 -38
- data/guides/code/getting_started/README.rdoc +0 -261
- data/guides/code/getting_started/Rakefile +0 -7
- data/guides/code/getting_started/app/assets/images/rails.png +0 -0
- data/guides/code/getting_started/app/assets/javascripts/application.js +0 -15
- data/guides/code/getting_started/app/assets/javascripts/comments.js.coffee +0 -3
- data/guides/code/getting_started/app/assets/javascripts/home.js.coffee +0 -3
- data/guides/code/getting_started/app/assets/javascripts/posts.js.coffee +0 -3
- data/guides/code/getting_started/app/assets/stylesheets/application.css +0 -13
- data/guides/code/getting_started/app/assets/stylesheets/comments.css.scss +0 -3
- data/guides/code/getting_started/app/assets/stylesheets/home.css.scss +0 -3
- data/guides/code/getting_started/app/assets/stylesheets/posts.css.scss +0 -3
- data/guides/code/getting_started/app/assets/stylesheets/scaffolds.css.scss +0 -56
- data/guides/code/getting_started/app/controllers/application_controller.rb +0 -3
- data/guides/code/getting_started/app/controllers/comments_controller.rb +0 -16
- data/guides/code/getting_started/app/controllers/home_controller.rb +0 -5
- data/guides/code/getting_started/app/controllers/posts_controller.rb +0 -84
- data/guides/code/getting_started/app/helpers/application_helper.rb +0 -2
- data/guides/code/getting_started/app/helpers/comments_helper.rb +0 -2
- data/guides/code/getting_started/app/helpers/home_helper.rb +0 -2
- data/guides/code/getting_started/app/helpers/posts_helper.rb +0 -5
- data/guides/code/getting_started/app/models/comment.rb +0 -3
- data/guides/code/getting_started/app/models/post.rb +0 -11
- data/guides/code/getting_started/app/models/tag.rb +0 -3
- data/guides/code/getting_started/app/views/comments/_comment.html.erb +0 -15
- data/guides/code/getting_started/app/views/comments/_form.html.erb +0 -13
- data/guides/code/getting_started/app/views/home/index.html.erb +0 -2
- data/guides/code/getting_started/app/views/layouts/application.html.erb +0 -14
- data/guides/code/getting_started/app/views/posts/_form.html.erb +0 -32
- data/guides/code/getting_started/app/views/posts/edit.html.erb +0 -6
- data/guides/code/getting_started/app/views/posts/index.html.erb +0 -27
- data/guides/code/getting_started/app/views/posts/new.html.erb +0 -5
- data/guides/code/getting_started/app/views/posts/show.html.erb +0 -31
- data/guides/code/getting_started/app/views/tags/_form.html.erb +0 -12
- data/guides/code/getting_started/config.ru +0 -4
- data/guides/code/getting_started/config/application.rb +0 -59
- data/guides/code/getting_started/config/boot.rb +0 -6
- data/guides/code/getting_started/config/database.yml +0 -25
- data/guides/code/getting_started/config/environment.rb +0 -5
- data/guides/code/getting_started/config/environments/development.rb +0 -37
- data/guides/code/getting_started/config/environments/production.rb +0 -67
- data/guides/code/getting_started/config/environments/test.rb +0 -37
- data/guides/code/getting_started/config/initializers/backtrace_silencers.rb +0 -7
- data/guides/code/getting_started/config/initializers/inflections.rb +0 -15
- data/guides/code/getting_started/config/initializers/mime_types.rb +0 -5
- data/guides/code/getting_started/config/initializers/secret_token.rb +0 -7
- data/guides/code/getting_started/config/initializers/session_store.rb +0 -8
- data/guides/code/getting_started/config/initializers/wrap_parameters.rb +0 -14
- data/guides/code/getting_started/config/locales/en.yml +0 -5
- data/guides/code/getting_started/config/routes.rb +0 -64
- data/guides/code/getting_started/db/migrate/20110901012504_create_posts.rb +0 -11
- data/guides/code/getting_started/db/migrate/20110901012815_create_comments.rb +0 -12
- data/guides/code/getting_started/db/migrate/20110901013701_create_tags.rb +0 -11
- data/guides/code/getting_started/db/schema.rb +0 -43
- data/guides/code/getting_started/db/seeds.rb +0 -7
- data/guides/code/getting_started/doc/README_FOR_APP +0 -2
- data/guides/code/getting_started/public/404.html +0 -26
- data/guides/code/getting_started/public/422.html +0 -26
- data/guides/code/getting_started/public/500.html +0 -25
- data/guides/code/getting_started/public/favicon.ico +0 -0
- data/guides/code/getting_started/public/robots.txt +0 -5
- data/guides/code/getting_started/script/rails +0 -6
- data/guides/code/getting_started/test/fixtures/comments.yml +0 -11
- data/guides/code/getting_started/test/fixtures/posts.yml +0 -11
- data/guides/code/getting_started/test/fixtures/tags.yml +0 -9
- data/guides/code/getting_started/test/functional/comments_controller_test.rb +0 -7
- data/guides/code/getting_started/test/functional/home_controller_test.rb +0 -9
- data/guides/code/getting_started/test/functional/posts_controller_test.rb +0 -49
- data/guides/code/getting_started/test/performance/browsing_test.rb +0 -12
- data/guides/code/getting_started/test/test_helper.rb +0 -13
- data/guides/code/getting_started/test/unit/comment_test.rb +0 -7
- data/guides/code/getting_started/test/unit/helpers/comments_helper_test.rb +0 -4
- data/guides/code/getting_started/test/unit/helpers/home_helper_test.rb +0 -4
- data/guides/code/getting_started/test/unit/helpers/posts_helper_test.rb +0 -4
- data/guides/code/getting_started/test/unit/post_test.rb +0 -7
- data/guides/code/getting_started/test/unit/tag_test.rb +0 -7
- data/guides/rails_guides.rb +0 -50
- data/guides/rails_guides/generator.rb +0 -310
- data/guides/rails_guides/helpers.rb +0 -45
- data/guides/rails_guides/indexer.rb +0 -69
- data/guides/rails_guides/levenshtein.rb +0 -31
- data/guides/rails_guides/textile_extensions.rb +0 -63
- data/guides/source/2_2_release_notes.textile +0 -422
- data/guides/source/2_3_release_notes.textile +0 -610
- data/guides/source/3_0_release_notes.textile +0 -595
- data/guides/source/3_1_release_notes.textile +0 -553
- data/guides/source/3_2_release_notes.textile +0 -540
- data/guides/source/_license.html.erb +0 -2
- data/guides/source/_welcome.html.erb +0 -19
- data/guides/source/action_controller_overview.textile +0 -820
- data/guides/source/action_mailer_basics.textile +0 -516
- data/guides/source/action_view_overview.textile +0 -1497
- data/guides/source/active_model_basics.textile +0 -205
- data/guides/source/active_record_basics.textile +0 -218
- data/guides/source/active_record_querying.textile +0 -1433
- data/guides/source/active_record_validations_callbacks.textile +0 -1287
- data/guides/source/active_resource_basics.textile +0 -120
- data/guides/source/active_support_core_extensions.textile +0 -3715
- data/guides/source/api_documentation_guidelines.textile +0 -185
- data/guides/source/asset_pipeline.textile +0 -707
- data/guides/source/association_basics.textile +0 -1959
- data/guides/source/caching_with_rails.textile +0 -437
- data/guides/source/command_line.textile +0 -574
- data/guides/source/configuring.textile +0 -643
- data/guides/source/contributing_to_ruby_on_rails.textile +0 -448
- data/guides/source/credits.html.erb +0 -72
- data/guides/source/debugging_rails_applications.textile +0 -714
- data/guides/source/documents.yaml +0 -157
- data/guides/source/engines.textile +0 -618
- data/guides/source/form_helpers.textile +0 -798
- data/guides/source/generators.textile +0 -621
- data/guides/source/getting_started.textile +0 -1931
- data/guides/source/i18n.textile +0 -931
- data/guides/source/index.html.erb +0 -30
- data/guides/source/initialization.textile +0 -1116
- data/guides/source/kindle/KINDLE.md +0 -26
- data/guides/source/kindle/copyright.html.erb +0 -1
- data/guides/source/kindle/layout.html.erb +0 -27
- data/guides/source/kindle/rails_guides.opf.erb +0 -52
- data/guides/source/kindle/toc.html.erb +0 -24
- data/guides/source/kindle/toc.ncx.erb +0 -64
- data/guides/source/kindle/welcome.html.erb +0 -5
- data/guides/source/layout.html.erb +0 -124
- data/guides/source/layouts_and_rendering.textile +0 -1237
- data/guides/source/migrations.textile +0 -900
- data/guides/source/nested_model_forms.textile +0 -222
- data/guides/source/performance_testing.textile +0 -597
- data/guides/source/plugins.textile +0 -464
- data/guides/source/rails_application_templates.textile +0 -240
- data/guides/source/rails_on_rack.textile +0 -236
- data/guides/source/routing.textile +0 -885
- data/guides/source/ruby_on_rails_guides_guidelines.textile +0 -79
- data/guides/source/security.textile +0 -1004
- data/guides/source/testing.textile +0 -947
- data/guides/w3c_validator.rb +0 -91
- data/lib/rails/application/railties.rb +0 -13
- data/lib/rails/application/route_inspector.rb +0 -84
- data/lib/rails/commands/benchmarker.rb +0 -34
- data/lib/rails/commands/plugin.rb +0 -544
- data/lib/rails/commands/profiler.rb +0 -33
- data/lib/rails/generators/rails/app/templates/README +0 -261
- data/lib/rails/generators/rails/app/templates/app/controllers/application_controller.rb +0 -3
- data/lib/rails/generators/rails/app/templates/app/mailers/.empty_directory +0 -0
- data/lib/rails/generators/rails/app/templates/app/models/.empty_directory +0 -0
- data/lib/rails/generators/rails/app/templates/doc/README_FOR_APP +0 -2
- data/lib/rails/generators/rails/app/templates/public/stylesheets/.empty_directory +0 -0
- data/lib/rails/generators/rails/app/templates/script/rails +0 -5
- data/lib/rails/generators/rails/app/templates/test/fixtures/.empty_directory +0 -0
- data/lib/rails/generators/rails/app/templates/test/functional/.empty_directory +0 -0
- data/lib/rails/generators/rails/app/templates/test/integration/.empty_directory +0 -0
- data/lib/rails/generators/rails/app/templates/test/performance/browsing_test.rb +0 -12
- data/lib/rails/generators/rails/app/templates/test/unit/.empty_directory +0 -0
- data/lib/rails/generators/rails/generator/templates/templates/.empty_directory +0 -0
- data/lib/rails/generators/rails/observer/USAGE +0 -12
- data/lib/rails/generators/rails/observer/observer_generator.rb +0 -7
- data/lib/rails/generators/rails/performance_test/USAGE +0 -10
- data/lib/rails/generators/rails/performance_test/performance_test_generator.rb +0 -7
- data/lib/rails/generators/rails/plugin_new/templates/app/mailers/.empty_directory +0 -0
- data/lib/rails/generators/rails/plugin_new/templates/app/models/.empty_directory +0 -0
- data/lib/rails/generators/rails/session_migration/USAGE +0 -8
- data/lib/rails/generators/rails/session_migration/session_migration_generator.rb +0 -8
- data/lib/rails/generators/test_unit/observer/observer_generator.rb +0 -13
- data/lib/rails/generators/test_unit/observer/templates/unit_test.rb +0 -9
- data/lib/rails/generators/test_unit/performance/performance_generator.rb +0 -13
- data/lib/rails/generators/test_unit/performance/templates/performance_test.rb +0 -12
- data/lib/rails/performance_test_help.rb +0 -3
- data/lib/rails/plugin.rb +0 -92
- data/lib/rails/script_rails_loader.rb +0 -29
data/lib/rails/all.rb
CHANGED
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'pathname'
|
2
|
+
|
3
|
+
module Rails
|
4
|
+
module AppRailsLoader
|
5
|
+
RUBY = File.join(*RbConfig::CONFIG.values_at("bindir", "ruby_install_name")) + RbConfig::CONFIG["EXEEXT"]
|
6
|
+
EXECUTABLES = ['bin/rails', 'script/rails']
|
7
|
+
|
8
|
+
def self.exec_app_rails
|
9
|
+
cwd = Dir.pwd
|
10
|
+
|
11
|
+
exe = find_executable
|
12
|
+
exe ||= find_executable_in_parent_path
|
13
|
+
return unless exe
|
14
|
+
|
15
|
+
exec RUBY, exe, *ARGV if find_executable
|
16
|
+
Dir.chdir("..") do
|
17
|
+
# Recurse in a chdir block: if the search fails we want to be sure
|
18
|
+
# the application is generated in the original working directory.
|
19
|
+
exec_app_rails unless cwd == Dir.pwd
|
20
|
+
end
|
21
|
+
rescue SystemCallError
|
22
|
+
# could not chdir, no problem just return
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.find_executable
|
26
|
+
EXECUTABLES.find do |exe|
|
27
|
+
File.exists?(exe) && File.read(exe) =~ /(APP|ENGINE)_PATH/
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.find_executable_in_parent_path(path = Pathname.new(Dir.pwd))
|
32
|
+
EXECUTABLES.find do |exe|
|
33
|
+
File.exists?(File.join(path, exe)) || !path.root? && find_executable_in_parent_path(path.parent)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/lib/rails/application.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
require 'active_support/core_ext/hash/reverse_merge'
|
2
1
|
require 'fileutils'
|
3
|
-
require
|
2
|
+
# FIXME remove DummyKeyGenerator and this require in 4.1
|
3
|
+
require 'active_support/key_generator'
|
4
4
|
require 'rails/engine'
|
5
5
|
|
6
6
|
module Rails
|
@@ -9,7 +9,7 @@ module Rails
|
|
9
9
|
#
|
10
10
|
# == Initialization
|
11
11
|
#
|
12
|
-
# Rails::Application is responsible for executing all railties
|
12
|
+
# Rails::Application is responsible for executing all railties and engines
|
13
13
|
# initializers. It also executes some bootstrap initializers (check
|
14
14
|
# Rails::Application::Bootstrap) and finishing initializers, after all the others
|
15
15
|
# are executed (check Rails::Application::Finisher).
|
@@ -18,8 +18,8 @@ module Rails
|
|
18
18
|
#
|
19
19
|
# Besides providing the same configuration as Rails::Engine and Rails::Railtie,
|
20
20
|
# the application object has several specific configurations, for example
|
21
|
-
# "
|
22
|
-
# "logger"
|
21
|
+
# "cache_classes", "consider_all_requests_local", "filter_parameters",
|
22
|
+
# "logger" and so forth.
|
23
23
|
#
|
24
24
|
# Check Rails::Application::Configuration to see them all.
|
25
25
|
#
|
@@ -48,14 +48,14 @@ module Rails
|
|
48
48
|
# One by one, each engine sets up its load paths, routes and runs its config/initializers/* files.
|
49
49
|
# 9) Custom Railtie#initializers added by railties, engines and applications are executed
|
50
50
|
# 10) Build the middleware stack and run to_prepare callbacks
|
51
|
-
# 11) Run config.before_eager_load and eager_load if
|
51
|
+
# 11) Run config.before_eager_load and eager_load! if eager_load is true
|
52
52
|
# 12) Run config.after_initialize callbacks
|
53
53
|
#
|
54
54
|
class Application < Engine
|
55
55
|
autoload :Bootstrap, 'rails/application/bootstrap'
|
56
56
|
autoload :Configuration, 'rails/application/configuration'
|
57
57
|
autoload :Finisher, 'rails/application/finisher'
|
58
|
-
autoload :Railties, 'rails/
|
58
|
+
autoload :Railties, 'rails/engine/railties'
|
59
59
|
autoload :RoutesReloader, 'rails/application/routes_reloader'
|
60
60
|
|
61
61
|
class << self
|
@@ -72,14 +72,98 @@ module Rails
|
|
72
72
|
alias_method :sandbox?, :sandbox
|
73
73
|
attr_reader :reloaders
|
74
74
|
|
75
|
-
delegate :default_url_options, :default_url_options=, :
|
75
|
+
delegate :default_url_options, :default_url_options=, to: :routes
|
76
76
|
|
77
77
|
def initialize
|
78
78
|
super
|
79
|
-
@initialized
|
80
|
-
@reloaders
|
79
|
+
@initialized = false
|
80
|
+
@reloaders = []
|
81
|
+
@routes_reloader = nil
|
82
|
+
@env_config = nil
|
83
|
+
@ordered_railties = nil
|
84
|
+
@railties = nil
|
81
85
|
end
|
82
86
|
|
87
|
+
# Returns true if the application is initialized.
|
88
|
+
def initialized?
|
89
|
+
@initialized
|
90
|
+
end
|
91
|
+
|
92
|
+
# Implements call according to the Rack API. It simply
|
93
|
+
# dispatches the request to the underlying middleware stack.
|
94
|
+
def call(env)
|
95
|
+
env["ORIGINAL_FULLPATH"] = build_original_fullpath(env)
|
96
|
+
super(env)
|
97
|
+
end
|
98
|
+
|
99
|
+
# Reload application routes regardless if they changed or not.
|
100
|
+
def reload_routes!
|
101
|
+
routes_reloader.reload!
|
102
|
+
end
|
103
|
+
|
104
|
+
|
105
|
+
# Return the application's KeyGenerator
|
106
|
+
def key_generator
|
107
|
+
# number of iterations selected based on consultation with the google security
|
108
|
+
# team. Details at https://github.com/rails/rails/pull/6952#issuecomment-7661220
|
109
|
+
@caching_key_generator ||= begin
|
110
|
+
if config.secret_key_base
|
111
|
+
key_generator = ActiveSupport::KeyGenerator.new(config.secret_key_base, iterations: 1000)
|
112
|
+
ActiveSupport::CachingKeyGenerator.new(key_generator)
|
113
|
+
else
|
114
|
+
ActiveSupport::DummyKeyGenerator.new(config.secret_token)
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
# Stores some of the Rails initial environment parameters which
|
120
|
+
# will be used by middlewares and engines to configure themselves.
|
121
|
+
# Currently stores:
|
122
|
+
#
|
123
|
+
# * "action_dispatch.parameter_filter" => config.filter_parameters
|
124
|
+
# * "action_dispatch.redirect_filter" => config.filter_redirect
|
125
|
+
# * "action_dispatch.secret_token" => config.secret_token,
|
126
|
+
# * "action_dispatch.show_exceptions" => config.action_dispatch.show_exceptions
|
127
|
+
# * "action_dispatch.show_detailed_exceptions" => config.consider_all_requests_local
|
128
|
+
# * "action_dispatch.logger" => Rails.logger
|
129
|
+
# * "action_dispatch.backtrace_cleaner" => Rails.backtrace_cleaner
|
130
|
+
# * "action_dispatch.key_generator" => key_generator
|
131
|
+
# * "action_dispatch.http_auth_salt" => config.action_dispatch.http_auth_salt
|
132
|
+
# * "action_dispatch.signed_cookie_salt" => config.action_dispatch.signed_cookie_salt
|
133
|
+
# * "action_dispatch.encrypted_cookie_salt" => config.action_dispatch.encrypted_cookie_salt
|
134
|
+
# * "action_dispatch.encrypted_signed_cookie_salt" => config.action_dispatch.encrypted_signed_cookie_salt
|
135
|
+
#
|
136
|
+
def env_config
|
137
|
+
@env_config ||= begin
|
138
|
+
if config.secret_key_base.nil?
|
139
|
+
ActiveSupport::Deprecation.warn "You didn't set config.secret_key_base in config/initializers/secret_token.rb file. " +
|
140
|
+
"This should be used instead of the old deprecated config.secret_token in order to use the new EncryptedCookieStore. " +
|
141
|
+
"To convert safely to the encrypted store (without losing existing cookies and sessions), see http://guides.rubyonrails.org/upgrading_ruby_on_rails.html#action-pack"
|
142
|
+
|
143
|
+
if config.secret_token.blank?
|
144
|
+
raise "You must set config.secret_key_base in your app's config"
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
super.merge({
|
149
|
+
"action_dispatch.parameter_filter" => config.filter_parameters,
|
150
|
+
"action_dispatch.redirect_filter" => config.filter_redirect,
|
151
|
+
"action_dispatch.secret_token" => config.secret_token,
|
152
|
+
"action_dispatch.show_exceptions" => config.action_dispatch.show_exceptions,
|
153
|
+
"action_dispatch.show_detailed_exceptions" => config.consider_all_requests_local,
|
154
|
+
"action_dispatch.logger" => Rails.logger,
|
155
|
+
"action_dispatch.backtrace_cleaner" => Rails.backtrace_cleaner,
|
156
|
+
"action_dispatch.key_generator" => key_generator,
|
157
|
+
"action_dispatch.http_auth_salt" => config.action_dispatch.http_auth_salt,
|
158
|
+
"action_dispatch.signed_cookie_salt" => config.action_dispatch.signed_cookie_salt,
|
159
|
+
"action_dispatch.encrypted_cookie_salt" => config.action_dispatch.encrypted_cookie_salt,
|
160
|
+
"action_dispatch.encrypted_signed_cookie_salt" => config.action_dispatch.encrypted_signed_cookie_salt
|
161
|
+
})
|
162
|
+
end
|
163
|
+
end
|
164
|
+
|
165
|
+
## Rails internal API
|
166
|
+
|
83
167
|
# This method is called just after an application inherits from Rails::Application,
|
84
168
|
# allowing the developer to load classes in lib and use them during application
|
85
169
|
# configuration.
|
@@ -94,7 +178,7 @@ module Rails
|
|
94
178
|
# Rails application, you will need to add lib to $LOAD_PATH on your own in case
|
95
179
|
# you need to load files in lib/ during the application configuration as well.
|
96
180
|
def add_lib_to_load_path! #:nodoc:
|
97
|
-
path = config.root
|
181
|
+
path = File.join config.root, 'lib'
|
98
182
|
$LOAD_PATH.unshift(path) if File.exists?(path)
|
99
183
|
end
|
100
184
|
|
@@ -103,23 +187,16 @@ module Rails
|
|
103
187
|
require environment if environment
|
104
188
|
end
|
105
189
|
|
106
|
-
# Reload application routes regardless if they changed or not.
|
107
|
-
def reload_routes!
|
108
|
-
routes_reloader.reload!
|
109
|
-
end
|
110
|
-
|
111
190
|
def routes_reloader #:nodoc:
|
112
191
|
@routes_reloader ||= RoutesReloader.new
|
113
192
|
end
|
114
193
|
|
115
|
-
# Returns an array of file paths appended with a hash of
|
116
|
-
# suitable for ActiveSupport::FileUpdateChecker
|
117
|
-
|
118
|
-
|
119
|
-
files.
|
194
|
+
# Returns an array of file paths appended with a hash of
|
195
|
+
# directories-extensions suitable for ActiveSupport::FileUpdateChecker
|
196
|
+
# API.
|
197
|
+
def watchable_args #:nodoc:
|
198
|
+
files, dirs = config.watchable_files.dup, config.watchable_dirs.dup
|
120
199
|
|
121
|
-
dirs = {}
|
122
|
-
dirs.merge! config.watchable_dirs
|
123
200
|
ActiveSupport::Dependencies.autoload_paths.each do |path|
|
124
201
|
dirs[path.to_s] = [:rb]
|
125
202
|
end
|
@@ -138,51 +215,52 @@ module Rails
|
|
138
215
|
self
|
139
216
|
end
|
140
217
|
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
218
|
+
def initializers #:nodoc:
|
219
|
+
Bootstrap.initializers_for(self) +
|
220
|
+
railties_initializers(super) +
|
221
|
+
Finisher.initializers_for(self)
|
222
|
+
end
|
223
|
+
|
224
|
+
def config #:nodoc:
|
225
|
+
@config ||= Application::Configuration.new(find_root_with_flag("config.ru", Dir.pwd))
|
226
|
+
end
|
227
|
+
|
228
|
+
def to_app #:nodoc:
|
146
229
|
self
|
147
230
|
end
|
148
231
|
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
232
|
+
def helpers_paths #:nodoc:
|
233
|
+
config.helpers_paths
|
234
|
+
end
|
235
|
+
|
236
|
+
protected
|
237
|
+
|
238
|
+
alias :build_middleware_stack :app
|
239
|
+
|
240
|
+
def run_tasks_blocks(app) #:nodoc:
|
241
|
+
railties.each { |r| r.run_tasks_blocks(app) }
|
153
242
|
super
|
154
|
-
|
243
|
+
require "rails/tasks"
|
244
|
+
config = self.config
|
245
|
+
task :environment do
|
246
|
+
config.eager_load = false
|
247
|
+
require_environment!
|
248
|
+
end
|
155
249
|
end
|
156
250
|
|
157
|
-
|
158
|
-
|
159
|
-
def load_runner(app=self)
|
160
|
-
initialize_runner
|
251
|
+
def run_generators_blocks(app) #:nodoc:
|
252
|
+
railties.each { |r| r.run_generators_blocks(app) }
|
161
253
|
super
|
162
|
-
self
|
163
254
|
end
|
164
255
|
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
# * "action_dispatch.backtrace_cleaner" => Rails.backtrace_cleaner
|
174
|
-
#
|
175
|
-
# These parameters will be used by middlewares and engines to configure themselves.
|
176
|
-
#
|
177
|
-
def env_config
|
178
|
-
@app_env_config ||= super.merge({
|
179
|
-
"action_dispatch.parameter_filter" => config.filter_parameters,
|
180
|
-
"action_dispatch.secret_token" => config.secret_token,
|
181
|
-
"action_dispatch.show_exceptions" => config.action_dispatch.show_exceptions,
|
182
|
-
"action_dispatch.show_detailed_exceptions" => config.consider_all_requests_local,
|
183
|
-
"action_dispatch.logger" => Rails.logger,
|
184
|
-
"action_dispatch.backtrace_cleaner" => Rails.backtrace_cleaner
|
185
|
-
})
|
256
|
+
def run_runner_blocks(app) #:nodoc:
|
257
|
+
railties.each { |r| r.run_runner_blocks(app) }
|
258
|
+
super
|
259
|
+
end
|
260
|
+
|
261
|
+
def run_console_blocks(app) #:nodoc:
|
262
|
+
railties.each { |r| r.run_console_blocks(app) }
|
263
|
+
super
|
186
264
|
end
|
187
265
|
|
188
266
|
# Returns the ordered railties for this application considering railties_order.
|
@@ -198,7 +276,7 @@ module Rails
|
|
198
276
|
end
|
199
277
|
end
|
200
278
|
|
201
|
-
all = (railties
|
279
|
+
all = (railties - order)
|
202
280
|
all.push(self) unless (all + order).include?(self)
|
203
281
|
order.push(:all) unless order.include?(:all)
|
204
282
|
|
@@ -208,70 +286,67 @@ module Rails
|
|
208
286
|
end
|
209
287
|
end
|
210
288
|
|
211
|
-
def
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
def to_app
|
222
|
-
self
|
223
|
-
end
|
224
|
-
|
225
|
-
def helpers_paths #:nodoc:
|
226
|
-
config.helpers_paths
|
227
|
-
end
|
228
|
-
|
229
|
-
def call(env)
|
230
|
-
env["ORIGINAL_FULLPATH"] = build_original_fullpath(env)
|
231
|
-
super(env)
|
289
|
+
def railties_initializers(current) #:nodoc:
|
290
|
+
initializers = []
|
291
|
+
ordered_railties.each do |r|
|
292
|
+
if r == self
|
293
|
+
initializers += current
|
294
|
+
else
|
295
|
+
initializers += r.initializers
|
296
|
+
end
|
297
|
+
end
|
298
|
+
initializers
|
232
299
|
end
|
233
300
|
|
234
|
-
|
235
|
-
|
236
|
-
alias :build_middleware_stack :app
|
237
|
-
|
238
|
-
def reload_dependencies?
|
301
|
+
def reload_dependencies? #:nodoc:
|
239
302
|
config.reload_classes_only_on_change != true || reloaders.map(&:updated?).any?
|
240
303
|
end
|
241
304
|
|
242
|
-
def default_middleware_stack
|
243
|
-
require 'action_controller/railtie'
|
244
|
-
|
305
|
+
def default_middleware_stack #:nodoc:
|
245
306
|
ActionDispatch::MiddlewareStack.new.tap do |middleware|
|
246
|
-
|
307
|
+
app = self
|
308
|
+
if rack_cache = config.action_dispatch.rack_cache
|
309
|
+
begin
|
310
|
+
require 'rack/cache'
|
311
|
+
rescue LoadError => error
|
312
|
+
error.message << ' Be sure to add rack-cache to your Gemfile'
|
313
|
+
raise
|
314
|
+
end
|
315
|
+
|
316
|
+
if rack_cache == true
|
317
|
+
rack_cache = {
|
318
|
+
metastore: "rails:/",
|
319
|
+
entitystore: "rails:/",
|
320
|
+
verbose: false
|
321
|
+
}
|
322
|
+
end
|
323
|
+
|
247
324
|
require "action_dispatch/http/rack_cache"
|
248
325
|
middleware.use ::Rack::Cache, rack_cache
|
249
326
|
end
|
250
327
|
|
251
328
|
if config.force_ssl
|
252
|
-
|
253
|
-
|
329
|
+
middleware.use ::ActionDispatch::SSL, config.ssl_options
|
330
|
+
end
|
331
|
+
|
332
|
+
if config.action_dispatch.x_sendfile_header.present?
|
333
|
+
middleware.use ::Rack::Sendfile, config.action_dispatch.x_sendfile_header
|
254
334
|
end
|
255
335
|
|
256
336
|
if config.serve_static_assets
|
257
337
|
middleware.use ::ActionDispatch::Static, paths["public"].first, config.static_cache_control
|
258
338
|
end
|
259
339
|
|
260
|
-
middleware.use ::Rack::Lock unless config.
|
340
|
+
middleware.use ::Rack::Lock unless config.cache_classes
|
261
341
|
middleware.use ::Rack::Runtime
|
262
342
|
middleware.use ::Rack::MethodOverride
|
263
343
|
middleware.use ::ActionDispatch::RequestId
|
264
344
|
middleware.use ::Rails::Rack::Logger, config.log_tags # must come after Rack::MethodOverride to properly log overridden methods
|
265
345
|
middleware.use ::ActionDispatch::ShowExceptions, config.exceptions_app || ActionDispatch::PublicExceptions.new(Rails.public_path)
|
266
|
-
middleware.use ::ActionDispatch::DebugExceptions
|
346
|
+
middleware.use ::ActionDispatch::DebugExceptions, app
|
267
347
|
middleware.use ::ActionDispatch::RemoteIp, config.action_dispatch.ip_spoofing_check, config.action_dispatch.trusted_proxies
|
268
348
|
|
269
|
-
if config.action_dispatch.x_sendfile_header.present?
|
270
|
-
middleware.use ::Rack::Sendfile, config.action_dispatch.x_sendfile_header
|
271
|
-
end
|
272
|
-
|
273
349
|
unless config.cache_classes
|
274
|
-
app = self
|
275
350
|
middleware.use ::ActionDispatch::Reloader, lambda { app.reload_dependencies? }
|
276
351
|
end
|
277
352
|
|
@@ -287,36 +362,13 @@ module Rails
|
|
287
362
|
end
|
288
363
|
|
289
364
|
middleware.use ::ActionDispatch::ParamsParser
|
290
|
-
middleware.use ::
|
365
|
+
middleware.use ::Rack::Head
|
291
366
|
middleware.use ::Rack::ConditionalGet
|
292
367
|
middleware.use ::Rack::ETag, "no-cache"
|
293
|
-
|
294
|
-
if config.action_dispatch.best_standards_support
|
295
|
-
middleware.use ::ActionDispatch::BestStandardsSupport, config.action_dispatch.best_standards_support
|
296
|
-
end
|
297
368
|
end
|
298
369
|
end
|
299
370
|
|
300
|
-
def
|
301
|
-
self.class.rake_tasks do
|
302
|
-
require "rails/tasks"
|
303
|
-
task :environment do
|
304
|
-
$rails_rake_task = true
|
305
|
-
require_environment!
|
306
|
-
end
|
307
|
-
end
|
308
|
-
end
|
309
|
-
|
310
|
-
def initialize_console #:nodoc:
|
311
|
-
require "pp"
|
312
|
-
require "rails/console/app"
|
313
|
-
require "rails/console/helpers"
|
314
|
-
end
|
315
|
-
|
316
|
-
def initialize_runner #:nodoc:
|
317
|
-
end
|
318
|
-
|
319
|
-
def build_original_fullpath(env)
|
371
|
+
def build_original_fullpath(env) #:nodoc:
|
320
372
|
path_info = env["PATH_INFO"]
|
321
373
|
query_string = env["QUERY_STRING"]
|
322
374
|
script_name = env["SCRIPT_NAME"]
|