aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | updates a migration example in the Getting Started guide [ci skip]Xavier Noria2015-06-281-5/+3
| | | | | | | | | | | | | | | | | | | | Closes #20705.
* | | | | Revert the behavior of association names and `where` to be closer to 4.2Sean Griffin2015-06-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this change, we will always assume the association name is the same as the table it's referencing. This is subtly different than treating the hash key passed to `where` as the table name, as it still allows the class referenced by the association to provide additional type information. After exploring several possible solutions to the ambiguity problem, I do not think there is a short term answer that will maintain backwards compatibility. This change will make it so the following code does not work: class User has_many :approved_posts, -> { where(approved: true) }, class_name: "Post" end User.where(approved_posts: { id: 1 }) But prevents potential ambiguity and collision as demonstrated in [this gist](https://gist.github.com/senny/1ae4d8ea7b0e269ed7a0). Unfortunately, truely solving this requires significantly re-architecting this code, so that what is currently represented as an `Arel::Attribute` is instead another data structure that also references the association it is representing, so we can identify the proper table name for aliasing when we construct the final tree. While I'd still like to accomplish that in the long run, I don't think I'll be able to get there in time for Rails 5 (since I'm not full time OSS any more, and this is several weeks worth of work). I'm hoping to achieve this for Rails 5.1. Fixes #20308
* | | | | Improve error messages in cookies_testeileencodes2015-06-271-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using `assert_predicate` and `assert_match` instead of just `assert` is preferrable because better error messages are output. In the case of `assert response.cookies.empty?` the error message was `Failed assertion, no message given.` but now with `assert_predicate` it will be `Expected {"user_name"=>"david"} to be empty?.` For `assert_match(/user_name=david/, response.headers["Set-Cookie"])` as well, the message returned was unhelpful - `Failed assertion, no message given.` but now will tell what was expected and what was returned with `Expected /user_name=david/ to match "user_name=nope; path=/".`
* | | | | Merge pull request #20276 from davetron5000/revert-head-on-no-templateKasper Timm Hansen2015-06-272-2/+38
|\ \ \ \ \ | | | | | | | | | | | | Allow default_render to take a block to customize behavior when there's no template
| * | | | | Override default_render's behavior with a blockDave Copeland2015-06-202-2/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 0de4a23 the behavior when there is a missing template was changed to not raise an error, but instead head :no_content. This is a breaking change and some gems rely on this happening. To allow gems and other code to work around this, allow `default_render` to take a block which, if provided, will execute the contents of that block instead of doing the `head :no_content`.
* | | | | | Merge pull request #20720 from rohandaxini/patch-2Rafael Mendonça França2015-06-271-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | Maintaining consistency in wording [ci skip]
| * | | | | | Maintaining consistency in wordings [ci skip]Rohan Daxini2015-06-271-1/+1
|/ / / / / / | | | | | | | | | | | | "reproduce" word is better suited then "replicate" as its also used at other places in this same document having same context. It will then be consistent across document.
* | | | | | Merge pull request #20712 from nhodges/dev/nh/20345Rafael Mendonça França2015-06-271-2/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | Remove `config` options from `default_options` in `railties`
| * | | | | | Remove `config` options from `default_options` in `railties`Nuri Hodges2015-06-261-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #20345.
* | | | | | | Merge pull request #20556 from radanskoric/improve-validation-helpersRafael Mendonça França2015-06-275-7/+41
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Improve Validation Helpers' documentation comments and tests
| * | | | | | | Improve Validation Helpers' documentation comments and testsRadan Skoric2015-06-275-7/+41
|/ / / / / / /
* | | | | | | Merge pull request #20652 from ankit1910/change_docZachary Scott2015-06-271-2/+12
|\ \ \ \ \ \ \ | |_|_|_|/ / / |/| | | | | | Change documentation for collection.build and collection.create [ci-skip]
| * | | | | | Change documentation for collection.build and collection.create [ci-skip]ankit19102015-06-211-2/+12
| | | | | | |
* | | | | | | Merge pull request #20607 from cmtonkinson/update-console-colorsRafael Mendonça França2015-06-271-8/+11
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | More granular console SQL coloration
| * | | | | | | More granular console SQL colorationChris Tonkinson2015-06-231-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new coloration approach makes it easier to scan the rails console for specific types of activity with more fine-grained visual cues. Virtual terminal ANSI color escape codes are used when displaying SQL statements in the rails console. The former implementation alternates line prefix information (including the statement name and execution latency) between CYAN and MAGENTA. This visually differentiates any SQL statements in the log and is useful for quickly scanning for database activity. While a great idea and a solid foundation, alternating between just two colors on an even/odd basis (much like striping an HTML table) can be improved upon. This patch replaces the even/odd striping with a more comprehensive scheme that applies coloration based on the type of statement being run. Every statement logged has its prefix (name and latency) colored white (as the statement body was previously). The statement body is now colored according to the nature of the statement: - INSERT statements are GREEN (symbolic of creation or genesis) - SELECT statements are BLUE (typically used for informational displays, as SELECT statements do not normally have side-effects) - DELETE statements are RED (commonly used to indicate the danger of a destructive action) - UPDATE statements are YELLOW (it's like a less extreme RED :P) - TRANSACTION statements are CYAN (arbitrary) - and any other statements are MAGENTA (again, arbitrary)
* | | | | | | | Merge pull request #20699 from ↵Rafael Mendonça França2015-06-273-2/+37
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vngrs/foreign_key_with_table_name_suffix_and_prefix Add table name prefix and suffix support for foreign keys
| * | | | | | | | Add table name prefix and suffix support to add_foreign_key and ↵Mehmet Emin İNAÇ2015-06-253-2/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | remove_foreign_key methods fix tests
* | | | | | | | | Merge pull request #20018 from sikachu/change-column-default-recorderRafael Mendonça França2015-06-2710-13/+72
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Add reversible syntax for change_column_default
| * | | | | | | | | Update guide for new change_column_default syntaxPrem Sichanugrist2015-06-261-6/+8
| | | | | | | | | |
| * | | | | | | | | Add reversible syntax for change_column_defaultPrem Sichanugrist2015-06-269-7/+64
| | |_|_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Passing `:from` and `:to` to `change_column_default` makes this command reversible as user has defined its previous state. So, instead of having the migration command as: change_column_default(:posts, :state, "draft") They can write it as: change_column_default(:posts, :state, from: nil, to: "draft")
* | | | | | | | | Merge pull request #20711 from fenec/fix_routes_in_guidesRafael Mendonça França2015-06-271-0/+1
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Change routes.rb look in getting started
| * | | | | | | | | Change routes.rb look in getting started [ci skip]Dmitry Pak2015-06-271-0/+1
| | |_|_|_|/ / / / | |/| | | | | | |
* | | | | | | | | Merge pull request #20714 from y-yagi/fix_file_fixture_pathRafael Mendonça França2015-06-271-1/+1
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | | correct `file_fixture_path` in plugins `test_helper.rb`
| * | | | | | | | correct `file_fixture_path` in plugins `test_helper.rb`yuuji.yaginuma2015-06-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `fixture_path` does not end with a slash
* | | | | | | | | Merge pull request #20417 from dubek/fix-template-cache-call-patternKasper Timm Hansen2015-06-263-1/+36
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Improve detection of partial templates eligible for collection caching.
| * | | | | | | | | Improve detection of partial templates eligible for collection caching.Dov Murik2015-06-223-1/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The regular expression which was used to detect partial templates that begin with a `<% cache ... do %>` call missed some cases. This commits attempts to improve the detection for some cases such as multi-line comments at the beginning of the template. The different templates are listed in two new unit test methods. Note that specially crafted Ruby code can still evade such `cache`-call detection: for example, a user might have its own method which itself calls the Rails `cache` helper. In such a case, the template's code doesn't start with a literal `cache` string and therefore will not be eligible for collection caching.
* | | | | | | | | | Merge pull request #20708 from sikachu/update-pluck-suggestionZachary Scott2015-06-261-1/+1
|\ \ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / / |/| | | | | | | | | Update .pluck documentation on uniq
| * | | | | | | | | Update .pluck documentation on uniqPrem Sichanugrist2015-06-261-1/+1
|/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is to show users that they can chain `.uniq` and `.pluck` to get the `DISTINCT column` result. They don't have to do `DISTINCT column` themselves.
* | | | | | | | | Merge pull request #20677 from jmondo/decimal-default-stringSean Griffin2015-06-254-4/+9
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Display decimal defaults as strings to keep precision
| * | | | | | | | | Display decimal defaults as strings to keep precisionJohn Gesimondo2015-06-234-4/+9
| | |_|_|/ / / / / | |/| | | | | | |
* | | | | | | | | remove bad test.Aaron Patterson2015-06-251-4/+0
| | | | | | | | |
* | | | | | | | | Merge pull request #20697 from 5t111111/add-block-to-add_sourceGuillermo Iguaran2015-06-254-2/+36
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | add_source in Application Template should take a block for gem entries
| * | | | | | | | | cherry-pick test and source doc from #20050Hirofumi Wakasugi2015-06-253-0/+20
| | | | | | | | | |
| * | | | | | | | | modify add_source in application template to take a block for gem entriesHirofumi Wakasugi2015-06-251-2/+16
| | |_|/ / / / / / | |/| | | | | | |
* | | | | | | | | Add pending test for the great-grandparent touching bug from #19324David Heinemeier Hansson2015-06-256-0/+72
| | | | | | | | |
* | | | | | | | | Merge pull request #20696 from ↵Yves Senn2015-06-251-11/+0
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | y-yagi/remove_active_resource_from_instrumentation_guide remove nonexistent hook from instrumentation guide [ci skip]
| * | | | | | | | remove nonexistent hook from instrumentation guide [ci skip]yuuji.yaginuma2015-06-251-11/+0
|/ / / / / / / /
* | | | | | | | Merge pull request #20681 from ivantsepp/update_rails_welcome_pngRafael Mendonça França2015-06-241-0/+0
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | Update rails_welcome.png
| * | | | | | | Update rails_welcome.pngIvan Tse2015-06-241-0/+0
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | [ci skip]
* | | | | | | Merge pull request #20674 from yui-knk/fix/guide2Rafael Mendonça França2015-06-231-1/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | [ci skip] Make clear what `this method` is
| * | | | | | | [ci skip] Make clear what `this method` isyui-knk2015-06-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In this sentence, there are three candidates of `this method` * default_url_options * url_for * helper method(s) so make it clear.
* | | | | | | | A few documentation fixes [ci skip]Robin Dupret2015-06-233-8/+8
| | | | | | | |
* | | | | | | | Remove the paragraph about Rails::Server#middlewareRobin Dupret2015-06-231-18/+0
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As of 56903585, the Rack::ContentLength middleware isn't included by default anymore. The only remaining middleware is Rack::Lock ; since it's only included when using WEBrick, it's certainly not worth documenting it in the guides. [ci skip]
* | | | | | | Merge pull request #20673 from aditya-kapoor/correct-preload-docYves Senn2015-06-231-1/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | [ci skip] correct for ActiveRecord::Associations::Preloader
| * | | | | | | [ci skip] correct for ActiveRecord::Associations::Preloader:Aditya Kapoor2015-06-231-1/+2
| | | | | | | |
* | | | | | | | docs, add missing closing bracket. [ci skip]Yves Senn2015-06-231-1/+1
|/ / / / / / /
* | | | | | | Merge pull request #20552 from jamesdabbs/belongs-to-polymorphic-force-reloadYves Senn2015-06-233-1/+10
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Fix `undefined method uncached` for polymorphic belongs_to #20426
| * | | | | | | Fix `undefined method uncached` for polymorphic belongs_to #20426James Dabbs2015-06-132-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unitialized polymorphic `belongs_to` associations raise an error while attempting to reload, as they attempt to make an uncached reload, but don't have a klass to fetch uncachedly. In this case, `loaded?` should be `false` anyway.
* | | | | | | | Merge pull request #20545 from dcrec1/20541Yves Senn2015-06-233-3/+39
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | thrown ActiveRecord::AssociationTypeMismatch when assigning a wrong value for a namespaced association
| * | | | | | | | thrown ActiveRecord::AssociationTypeMismatch when assigning a wrong value ↵Diego Carrion2015-06-223-3/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for a namespaced association fixes #20541