aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Merge pull request #35331 from rails/depreate-rendered-formatAaron Patterson2019-02-193-7/+21
|\ \ \ \ | | | | | | | | | | Deprecate LookupContext#rendered_format
| * | | | Deprecate LookupContext#rendered_formatAaron Patterson2019-02-193-7/+21
| | | | | | | | | | | | | | | | | | | | | | | | | We no longer depend on `rendered_format` side effects, so we can remove this method now. 🎉
* | | | | Merge pull request #35332 from rails/zeitwerk-unhookXavier Noria2019-02-196-2/+40
|\ \ \ \ \ | |/ / / / |/| | | | Let Zeitwerk integration unhook AS::Dependencies
| * | | | let Zeitwerk integration unhook AS::DependenciesXavier Noria2019-02-196-2/+40
| | |_|/ | |/| |
* | | | Merge pull request #35265 from rails/return-rendered-templatesAaron Patterson2019-02-1911-39/+113
|\ \ \ \ | |/ / / |/| | | Return rendered template objects from renderers
| * | | Fix up styleAaron Patterson2019-02-194-8/+8
| | | |
| * | | Return rendered template information instead of just stringsAaron Patterson2019-02-197-31/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit introduces "rendered template" and "rendered collection" objects. The template renderers can now return a more complex object than just strings. This allows the framework to get more information about the templates that were rendered. In this commit we use the rendered template object to set the "rendered_format" on the lookup context in the controller rather than all the way in the template renderer. That means we don't need to check the "rendered_format" every time we render a template, we just do it once after all templates have been rendered.
| * | | Move inline rendering content-type test to a controller testAaron Patterson2019-02-192-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | This commit is to remove direct access to the "rendered_format" attribute on the lookup context. "rendered_format" is an implementation detail that we shouldn't test directly.
| * | | Add a test that writes to the collection cacheAaron Patterson2019-02-191-1/+8
| | | |
| * | | rename push / pop functionAaron Patterson2019-02-192-2/+2
|/ / /
* | | Merge pull request #35293 from rails/remove-rendered-format-from-cacheAaron Patterson2019-02-1912-50/+53
|\ \ \ | | | | | | | | Pass the template format to the digestor
| * | | remove another call to rendered_format=Aaron Patterson2019-02-171-2/+0
| | | |
| * | | pass format to the digestorAaron Patterson2019-02-161-5/+5
| | | |
| * | | Pass the template format to the digestorAaron Patterson2019-02-1511-43/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit passes the template format to the digestor in order to come up with a key. Before this commit, the digestor would depend on the side effect of the template renderer setting the rendered_format on the lookup context. I would like to remove that mutation, so I've changed this to pass the template format in to the digestor. I've introduced a new instance variable that will be alive during a template render. When the template is being rendered, it pushes the current template on to a stack, setting `@current_template` to the template currently being rendered. When the cache helper asks the digestor for a key, it uses the format of the template currently on the stack.
* | | | Merge pull request #35271 from gmcgibbon/fix_time_attribute_test_failuresGannon McGibbon2019-02-191-0/+4
|\ \ \ \ | |_|_|/ |/| | | Reset column info after making Topic tz-aware
| * | | Reset column info after making Topic tz-awareGannon McGibbon2019-02-181-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In AttributeMethodsTest, we make the global Topic class time zone-aware which changes instance date time attribute casting behaviour. We need to reset column info after the test because future tests don't expect Topic date time columns to be time zone-aware.
* | | | Merge pull request #35316 from abhaynikam/35304-add-delete_by_and_destroy_byRyuta Kamizono2019-02-194-1/+71
|\ \ \ \ | | | | | | | | | | | | | | | Introduce delete_by and destroy_by methods to ActiveRecord::Relation
| * | | | Introduce delete_by and destroy_by methods to ActiveRecord::RelationAbhay Nikam2019-02-194-1/+71
| | | | |
* | | | | Revert "Merge pull request #35324 from sharang-d/patch-2"Ryuta Kamizono2019-02-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6b69ae5149f03c2f81a795c085bce56ec18535ae, reversing changes made to 84bd9adafde36d0192849649b86ffcd4e59e5e11. Reason: We already use "happen" a lots for callbacks and validations. https://github.com/rails/rails/pull/35324#issuecomment-465096483 [ci skip]
* | | | | Merge pull request #35324 from sharang-d/patch-2Vipul A M2019-02-191-1/+1
|\ \ \ \ \ | |/ / / / |/| | | | Update active_record_callbacks.md [ci skip]
| * | | | Update active_record_callbacks.md [ci skip]Sharang Dashputre2019-02-191-1/+1
|/ / / / | | | | | | | | | | | | Change 'happen' to a more technical term
* | | | Merge pull request #35310 from kamipo/dont_allow_invalid_value_matches_to_nilRyuta Kamizono2019-02-195-8/+22
|\ \ \ \ | | | | | | | | | | Don't allow `where` with invalid value matches to nil values
| * | | | Don't allow `where` with invalid value matches to nil valuesRyuta Kamizono2019-02-185-8/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That is considered as silently leaking information. If type casting doesn't return any actual value, it should not be matched to any record. Fixes #33624. Closes #33946.
* | | | | Delete documentation inconsistency 'finally' for AR callbacks [ci skip] ↵Shodai Suzuki2019-02-192-2/+2
| | | | | | | | | | | | | | | | | | | | (#35303)
* | | | | Add combining callback conditions [skip ci] (#35313)Shodai Suzuki2019-02-191-0/+14
| |/ / / |/| | |
* | | | Merge pull request #35318 from alkesh26/actionpack-typo-fixRyuta Kamizono2019-02-191-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Actionpack typo fix [ci skip]
| * | | | appropriate typo fixalkesh262019-02-191-1/+1
| |/ / /
* / / / Fix preparing the configured Action Mailbox ingress in productionGeorge Claghorn2019-02-181-6/+4
|/ / / | | | | | | | | | When reloading is disabled, after_initialize hooks run after to_prepare hooks have already run for the last time. Since to_prepare hooks always run after application initializers, we don't need need to use an after_initialize hook.
* | | Merge pull request #29651 from Sayanc93/return-correct-dateRyuta Kamizono2019-02-183-2/+30
|\ \ \ | | | | | | | | | | | | Return correct date in ActiveModel for time to date conversions
| * | | Return correct date in ActiveModel for time to date conversionsSayan Chakraborty2017-12-173-2/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | time.to_date conversion happens considering leap years so a conversion of "Day.new({'day(1i)'=>'1', 'day(2i)'=>'1', 'day(3i)'=>'1'})" results in saving the date as Mon, 03 Jan 0001 which might seem weird on the user level, hence falling back to parsing on string level resolves this data mismatch Fixes #28521
* | | | Extract duplicated `serialize` methods into helpersRyuta Kamizono2019-02-189-21/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since `serialize` is passed user input args (from `where`, schema default, etc), a helper should provide `serialize` if the helper also provide `cast`. Related #32624, 34cc301, a741208.
* | | | Remove duplicated `test_update_all_with_order_and_limit`Ryuta Kamizono2019-02-181-6/+0
| | | | | | | | | | | | | | | | | | | | This is covered by `test_update_all_with_order_and_limit_updates_subset_only` and `test_update_all_with_order_and_limit_and_offset_updates_subset_only`.
* | | | Fix type cast with values hash for Date typeRyuta Kamizono2019-02-187-13/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `value_from_multiparameter_assignment` defined by `AcceptsMultiparameterTime` helper requires `default_timezone` method which is defined at `TimeValue` helper. Since `Date` type doesn't include `TimeValue`, I've extracted `Timezone` helper to be shared by `Date`, `DateTime`, and `Time` types.
* | | | upgrades Zeitwerk to 1.2.0Xavier Noria2019-02-172-3/+3
| | | |
* | | | Use placeholder for `type_condition` predicateRyuta Kamizono2019-02-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before: ``` SELECT "comments".* FROM "comments" WHERE "comments"."type" IN ('VerySpecialComment') AND "comments"."post_id" = ? LIMIT ? [["post_id", 4], ["LIMIT", 1]] ``` After: ``` SELECT "comments".* FROM "comments" WHERE "comments"."type" = ? AND "comments"."post_id" = ? LIMIT ? [["type", "VerySpecialComment"], ["post_id", 4], ["LIMIT", 1]] ```
* | | | Fix eager loading polymorphic association with mixed table conditionsRyuta Kamizono2019-02-186-26/+43
| | | | | | | | | | | | | | | | | | | | | | | | This fixes a bug that the `foreign_key` and the `foreign_type` are separated as different table conditions if a polymorphic association has a scope that joins another tables.
* | | | Add edge test cases for integer and string typesRyuta Kamizono2019-02-172-0/+15
| | | |
* | | | Merge pull request #35302 from yhirano55/auto_correct_rubocop_offensesRyuta Kamizono2019-02-172-12/+12
|\ \ \ \ | | | | | | | | | | Auto correct rubocop offenses
| * | | | Auto correct rubocop offensesYoshiyuki Hirano2019-02-172-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Offenses: railties/lib/rails/autoloaders.rb:1:1: C: [Corrected] Style/FrozenStringLiteralComment: Missing magic comment # frozen_string_literal: true. module Rails ^ actionmailer/test/base_test.rb:917:1: C: [Corrected] Layout/EmptyLinesAroundBlockBody: Extra empty line detected at block body beginning. actionmailer/test/base_test.rb:917:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected. actionmailer/test/base_test.rb:917:5: C: [Corrected] Style/RedundantBegin: Redundant begin block detected. begin ^^^^^ actionmailer/test/base_test.rb:918:3: C: [Corrected] Layout/IndentationWidth: Use 2 (not 4) spaces for indentation. events = [] ^^^^ actionmailer/test/base_test.rb:930:1: C: [Corrected] Layout/EmptyLinesAroundBlockBody: Extra empty line detected at block body end. actionmailer/test/base_test.rb:930:1: C: [Corrected] Layout/TrailingWhitespace: Trailing whitespace detected.
* | | | | Merge pull request #35274 from AlexBrodianoi/fix_does_not_support_reverseRyuta Kamizono2019-02-172-1/+10
|\ \ \ \ \ | | | | | | | | | | | | Raise ActiveRecord::IrreversibleOrderError if nulls first/last is not a single ordering argument.
| * | | | | Raise ActiveRecord::IrreversibleOrderError if nulls first/last is not a ↵Finn Young2019-02-172-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | single ordering argument.
* | | | | | Fix `order` with custom attributesRyuta Kamizono2019-02-174-4/+21
| | | | | | | | | | | | | | | | | | | | | | | | This follows up 0ee96d13de29680e148ccb8e5b68025f29fd091c.
* | | | | | Merge pull request #35299 from kamipo/fix_mismatched_foreign_keyRyuta Kamizono2019-02-173-23/+115
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Fix the regex that extract mismatched foreign key information
| * | | | | | Fix the regex that extract mismatched foreign key informationRyuta Kamizono2019-02-173-23/+115
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CI failure for `test_errors_for_bigint_fks_on_integer_pk_table` is due to the poor regex that extract all ``` `(\w+)` ``` like parts from the message (`:foreign_key` should be `"old_car_id"`, but `"engines"`): https://travis-ci.org/rails/rails/jobs/494123455#L1703 I've improved the regex more strictly and have more exercised mismatched foreign key tests. Fixes #35294
* | | | | | Merge pull request #35297 from yhara/fix-ar-connection-handler-leakRyuta Kamizono2019-02-161-7/+11
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | Fix possible memory leak of ConnectionHandler
| * | | | | Fix possible memory leak of ConnectionHandlerYutaka HARA2019-02-161-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | refs #35296
* | | | | | Merge pull request #35281 from ↵Aaron Patterson2019-02-152-5/+16
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | y-yagi/show_deprecated_message_instead_of_raise_exception Show deprecated message instead of raise exception in `compiled_method_container` method
| * | | | | | Show deprecated message instead of raise exception in ↵yuuji.yaginuma2019-02-162-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `compiled_method_container` method Since #35036, the subclasses of `ActionView::Base` requires the `compiled_method_container`. This is incompatible. For example, `web-console` use view class that subclass of `ActionView::Base`, and does not work it now cause of this. Actually, since it seems that it is only `ActionView::Base` that `compiled_method_container` is necessary, modified the condition that emits a warning.
* | | | | | | Remove `NoForeignKeySupportTest` which is no longer reachedRyuta Kamizono2019-02-162-46/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since #35212, foreign key feature is supported by all adapters.
* | | | | | | Refactor `remove_foreign_key` to delete the foreign key before `alter_table`Ryuta Kamizono2019-02-161-4/+2
| |/ / / / / |/| | | | |