- 17 7月, 2017 20 次提交
-
-
由 Sean Griffin 提交于
Between 4.2 and 5.0 the behavior of how multiparameter attributes interact with `_before_type_cast` changed. In 4.2 it returns the post-type-cast value. After 5.0, it returns the hash that gets sent to the type. This behavior is correct, but will cause an issue if you then tried to render that value in an input like `text_field` or `hidden_field`. In this case, we want those fields to use the post-type-cast form, instead of the `_before_type_cast` (the main reason it uses `_before_type_cast` at all is to avoid losing data when casting a non-numeric string to integer). I've opted to modify `came_from_user?` rather than introduce a new method for this as I want to avoid complicating that contract further, and technically the multiparameter hash didn't come from assignment, it was constructed internally by AR. Close #27888.
-
由 Sean Griffin 提交于
Add documentation for class_attribute default option
-
由 Sean Griffin 提交于
Remove useless `arel_engine`
-
由 Glauco Custódio 提交于
-
由 Sean Griffin 提交于
This change was introduced by #18109. The intent of that change was to specifically apply `unscoped`, not to allow all changes to `current_scope` to affect the join. The idea of allowing `current_scope` to affect joins is interesting and potentially more consistent, but has sever problems associated with it. The fact that we're specifically stripping out joins indicates one such problem (and potentially leads to invalid queries). Ultimately it's difficult to reason about what `Posts.joins(:users)` actually means if it's affected by `User.current_scope`, and it's difficult to specifically control what does or doesn't get added. If we were starting from scratch, I don't think I'd have `joins` be affected by `default_scope` either, but that's too big of a breaking change to make at this point. With this change, we no longer apply `current_scope` when bringing in joins, with the singular exception of the motivating use case which introduced this bug, which is providing a way to *opt-out* of having the default scope apply to joins. Fixes #29338.
-
由 Sean Griffin 提交于
Make the order of Hash#reverse_merge! consistent with HashWithIndifferentAccess
-
由 Sean Griffin 提交于
-
由 Ryuta Kamizono 提交于
`arel_engine` is only used in `raise_record_not_found_exception!` to use `engine.connection` (and `connection.visitor`) in `arel.where_sql`. https://github.com/rails/arel/blob/v8.0.0/lib/arel/select_manager.rb#L183 But `klass.connection` will work as expected even if not using `arel_engine` (described by `test_connection`). So `arel_engine` is no longer needed.
-
由 Matthew Draper 提交于
Enable `Layout/FirstParameterIndentation` cop
-
由 Kasper Timm Hansen 提交于
Set `RAILS_ENV` before load application file
-
由 Ryuta Kamizono 提交于
We have some indentation cops. But now there is a little inconsistent params indentations. Enable `Layout/FirstParameterIndentation` cop to prevent newly inconsistent indentation added and auto-correct to existing violations.
-
由 yuuji.yaginuma 提交于
Since #29725, load application file when `dbconsole` command is executed. However, if do not set `RAILS_ENV` before reading the application file, can not connect to the env specified in option, so added the setting of `RAILS_ENV`.
-
由 Matthew Draper 提交于
Use frozen string literal in activemodel/
-
由 Kasper Timm Hansen 提交于
Remove unused requires
-
由 Kasper Timm Hansen 提交于
Set `represent_boolean_as_integer` via `configuration`
-
由 Kasper Timm Hansen 提交于
Fix `create_with` with multiparameter attributes
-
由 Kasper Timm Hansen 提交于
Don't cache `scope_for_create`
-
由 Kasper Timm Hansen 提交于
Allow to pass a connection to the `dbconsole` command
-
由 Kasper Timm Hansen 提交于
-
由 Kir Shatrov 提交于
-
- 16 7月, 2017 20 次提交
-
-
由 Xavier Noria 提交于
-
由 Robin Dupret 提交于
[ci skip]
-
由 Ryuta Kamizono 提交于
Replace Erubis with Erubi in a part of guide [ci skip]
-
由 Koichi ITO 提交于
-
由 Robin Dupret 提交于
Running the `console` and `dbconsole` commands with a regular argument as the environment's name automatically expand it to match an existing environment (e.g. dev for development). This feature wasn't available using the `--environment` (a.k.a `-e`) option.
-
由 Robin Dupret 提交于
People should rather rely on the `-e` or `--environment` options to specify in which environment they want to work. This will allow us to specify the connection to pick as a regular argument in the future.
-
由 Robin Dupret 提交于
Since 0a4f6009, it's possible to specify a 3-level database configuration to gather connections by environment. The `dbconsole` command will try to look for a database configuration which points to the current environment but with such flavour, the environment key is flushed out so let's add the ability to specify the connection and pick `primary` by default to be consistent with Active Record.
-
由 Ryuta Kamizono 提交于
I investigated where `scope_for_create` is reused in tests with the following code: ```diff --- a/activerecord/lib/active_record/relation.rb +++ b/activerecord/lib/active_record/relation.rb @@ -590,6 +590,10 @@ def where_values_hash(relation_table_name = table_name) end def scope_for_create + if defined?(@scope_for_create) && @scope_for_create + puts caller + puts "defined" + end @scope_for_create ||= where_values_hash.merge!(create_with_value.stringify_keys) end ``` It was hit only `test_scope_for_create_is_cached`. This means that `scope_for_create` will not be reused in normal use cases. So we can remove caching `scope_for_create` to respect changing `where_clause` and `create_with_value`.
-
由 Ryuta Kamizono 提交于
-
由 yuuji.yaginuma 提交于
-
由 yuuji.yaginuma 提交于
-
由 Ryuta Kamizono 提交于
-
由 Kasper Timm Hansen 提交于
Remove unused `@last`, `@order_clause`, and `@join_dependency`
-
由 Kasper Timm Hansen 提交于
Fix `create_with` using both string and symbol
-
由 Ryuta Kamizono 提交于
Using `@last` and `@order_clause` was removed at 8bb52746 and 90d1524a. `@join_dependency` was added at b9599502 but it is unused in the first place.
-
由 Ryuta Kamizono 提交于
This is related with #27680. Since `where_values_hash` keys constructed by `where` are string, so we need `stringify_keys` to `create_with_value` before merging it.
-
由 Ryuta Kamizono 提交于
Because Arel is a private API and to describe `where_values_hash` keys constructed by `where` are string.
-
由 Kasper Timm Hansen 提交于
Do not generate unused components contents in `app:update` task
-
由 Kasper Timm Hansen 提交于
Remove blank lines in setup
-
由 yuuji.yaginuma 提交于
Currently, `app:update` generates all contents regardless of the component using in application. For example, even if not using Action Cable, `app:update` will generate a contents related to Action Cable. This is a little inconvenient. This PR checks the existence of the component and does not generate unnecessary contents. Can not check all options in this way. However, it will be able to prevent the generation of unnecessary files.
-