aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #17277 from yuutetu/fix_type_in_routing_mapperGuillermo Iguaran2014-10-151-1/+1
|\ | | | | Fix typo in actionpack/lib/action_dispatch/routing/mapper.rb [ci-skip]
| * Fix typo in actionpack/lib/action_dispatch/routing/mapper.rbYuutetu2014-10-161-1/+1
|/
* Use if/else instead of early raiseRafael Mendonça França2014-10-151-2/+5
|
* Merge pull request #17267 from rebyn/masterRafael Mendonça França2014-10-154-0/+16
|\ | | | | | | Raise an error for has_one associations which try to go :through a polymorphic association
| * Raise an error for has_one associations which try to go :through a ↵Tu Hoang2014-10-154-0/+16
| | | | | | | | polymorphic association [#17263]
* | Merge pull request #17255 from printercu/cors_exception_wrapperRafael Mendonça França2014-10-151-10/+11
|\ \ | | | | | | ActionController::InvalidCrossOriginRequest fails with 422 instead of 500
| * | ActionController::InvalidCrossOriginRequest fails with 422 instead of 500Max Melentiev2014-10-141-10/+11
| | | | | | | | | | | | Fixes #15967
* | | Merge pull request #17273 from claudiob/fix-file-and-password-field-tagRafael Mendonça França2014-10-152-2/+9
|\ \ \ | | | | | | | | Fix how file_ and password_field_tag edit options
| * | | Fix how file_ and password_field_tag edit optionsclaudiob2014-10-152-2/+9
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit fixes the behavior of `file_field_tag` and `password_field_tag` when invoked with a hash of options. These two helpers are different from all the other ones in that they modify the options hash passed as a parameter, whereas all the other helpers duplicate it before updating it. The result is that *bad things* can happen if the user re-uses the same hash. For instance, users who write the following code to display a file field followed by a text field (both with the same class): ```rhtml <% options = {class: 'important'} %> <%= file_field_tag 'Upload', options %> <%= text_field_tag 'Name', options %> ``` would instead see **two file fields!** ```html <input class="important" id="Upload" name="Upload" type="file"> <input class="important" id="Name" name="Name" type="file" value="value"> ``` This PR replaces `update` with `merge` in the code of the two helpers, fixing the issue above. The included test verifies the change, since it passes after this PR, but fails before with the following error: ``` Expected: <input type="text" name="title" id="title" value="Hello!" class="important" /> Actual: <input type="password" name="title" id="title" value="Hello!" class="important" /> ```
* | | Merge pull request #17262 from swapdisc/delete-join-operation-structRafael Mendonça França2014-10-151-2/+0
|\ \ \ | | | | | | | | delete leftover JoinOperation struct
| * | | delete leftover JoinOperation structswapdisc2014-10-141-2/+0
| | |/ | |/|
* | | Merge pull request #17271 from claudiob/remove-duplicate-stringify-keysRafael Mendonça França2014-10-151-13/+13
|\ \ \ | | | | | | | | Remove duplicate stringify_keys in text_field_tag and number_field_tag
| * | | Remove duplicate stringify_keys in text_field_tagclaudiob2014-10-151-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All the methods that invoke `text_field_tag` (such as `hidden_field_tag`) and all the methods that invoke `number_field_tag` (that is `range_field_tag`) do not need to call `stringify_keys` on their `options` parameter since the `text_field_tag` method [is already doing it internally](https://github.com/claudiob/rails/blob/4159134524f4c78d008eef9d9a17f73a3172dcc8/actionview/lib/action_view/helpers/form_tag_helper.rb#L182): ```ruby def text_field_tag(name, value = nil, options = {}) tag :input, { "type" => "text", "name" => name, "id" => sanitize_to_id(name), "value" => value }.update(options.stringify_keys) end ``` and `number_field_tag` is [already doing it internally](https://github.com/claudiob/rails/blob/e3207bdbba55f3806441f22b175557579bc0b051/actionview/lib/action_view/helpers/form_tag_helper.rb#L780) as well: ```ruby def number_field_tag(name, value = nil, options = {}) options = options.stringify_keys ... end [Note #1: My code uses `merge` to respect the existing behavior of duplicating the `options` hash before updating its keys, see https://github.com/rails/rails/pull/17096#issuecomment-57223827] [Note #2: My code uses symbols instead of strings (e.g.: `:hidden`) to look forward to future version of Ruby/Raiks (GC symbols); the result of the method, however, is the same, because the symbols are stringified inside `text_field_tag`] [Note #3: I had previously created a similar PR #17096 but decided to split it into multiple PRs given the feedback received in the comments]
* | | | Merge pull request #17257 from Bounga/use_tr_instead_of_gsub_in_journey_scannerSantiago Pastorino2014-10-151-1/+1
|\ \ \ \ | | | | | | | | | | Use `#tr` instead of `#gsub` in Journey scanner
| * | | | Use `#tr` instead of `#gsub`Nicolas Cavigneaux2014-10-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | `#tr` is more efficient than `#gsub` and can be used as a drop in replacement in this context.
* | | | | Merge pull request #17264 from claudiob/add-activejob-to-readmeRafael Mendonça França2014-10-151-3/+5
|\ \ \ \ \ | | | | | | | | | | | | Add ActiveJob to "Welcome to Rails" section
| * | | | | Add ActiveJob to "Welcome to Rails" sectionclaudiob2014-10-151-3/+5
| | |/ / / | |/| | | | | | | | | | | | | [ci skip]
* | | | | Merge pull request #17265 from claudiob/add-link-to-active-model-readmeRafael Mendonça França2014-10-151-4/+4
|\ \ \ \ \ | | | | | | | | | | | | Link to ActiveModel’s README in "Welcome to Rails"
| * | | | | Link to ActiveModel’s README in "Welcome to Rails"claudiob2014-10-151-4/+4
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A link to the README of each module is included in "Welcome to Rails", only ActiveModel (and ActiveJob, see #17264) are missing. [ci skip]
* | | | | Merge pull request #17266 from claudiob/fix-broken-tore-darell-linkRafael Mendonça França2014-10-151-1/+1
|\ \ \ \ \ | | | | | | | | | | | | Remove broken http://tore.darell.no link
| * | | | | Remove broken http://tore.darell.no linkclaudiob2014-10-151-1/+1
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace with Twitter account, unless @toretore has a better suggestion :ear since http://tore.darell.no returns 404. [ci skip]
* | | | | Merge pull request #17270 from neumanrq/fix/external_links_to_json_projectRafael Mendonça França2014-10-152-2/+2
|\ \ \ \ \ | |_|_|/ / |/| | | | specify protocol for external links to json project
| * | | | specify protocol for external linksRobin Neumann2014-10-152-2/+2
|/ / / / | | | | | | | | | | | | to ensure correct parsing result of rdoc
* | | | Make the config actually copyableGodfrey Chan2014-10-141-1/+1
| | | | | | | | | | | | The intention here is to make the required config copy-able from the console/logs, so add a newline at the end of the message to make that easier. (Otherwise it would be `... raise_in_transactional_callbacks = true (called from...`.)
* | | | :scissors: duplicated `require`sGodfrey Chan2014-10-141-1/+0
| | | |
* | | | make sure cache is not used for collection assocations tooAaron Patterson2014-10-143-2/+19
| | | | | | | | | | | | | | | | follow up for #17052
* | | | break cache if we're inside a "scoping" call. fixes #17052Aaron Patterson2014-10-142-1/+16
| |/ / |/| | | | | | | | | | | For now, we don't want to take "scoping" calls in to account when calculating cache keys for relations, so just opt-out.
* | | Merge pull request #17220 from Bounga/fix_journey_rfc_3986_complianceAndrew White2014-10-143-11/+34
|\ \ \ | |_|/ |/| | Improve Journey compliance to RFC 3986
| * | Improve Journey compliance to RFC 3986Nicolas Cavigneaux2014-10-143-11/+34
|/ / | | | | | | | | | | | | | | | | | | The scanner in Journey fails to recognize routes that use literals from the sub-delims section of RFC 3986. This commit enhance the compatibility of Journey with the RFC by adding support of authorized delimiters to the scanner. Fix #17212
* | Merge pull request #17253 from gshutler/activemodel-errors-keyRafael Mendonça França2014-10-142-0/+13
|\ \ | | | | | | Add #key? to ActiveModel::Errors
| * | Add #key? to ActiveModel::ErrorsGarry Shutler2014-10-142-0/+13
| | | | | | | | | | | | Mirror Ruby's Hash#key?
* | | Merge pull request #17252 from Bounga/update_all_doc_clarificationSean Griffin2014-10-141-1/+2
|\ \ \ | |/ / |/| | [ci skip] Clarify `#update_all` doc about values processing
| * | Clarify `#update_all` doc about value processingNicolas Cavigneaux2014-10-141-1/+2
|/ / | | | | | | | | | | | | | | | | This clarify the fact that `#update_all` doesn't type-cast passed values and that these values are written as-is in the SQL DB. Fix #17242 [ci skip]
* | Merge pull request #17251 from claudiob/remove-duplicate-exceptionRafael Mendonça França2014-10-131-6/+10
|\ \ | | | | | | Remove duplicate error message "Couldn't find..."
| * | Remove duplicate error message "Couldn't find..."claudiob2014-10-131-6/+10
| |/ | | | | | | | | | | | | | | | | This commit removes the duplication of the error message: > Couldn't find #{@klass.name} with [#{arel.where_sql}] introduced in #15791 by adding a private method `find_nth!` that deals with all the method like `first!` and `second!`.
* | measure record instantiation time in AS::NotificationsAaron Patterson2014-10-133-4/+58
| | | | | | | | | | emit an event when we instantiate AR objects so we can see how many records were instantiated and how long it took
* | Always use latest turbolinksRafael Mendonça França2014-10-131-1/+1
| |
* | Don't need to account turbolinks cookies in get request.Rafael Mendonça França2014-10-131-6/+6
| | | | | | | | | | | | | | It was changed to not set the cookie in get requests at https://github.com/rails/turbolinks/commit/62cc3db457ad9745ccda047dd43ab84fb3d89707. Related with dcb05f26.
* | add length to ActiveRecord::ResultAaron Patterson2014-10-132-0/+8
| |
* | Merge pull request #17232 from Agis-/issue-17209Rafael Mendonça França2014-10-134-1/+28
|\ \ | | | | | | Autosave callbacks shouldn't be `after_save` callbacks
| * | Autosave callbacks shouldn't be `after_save`Agis-2014-10-134-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 068f092ced8483e557725542dd919ab7c516e567 registered autosave callbacks as `after_save` callbacks. This caused the regression described in #17209. Autosave callbacks should be registered as `after_update` and `after_create` callbacks, just like before. This is a partial revert of 068f092ced8483e557725542dd919ab7c516e567. Fixes #17209.
* | | line_statistics is not an executableRafael Mendonça França2014-10-132-2/+2
| | | | | | | | | | | | Also add documentation on it
* | | Make a note about the internal tools/ dir and what each utility doesJeremy Kemper2014-10-131-0/+8
| | |
* | | Do not use deprecated `exists?` methodRafael Mendonça França2014-10-131-1/+1
| | |
* | | Document the propose of tools/profileRafael Mendonça França2014-10-131-0/+3
| | |
* | | Revert "Merge pull request #17247 from igas/fix-deprecations"Rafael Mendonça França2014-10-131-0/+133
| | | | | | | | | | | | | | | | | | | | | This reverts commit 997f1575f78bf6a2d12b8665a55807d51fe964df, reversing changes made to f919d5f5ea75f0e56a57643e5a0472367a98625f. See https://github.com/rails/rails/pull/17247#issuecomment-58895078
* | | Merge pull request #17230 from robertoz-01/masterRafael Mendonça França2014-10-131-1/+1
|\ \ \ | | | | | | | | atomic_write rescue also Errno::EACCES
| * | | atomic_write rescue also Errno::EACCESRoberto Zanon2014-10-101-1/+1
| | | | | | | | | | | | atomic_write rescue also Errno::EACCES on changing file permission. It could be raised with some type of filesystem
* | | | Merge pull request #17247 from igas/fix-deprecationsRafael Mendonça França2014-10-131-133/+0
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | remove unused tools/profile We usually use moderns tools like benchmark-ips so we don't need this anymore
| * | | | remove unused tools/profileIgor Kapkov2014-10-131-133/+0
| | | | |