| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| | |
Always assume strings with non-numeric characters change numeric types
|
| |
| |
| |
| |
| |
| |
| |
| | |
We previously only did this if the old value was zero, to make sure
numericality validations run and failed if the user gave 'wibble' as the
value, which would be type cast to 0. However, numericality validations
will fail if there are any non-numeric characters in the string, so 5 ->
'5wibble' should also be marked as changed.
|
|/
|
|
|
| |
We still had one file using `column_for_attribute` when it could return
nil, causing deprecation warnings in the tests.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Adding `# :nodoc:` to the parent `class` / `module` is not going
to ignore nested classes or modules.
There is a modifier `# :nodoc: all` but sadly the containing class
or module will continue to be in the docs.
/cc @sgrif
|
|\
| |
| | |
Remove unused params
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Revert #15502, and add a deprecation warning instead.
|
| |/
| |
| |
| |
| |
| | |
This is public API, and `simple_form` depends on the `nil` return value.
We need to go through a deprecation cycle to return a null object. If
people want hash access, they can access the hash.
|
|/ |
|
|\
| |
| | |
Remove unneeded `@column_types` instance variable
|
| |
| |
| |
| | |
This was used more previously, but other uses have been removed.
|
| |
| |
| |
| | |
/cc @sgrif
|
|\ \
| |/
|/| |
Remove old deprecation warning
|
| |
| |
| |
| |
| | |
This has been around for a couple of versions now, a `NoMethodError`
should suffice at this point.
|
|\ \
| | |
| | | |
Add missing test cases for `attribute_names` instance method
|
| |/
| |
| |
| |
| | |
There is a class method with the same name that is tested, but not the
instance method.
|
|/
|
|
|
|
| |
`reload` is meant to put a record in the same state it would be if you
were to do `Post.find(post.id)`. This means we should fully replace the
attributes hash.
|
|\
| |
| | |
Return a null object from `AttributeSet#[]`
|
| | |
|
|\ \
| | |
| | | |
Move `attributes` to the `AttributeSet` object.
|
| |/ |
|
|/ |
|
|
|
|
|
| |
The :singleton-method: directive is printed in the docs.
This directive is not necessary as the method is documentable just fine.
|
|\
| |
| |
| |
| |
| |
| |
| | |
Don't save through records twice
Conflicts:
activerecord/CHANGELOG.md
activerecord/test/cases/associations/has_many_through_associations_test.rb
|
| |
| |
| |
| |
| |
| |
| | |
If the through record gets created in an `after_create` hook that is
defined before the association is defined (therefore after its
`after_create` hook) get saved twice. This ensures that the through
records are created only once, regardless of the order of the hooks.
|
|\ \
| | |
| | | |
Always update counter caches in memory when adding records
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Before, calling `size` would only work if it skipped the cache, and
would return a different result from the cache, but only if:
- The association was previously loaded
- Or you called size previously
- But only if the size was 0 when you called it
This ensures that the counter is appropriately updated in memory.
|
|\ \ \
| | | |
| | | | |
Don't use `Column` for type casting in Relation calculations
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Don't use column object when calculating type cast defaults
|
| |/ / /
| | | |
| | | |
| | | | |
Moves towards removing type casting knowledge from the column entirely
|
|\ \ \ \
| | | | |
| | | | | |
Don't use column object for type casting in `quoting`
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We're never going to be able to use the attribute object here, however,
so let's just accept the ugly demeter violation here for now.
Remove test cases which were either redundant with other tests in the
file, or were actually testing the type objects (which are tested
elsewhere)
|
|\ \ \ \
| | | | |
| | | | | |
Don't rely on the column for type casting reflections
|
| |/ / / |
|
|\ \ \ \
| | | | |
| | | | | |
Further simplify `changed?` conditional for numeric types
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
`Type::Integer.new.type_cast('') # => nil`, we do not need a special
case to handle this, `nil => ''` already returns false. The only case we
need to handle is `0 => 'wibble'` should be changed, while `0 => '0'`
should not.
|
|\ \ \ \
| | | | |
| | | | | |
Introduce an object to aid in creation and management of `@attributes`
|
| |/ / /
| | | |
| | | |
| | | |
| | | | |
Mostly delegation to start, but we can start moving a lot of behavior in
bulk to this object.
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Don't include inheritance column in the through_scope_attributes
|
| | |_|/
| |/| | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
namespaced model
Now the following case will work fine
class Tag < ActiveRecord::Base
end
class Publisher::Article < ActiveRecord::Base
has_and_belongs_to_many :tags
end
Fixes #15761
|
| |/ /
|/| | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Don't type cast the default on the column
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If we want to have type decorators mess with the attribute, but not the
column, we need to stop type casting on the column. Where possible, we
changed the tests to test the value of `column_defaults`, which is
public API. `Column#default` is not.
|