aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib
Commit message (Collapse)AuthorAgeFilesLines
* Use `Mime[:foo]` instead of `Mime::Type[:FOO]` for back compatJeremy Daer2015-10-062-3/+3
| | | | | | | | | | | | | | | | | Rails 4.x and earlier didn't support `Mime::Type[:FOO]`, so libraries that support multiple Rails versions would've had to feature-detect whether to use `Mime::Type[:FOO]` or `Mime::FOO`. `Mime[:foo]` has been around for ages to look up registered MIME types by symbol / extension, though, so libraries and plugins can safely switch to that without breaking backward- or forward-compatibility. Note: `Mime::ALL` isn't a real MIME type and isn't registered for lookup by type or extension, so it's not available as `Mime[:all]`. We use it internally as a wildcard for `respond_to` negotiation. If you use this internal constant, continue to reference it with `Mime::ALL`. Ref. efc6dd550ee49e7e443f9d72785caa0f240def53
* Merge pull request #20986 from radar/rails-engine-caller-locationsArthur Nogueira Neves2015-10-041-6/+1
|\ | | | | Remove check for caller_locations in Rails::Engine
| * Remove check for caller_locations in Rails::EngineRyan Bigg2015-07-231-6/+1
| | | | | | | | This is no longer necessary, as the minimum version requirement for Ruby is 2.2.2, and the `caller_locations` feature was added in Ruby 2.0.0. Since Rails no longer supports pre 2.0 versions of Ruby, there is no need to check first if the Kernel does respond to `caller_locations`. The answer is: yes it does.
* | Merge branch 'master' of github.com:rails/docrailsVijay Dev2015-10-042-3/+3
|\ \
| * | Renamed ‘Return’ to ‘Returns’ [ci skip]Ronak Jangir2015-09-282-3/+3
| | |
* | | Revert "removing Rack::Runtime from the default stack."Aaron Patterson2015-10-032-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 37423e4ff883ad5584bab983aceb4b2b759a1fd8. Jeremy is right that we shouldn't remove this. The fact is that many engines are depending on this middleware to be in the default stack. This ties our hands and forces us to keep the middleware in the stack so that engines will work. To be extremely clear, I think this is another smell of "the rack stack" that we have in place. When manipulating middleware, we should have meaningful names for places in the req / res lifecycle **not** have engines depend on a particular constant be in a particular place in the stack. This is a weakness of the API that we have to figure out a way to address before removing the constant. As far as timing attacks are concerned, we can reduce the granularity such that it isn't useful information for hackers, but is still useful for developers.
* | | Merge pull request #21851 from y-yagi/use_class_to_specify_middlewareKasper Timm Hansen2015-10-031-1/+1
|\ \ \ | | | | | | | | use class to specify the middleware [ci skip]
| * | | use class to specify the middleware [ci skip]yuuji.yaginuma2015-10-031-1/+1
| | | | | | | | | | | | | | | | using string for middleware class names is deprecated in 83b767cef90abfc4c2ee9f4b451b0215501fae9a
* | | | removing Rack::Runtime from the default stack.Aaron Patterson2015-10-022-2/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The runtime header is a potential target for timing attacks since it returns the amount of time spent on the server (eliminating network speed). Total time is also not accurate for streaming responses. The middleware can be added back via: ```ruby config.middleware.ues ::Rack::Runtime ```
* | | only construct one request in an engineAaron Patterson2015-09-302-14/+17
| | |
* | | call `default_middleware_stack` before merging stacksAaron Patterson2015-09-291-1/+2
| | | | | | | | | | | | | | | | | | | | | `default_middleware_stack` seems to kick off the `on_load` calls that may mutate the middleware stack. We have to call that method before merging middleware stacks, otherwise the middleware stacks get mutated *after* the app middleware stack is built.
* | | Engines get different middleware than appsAaron Patterson2015-09-293-4/+29
| | | | | | | | | | | | | | | We shouldn't merge the app middleware in to the config middleware for engines.
* | | Merge pull request #21794 from ↵Jeremy Daer2015-09-295-16/+16
|\ \ \ | | | | | | | | | | | | | | | | jeremy/sprockets/move-asset-manifest-from-toplevel-to-config-subdir Eliminate overlapping `app/assets` load path
| * | | Eliminate overlapping `app/assets` load pathJeremy Daer2015-09-295-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Move `app/assets/manifest.js` to `app/assets/config/manifest.js`. Avoid the suggestion that you can/should deep-link `stylesheets/foo`. * Pull in all toplevel stylesheets and JavaScripts, not just `application.js` and `.css`. Demonstrate how to use `link_directory` with a specified `.js`/`.css` type. * Fix RAILS_ENV handling in assets tests. * Shush warnings spam from third-party libs that distract from tests.
* | | | Make app building threadsafeeileencodes2015-09-291-4/+8
| | | |
* | | | Stop modifying global variableseileencodes2015-09-293-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | Allocating a new middleware proxy in each application configuration and then merging the app specific config with the global config when the app is built.
* | | | Add fail fast to test runner.Kasper Timm Hansen2015-09-292-0/+13
| | | | | | | | | | | | | | | | | | | | Passing `--fail-fast` to the test runner will now abort the test run on the first failure. The run continues on any unexpected errors.
* | | | Add inline failure reporting to test runner.Kasper Timm Hansen2015-09-282-5/+32
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | Any failures or errors will be reported inline during the run by default. Skipped tests will be reported if run in verbose mode. Any result is output with failure messages and a rerun snippet for that test. Rerun snippets won't be output after a run, unless `--defer-output` is passed.
* | | check if @rake_patterns is definedyuuji.yaginuma2015-09-281-1/+2
| | | | | | | | | | | | | | | | | | | | | This removes the following warning. ``` railties/lib/rails/test_unit/minitest_plugin.rb:45: warning: instance variable @rake_patterns not initialize ```
* | | stop using deprecated method in mailers controlleryuuji.yaginuma2015-09-232-3/+3
| | | | | | | | | | | | Accessing mime types via constants is deprecated.
* | | fix application_controller require_dependency path generated by the scaffold ↵yuuji.yaginuma2015-09-201-1/+1
| | | | | | | | | | | | | | | | | | | | | generator This is follow up to #6643. In #6643, the controller generator only had been fixed, in this commit to fix the scaffold generator.
* | | mostly remove the ParamsParser middlewareAaron Patterson2015-09-181-1/+0
|/ / | | | | | | | | This can still be added to the middleware stack, but is really not necessary. I'll follow up with a commit that deprecates the constant
* | Fix displaying mailer previews on non local requests.Wojciech Wnętrzak2015-09-171-1/+5
| | | | | | | | | | When config `action_mailer.show_previews` is set, previews are displayed regardless of local request check.
* | Bundler tzinfo-data in windows, even first generated new app are MacEric Guo2015-09-151-2/+0
| |
* | Merge pull request #21568 from amitsuroliya/mysql_version_updateRafael Mendonça França2015-09-132-2/+2
|\ \ | | | | | | Updated MySQL documentation link to MySQL latest version 5.7 everywhe…
| * | Updated MySQL documentation link to MySQL latest version 5.7 everywhere [ci ↵amitkumarsuroliya2015-09-102-2/+2
| | | | | | | | | | | | | | | skip] Bumps from `5.6` to `5.7`
* | | dev and edge have some common, so factor it out.Eric Guo2015-09-131-10/+7
|/ /
* | Replace AR with ActiveRecord to make it more readable [ci skip]arvind2015-09-081-1/+1
| |
* | Merge pull request #21519 from y-yagi/test_runner_raise_errorKasper Timm Hansen2015-09-083-7/+16
|\ \ | | | | | | raise LoadError when a non-existent file or directory is specified to the test runner
| * | modify to pass the correct argument to the test runner from rakeyuuji.yaginuma2015-09-082-6/+15
| | | | | | | | | | | | | | | | | | | | | | | | test runner sets file to be tested in plugin_rails_options, but in plugin_rails_options, processing has been made to the argument of the actual command rather than the argument of Minitest.run. For example, if you run `./bin rake db:migrate test`, the options[:patterns], `db:migrate test` was incorrectly set.
| * | raise LoadError when a non-existent file or directory is specified to the ↵yuuji.yaginuma2015-09-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | test runner Currently, if a file or directory that does not exist was specified in the test runner, that argument is ignored. This commit has been modified to cause an error if there is no file or directory.
* | | Fix strange messages for `rails g foo`FUJI Goro (gfx)2015-09-071-1/+1
|/ /
* | make `ENV` a required argumentyuuji.yaginuma2015-08-291-1/+1
| |
* | remove require of files under support that do not useyuuji.yaginuma2015-08-271-3/+0
| | | | | | | | | | | | I do not know why files under the support has been require. However, under the support even rails application does not use. In addition, since the default under the support file nor is generated, it requires I think not necessary
* | Merge pull request #21267 from davidcornu/rails-server-port-env-varRafael Mendonça França2015-08-241-1/+1
|\ \ | | | | | | Use the PORT environment variable for rails server
| * | Use the PORT environment variable for rails serverDavid Cornu2015-08-181-1/+1
| | |
* | | smooth move aaron.... :bomb:Aaron Patterson2015-08-201-2/+2
| | |
* | | point at rack masterAaron Patterson2015-08-201-0/+2
| | |
* | | fix path of annotations.rake [ci skip]yuuji.yaginuma2015-08-201-1/+1
| | |
* | | Migrate to Sprockets 4.Andrei Istratii2015-08-195-4/+40
|/ /
* | Fixed syslog example in production config templateprintercu2015-08-171-1/+2
| |
* | Plugins are generated with the version 0.1.0Daniel Morris2015-08-161-1/+1
| | | | | | | | | | | | The semantic versioning specification uses MAJOR.MINOR.PATCH – it would make more sense to set the version to 0.1.0 for initial development since a patch release cannot be created before a minor feature release.
* | Tiny documentation fixes [ci skip]Robin Dupret2015-08-161-4/+2
| | | | | | | | | | | | * Add missing `def` and remove useless `do` keywords. * Move `:nodoc:` in front of the methods' definition so that methods under these ones are correctly visible on the API.
* | Merge pull request #21021 from sgrif/sg-no-routes-commentSean Griffin2015-08-121-54/+1
|\ \ | | | | | | Replace the giant comment in routes.rb with a link to the guides
| * | Replace the giant comment in routes.rb with a link to the guidesSean Griffin2015-07-241-54/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This comment not only serves no purpose, but in my experience is actively detrimental to new developers getting started with Rails. Expereinced developers just end up deleting this comment, and are annoyed that they had to take this step. I also spend a lot of time mentoring brand new developers, and a consistent theme I've seen is that this comment just ends up intimidating them, and making them think it's dangerous to edit this file. One of my students just said this (due to the number of comments which even new developers don't actually read, they just see it as a sign that this thing is "dangerous"). > I don't edit any file that Rails generates for me, until my instructor > says that it's OK to do so. Realistically, this comment adds 0 value. We have very good documentation, which we can just link to instead. If someone is truly new enough to benefit from this info, they presumably just ran `gem install rails`, and have an internet connection that they can use to read the routing guide. The choice of language here was very specific. I chose "the DSL available" over "what is possible", because a consistent theme I've noticed among my students is that they aren't aware that this is actually a Ruby file, and can write any Ruby code here that they want. This file is not the only offender, but is by far the biggest point of pain that I've seen, and felt it was a good spot to open this discussion.
* | | Merge pull request #21124 from kirs/feature/reload-i18nKasper Timm Hansen2015-08-102-1/+11
|\ \ \ | | | | | | | | Reload I18n.load_path in development
| * | | Reload I18n locales in developmentKir Shatrov2015-08-102-1/+11
| | | |
* | | | Merge pull request #21176 from y-yagi/fix_scaffold_tests_inside_api_engineRafael Mendonça França2015-08-091-1/+4
|\ \ \ \ | | | | | | | | | | make generated scaffold functional tests work inside API engines
| * | | | make generated scaffold functional tests work inside API enginesyuuji.yaginuma2015-08-091-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | * set engine's route in setup * use fixture with engine namespace
* | | | | WhitespacesRafael Mendonça França2015-08-091-1/+1
|/ / / /