aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add necessary 'require reverse_merge' to HAWI.rbclaudiob2014-10-172-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hashes with indifferent access should support `reverse_merge` out-of-the-box but they don't; for instance the following code fails: ```ruby require 'active_support' require 'active_support/hash_with_indifferent_access' hash = HashWithIndifferentAccess.new key: :old_value hash.reverse_merge key: :new_value ``` This PR fixes the case above by simply requiring `active_support/core_ext/hash/reverse_merge` in `hash_with_indifferent_access.rb` and adding a test that confirms the fix. --- Here are more details about the bugfix. Currently, `reverse_merge` is [defined in HashWithIndifferentAccess](https://github.com/rails/rails/blob/4e8ea13ba1a0870905a46fac5f232d9f41eef8a4/activesupport/lib/active_support/hash_with_indifferent_access.rb#L208) by invoking `super`, that is by invoking `Hash#reverse_merge`: ```ruby def reverse_merge(other_hash) super(self.class.new_from_hash_copying_default(other_hash)) end ``` However, Ruby's `Hash` does not have the `reverse_merge` by default: it must be added by ActiveSupport, and that requires the following line of code to be present: ```ruby require 'active_support/core_ext/hash/reverse_merge' ```
* Merge pull request #17296 from sgrif/sg-booleans-should-make-senseRafael Mendonça França2014-10-162-5/+14
|\ | | | | Add a deprecation warning for abiguous boolean values
| * Add a deprecation warning for abiguous boolean valuesSean Griffin2014-10-162-5/+14
|/ | | | | | | | | | | In Rails 5.0, we'd like to change the behavior of boolean columns in Rails to be closer to Ruby's semantics. Currently we have a small set of values which are "truthy", and all others are "falsy". In Rails 5.0, we will reverse this to have a small number of values which are "falsy", and all others will become "truthy". In the interim, all values which are ambiguous must emit a deprecation warning.
* Improve the warning a bit [ci skip]Rafael Mendonça França2014-10-161-1/+1
|
* Merge pull request #15827 from ↵Rafael Mendonça França2014-10-161-1/+3
|\ | | | | | | | | | | yuki24/another-improvements-for-dynamic-error-pages A warning line should look like a warning section in Guides
| * A warning line should look like a warning sectionYuki Nishijima2014-06-191-1/+3
| | | | | | | | [ci skip]
* | Merge pull request #17293 from djpowers/patch-1Rafael Mendonça França2014-10-161-1/+1
|\ \ | | | | | | Clarify wording in Rails HTML Sanitizer section [ci skip]
| * | Clarify wording in Rails HTML Sanitizer sectionDave Powers2014-10-161-1/+1
|/ / | | | | [ci skip]
* | Merge pull request #17292 from tricknotes/generator-test-docRafael Mendonça França2014-10-161-1/+1
|\ \ | | | | | | Fix example code for `Rails::Generators::Testing::Behaviour` [ci skip]
| * | Fix example code for `Rails::Generators::Testing::Behaviour` [ci skip]Ryunosuke SATO2014-10-171-1/+1
| | | | | | | | | | | | | | | `cleanup_destination_root` method is not found anywhere. Instead, `prepare_destination` clean up distination root on setup.
* | | Use released rails-dom-testingRafael Mendonça França2014-10-165-7/+3
|/ /
* | test, `Generators::GeneratedAttribute` with references, required, index.Yves Senn2014-10-161-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Closes #17197. Closes #17207. `{required}` is a type modifier so it should be: user:references{required}:index and not: user:references:index{required}
* | Merge pull request #17285 from dwo/masterYves Senn2014-10-161-0/+2
|\ \ | | | | | | mention the :without option [ci skip]
| * | mention the :without option [ci skip]Rob2014-10-161-0/+2
| | | | | | | | | As pointed out in the ActiveModel::Validations::HelperMethods #validates_format_of documentation.
* | | Merge pull request #17278 from velobuff/clarify-debugger-invocationYves Senn2014-10-161-1/+2
|\ \ \ | |/ / |/| | clarify debugger platform invocation
| * | clarify debugger platform invocationRaman Sinha2014-10-151-1/+2
| | |
* | | test, better describe `SerializationTypeMismatch` behavior. refs #14716.Yves Senn2014-10-162-4/+3
| | |
* | | pg, test assigning non-array values to an array column. Closes #14716.Yves Senn2014-10-161-0/+9
| | | | | | | | | | | | | | | | | | The behavior has changed since 4.1 and non-array values are no longer type casted to a blank array. This way the user can define custom validations on that property.
* | | Merge pull request #17281 from y-yagi/configuring_guideZachary Scott2014-10-161-14/+15
|\ \ \ | | | | | | | | [ci skip] add AC::InvalidCrossOriginRequest to list of rescue_responses default
| * | | [ci skip] add AC::InvalidCrossOriginRequest to list of rescue_responses defaultyuuji.yaginuma2014-10-161-14/+15
| | | |
* | | | docs, since #16702 we detect mutation on serialized attributes. [ci skip]Yves Senn2014-10-161-3/+0
| | | | | | | | | | | | | | | | /cc @sgrif
* | | | some changelog formatting. [ci skip]Yves Senn2014-10-164-12/+12
| | | |
* | | | Merge pull request #17280 from aditya-kapoor/remove-unneeded-fileYves Senn2014-10-161-9/+0
|\ \ \ \ | | | | | | | | | | remove unneeded file from Railties.
| * | | | remove unneeded fileAditya Kapoor2014-10-161-9/+0
| | | | |
* | | | | Merge pull request #17279 from aditya-kapoor/call-methodsYves Senn2014-10-161-1/+1
|\ \ \ \ \ | |_|_|/ / |/| | | | use require_command! instead of calling its definition
| * | | | use require_command! instead of calling its definitionAditya Kapoor2014-10-161-1/+1
| |/ / /
* | | | we don't need a HWIA and a hash allocated for just one k/v pairAaron Patterson2014-10-151-5/+3
| | | |
* | | | just look up the primary key from the columns hashAaron Patterson2014-10-151-6/+1
| | | |
* | | | add table.bigint supportAaron Patterson2014-10-153-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the DSL you can now do: create_table(:foos) do |t| t.bigint :hi end
* | | | 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]