aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 4.2 is still maintainedRafael Mendonça França2018-04-101-1/+1
| | | | It is the last major release series.
* Merge pull request #32498 from eugeneius/mutation_tracker_merge_changesRyuta Kamizono2018-04-102-1/+9
|\ | | | | Prevent changes_to_save from mutating attributes
| * Prevent changes_to_save from mutating attributesEugene Kenny2018-04-082-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | When an array of hashes is added to a `HashWithIndifferentAccess`, the hashes are replaced with HWIAs by mutating the array in place. If an attribute's value is an array of hashes, `changes_to_save` will convert it to an array of HWIAs as a side-effect of adding it to the changes hash. Using `merge!` instead of `[]=` fixes the problem, as `merge!` copies any array values in the provided hash instead of mutating them.
* | Merge pull request #32515 from ↵Ryuta Kamizono2018-04-101-0/+8
|\ \ | | | | | | | | | | | | bogdanvlviv/add-test_request_format_kwarg_doesnt_mutate_params Add `TestCaseTest#test_request_format_kwarg_doesnt_mutate_params` to master
| * | Add `TestCaseTest#test_request_format_kwarg_doesnt_mutate_params` to masterbogdanvlviv2018-04-101-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | Initially, the test was added to 5-0-stable in #32492 and a bit modified in #32506. This test ensures that request(in tests) doesn't mutate params. It was fixed since v5.1.0.beta1 by 98b8309569a326910a723f521911e54994b112fb and then on 5-0-stable by #32492. This commit adds this test to master branch in order to prevent any regressions.
* | | Merge pull request #32508 from radar/radar/maintenance-policyRyuta Kamizono2018-04-101-3/+3
|\ \ \ | | | | | | | | | | | | | | | | Correct Maintenance Policy for Rails 5.2 [ci skip]
| * | | Correct Maintenance Policy for Rails 5.2Ryan Bigg2018-04-101-3/+3
| |/ /
* | | Merge pull request #32509 from bogdanvlviv/update-bug_report_templates-on-masterRyuta Kamizono2018-04-105-5/+5
|\ \ \ | |/ / |/| | Update bug report templates
| * | Update bug report templatesbogdanvlviv2018-04-105-5/+5
|/ / | | | | | | Set Rails 5.2.0 in templates
* | Merge pull request #32488 from swrobel/patch-4Rafael Mendonça França2018-04-091-1/+1
|\ \ | | | | | | | | | Only disable headless chrome gpu on Windows
| * | Only disable headless chrome gpu on WindowsStefan Wrobel2018-04-071-1/+1
| | | | | | | | | Per Chromium team this has not been necessary on other platforms for quite some time: https://bugs.chromium.org/p/chromium/issues/detail?id=737678#c1
* | | Don't create namespaced tasks if single db applicationeileencodes2018-04-091-2/+7
| | | | | | | | | | | | | | | | | | This was causing single db applications to have rake tasks named `db:create:primary`. These tasks are only useful to multiple database applications so they shouldn't be generated.
* | | Add multidb application testeileencodes2018-04-092-16/+215
| | | | | | | | | | | | | | | | | | | | | | | | | | | I realized I wasn't really testing some of the new rake tasks added so I built out this new test that uses a multi-db database.yml and allows us to run create/drop/migrate/schema:dump/schema:load and those that are namespaced like create:animals. This will make our testing more robust so we can catch problems quicker and set a good place to add future tests as these features evolve.
* | | Allow schema/structure load for multiple databaseseileencodes2018-04-091-3/+3
| | | | | | | | | | | | | | | Pass the spec name to load_schema in order to load from the correct structure file when there are multiple databases
* | | Merge pull request #32502 from mrhead/improve-error-messageEileen M. Uchitelle2018-04-091-1/+1
|\ \ \ | | | | | | | | Improve the null origin error message
| * | | Improve the null origin error messagePatrik Bóna2018-04-091-1/+1
|/ / /
* | | Merge pull request #32497 from ↵Ryuta Kamizono2018-04-092-1/+9
|\ \ \ | |_|/ |/| | | | | | | | eugeneius/mutation_tracker_changed_attribute_names Avoid generating full changes hash on every save
| * | Avoid generating full changes hash on every saveEugene Kenny2018-04-082-1/+9
|/ / | | | | | | | | | | | | | | | | | | `changed_attribute_names_to_save` is called in `keys_for_partial_write`, which is called on every save when partial writes are enabled. We can avoid generating the full changes hash by asking the mutation tracker for just the names of the changed attributes. At minimum this saves one array allocation per attribute, but will also avoid calling `Attribute#original_value` which is expensive for serialized attributes.
* | Merge pull request #32494 from dixpac/as_fix_outdated_documentation_for_variantsRyuta Kamizono2018-04-082-4/+4
|\ \ | | | | | | Fix leftover references to VariantsController in AS documentation [ci skip]
| * | Fix leftover references to VariantsController [ci skip]dixpac2018-04-082-4/+4
| | | | | | | | | | | | | | | VariantsController has been merged to RepresentationsController, this PR fixes outdated references to VariantsController in ActiveStorage documentation.
* | | Merge pull request #32486 from floehopper/mocha-updatesGuillermo Iguaran2018-04-074-6/+4
|\ \ \ | | | | | | | | Mocha updates
| * | | Upgrade Mocha from v1.3.0 to v1.5.0James Mead2018-04-071-1/+1
| | | | | | | | | | | | | | | | Mocha v1.5.0 is currently the latest release.
| * | | Make Mocha setup explcitly Minitest-specificJames Mead2018-04-072-2/+2
| | | | | | | | | | | | | | | | | | | | This has been possible since Mocha v1.0 and makes it clear that we want Mocha to integrate with Minitest, not Test::Unit.
| * | | Simplify declaration of mocha dependency in GemfileJames Mead2018-04-071-3/+1
| | | | | | | | | | | | | | | | The `require: false` option hasn't been needed since Mocha v1.0.
* | | | Fix test class name for `Assertions` moduleyuuji.yaginuma2018-04-081-1/+1
| | | | | | | | | | | | | | | | | | | | Because this class includes not only `assert_difference` but also tests of other assertion methods.
* | | | Merge pull request #32491 from yhirano55/enable_verbose_in_activestorageRyuta Kamizono2018-04-081-0/+1
|\ \ \ \ | | | | | | | | | | Enable verbose option in ActiveStorage
| * | | | Enable verbose option in ActiveStorageYoshiyuki Hirano2018-04-081-0/+1
|/ / / /
* | | | Merge pull request #32489 from yhirano55/update_railties_rdoc_mainXavier Noria2018-04-071-2/+2
|\ \ \ \ | |_|_|/ |/| | | rewords a bit RDOC_MAIN.rdoc [ci skip]
| * | | rewords a bit RDOC_MAIN.rdoc [ci skip]Yoshiyuki Hirano2018-04-081-2/+2
|/ / / | | | | | | | | | * Same change as bba832d
* | / rewords a bit README.md [ci skip]Xavier Noria2018-04-071-4/+4
| |/ |/| | | | | [LinkedRach, Daniel Colson, Xavier Noria]
* | Merge pull request #32487 from yhirano55/update_releasing_railsRyuta Kamizono2018-04-071-2/+2
|\ \ | |/ |/| Update URLs in RELEASING_RAILS.md [ci skip]
| * Update URLs in RELEASING_RAILS.md [ci skip]Yoshiyuki Hirano2018-04-071-2/+2
|/ | | | | * Use https instead of http with URI scheme for Travis * Update Url for "Agile Web Development with Rails"
* Merge pull request #32485 from bogdanvlviv/fix-actionview/CHANGELOG.mdRyuta Kamizono2018-04-071-2/+2
|\ | | | | | | | | Fix `actionview/CHANGELOG.md` [ci skip]
| * Fix `actionview/CHANGELOG.md`bogdanvlviv2018-04-071-2/+2
|/ | | | | | | | - Add missing dots at the end of sentences. - Wrap RecordTagHelper into `. - `RecordTagHelper` => `ActionView::Helpers::RecordTagHelper`. [ci skip]
* Merge pull request #32482 from yhirano55/remove_record_tag_helperAndrew White2018-04-074-58/+4
|\ | | | | Remove RecordTagHelper
| * Remove RecordTagHelperYoshiyuki Hirano2018-04-074-58/+4
| | | | | | | | | | | | | | * Since #18411, we started to inform about extracted gem (record_tag_helper) to developers who use `ActionView::Helpers::RecordTagHelper` 's methods. * Currently, it seems no problem that we don't have to support no longer.
* | Merge pull request #32350 from rails/use-current-model-for-as-url-hostAndrew White2018-04-076-6/+26
|\ \ | | | | | | Use an ActiveSupport::CurrentAttributes model to provide the host for service urls
| * | Use a current model to provide the host for service urlsAndrew White2018-04-066-6/+26
| | | | | | | | | | | | | | | | | | | | | Trying to pass the current request down to the service so that it can create full urls instead of paths makes the API messy so use a model based on ActiveSupport::CurrentAttributes to provide the current host to services that need it (primarily the disk service).
* | | Partially revert 0bfdd1dyuuji.yaginuma2018-04-071-1/+5
| | | | | | | | | | | | | | | The `Capybara.server=` proc acceptance restored in Capyara 3.0.1. Ref: https://github.com/teamcapybara/capybara/commit/8f115d94e035eca992036f16e50c1dce5f555c97
* | | Upgrade capybara to 3.0.1 to make sure our tests are passingRafael Mendonça França2018-04-061-1/+3
|/ /
* | Protect all active storage controllers agains CSRFRafael Mendonça França2018-04-065-5/+11
| | | | | | | | | | Before it was possible to for example use the direct upload controller without using the site.
* | Add Brewfile to make easier to install all dependencies we need to run testsRafael Mendonça França2018-04-061-0/+13
| | | | | | | | This way we don't need to remember which packages we need to install.
* | Merge pull request #32481 from ↵Rafael França2018-04-061-0/+3
|\ \ | | | | | | | | | | | | yhirano55/add_securing_rails_app_guide_link_to_credential_section [ci skip] Add securing rails app guide link to credential section
| * | [ci skip] Add securing rails app guide link to credential sectionYoshiyuki Hirano2018-04-071-0/+3
| |/ | | | | | | * In 5.2 release note, added [securing rails app guide](http://edgeguides.rubyonrails.org/security.html#custom-credentials) link to [credentials section](http://edgeguides.rubyonrails.org/5_2_release_notes.html#credentials).
* | Merge pull request #32355 from kamipo/delegate_to_klass_in_a_scopeRafael França2018-04-065-1/+30
|\ \ | | | | | | Bring back private class methods accessibility in named scope
| * | Deprecate accessibility of private/protected class methods in named scopeRyuta Kamizono2018-03-304-4/+16
| | |
| * | Bring back private class methods accessibility in named scopeRyuta Kamizono2018-03-274-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The receiver in a scope was changed from `klass` to `relation` itself for all scopes (named scope, default_scope, and association scope) behaves consistently. In addition. Before 5.2, if both an AR model class and a Relation instance have same named methods (e.g. `arel_attribute`, `predicate_builder`, etc), named scope doesn't respect relation instance information. For example: ```ruby class Post < ActiveRecord::Base has_many :comments1, class_name: "RecentComment1" has_many :comments2, class_name: "RecentComment2" end class RecentComment1 < ActiveRecord::Base self.table_name = "comments" default_scope { where(arel_attribute(:created_at).gteq(2.weeks.ago)) } end class RecentComment2 < ActiveRecord::Base self.table_name = "comments" default_scope { recent_updated } scope :recent_updated, -> { where(arel_attribute(:updated_at).gteq(2.weeks.ago)) } end ``` If eager loading `Post.eager_load(:comments1, :comments2).to_a`, `:comments1` (default_scope) respects aliased table name, but `:comments2` (using named scope) may not work correctly since named scope doesn't respect relation instance information. See also 801ccab. But this is a breaking change between releases without deprecation. I decided to bring back private class methods accessibility in named scope. Fixes #31740. Fixes #32331.
* | | Merge pull request #32472 from Edouard-chin/ec-activesupport-teardownRafael França2018-04-062-1/+42
|\ \ \ | | | | | | | | `SetupAndTeardown#teardown` should call any subsequent after_teardown:
| * | | Rename the class as there is already an existing class with that nameEdouard CHIN2018-04-061-1/+1
| | | |
| * | | `SetupAndTeardown#teardown` should call any subsequent after_teardown:Edouard CHIN2018-04-062-1/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you have a regular test that have a teardown block, and for any reason an exception get raised, ActiveSupport will not run subsequent after_teardown method provided by other module or gems. One of them being the ActiveRecord::TestFixtures which won't rollback the transation when the test ends making all subsequent test to be in a weird state. The default implementation of minitest is to run all teardown methods from the user's test, rescue all exceptions, run all after_teardown methods provided by libraries and finally re-raise the exception that happened in the user's teardown method. Rails should do the same.