| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\
| |
| |
| | |
Deprecate `ActiveModel::Errors` `get`, `set` and `[]=` methods.
|
| |
| |
| |
| | |
They have inconsistent behaviour currently.
|
|\ \
| | |
| | |
| | | |
Allow symbol as values for `tokenizer` of `LengthValidator`
|
| | | |
|
| |/
|/|
| |
| | |
onwards.
|
|\ \
| | |
| | | |
Fixed duplicating ActiveModel::Errors#details
|
| | | |
|
|/ / |
|
| |
| |
| |
| |
| | |
Minor style changes across the board. Changed an alias to an explicit
method declaration, since the alias will not be documented otherwise.
|
| |
| |
| |
| |
| |
| | |
`ActiveModel::AttributesAssignment`
Allows to use it for any object as an includable module.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
To be able to return type of validator, one can now call `details`
on Errors instance:
```ruby
class User < ActiveRecord::Base
validates :name, presence: true
end
```
```ruby
user = User.new; user.valid?; user.errors.details
=> {name: [{error: :blank}]}
```
|
|\ \
| | |
| | | |
allow '1' or true for acceptance validation.
|
| | | |
|
|\ \ \
| | | |
| | | | |
Add test for AM::Validation::Callbacks with :on
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
`before_validation` and `after_validation` from
ActiveModel::Validation::Callbacks accept an optional `:on` parameter
that was not previously documented or tested. For instance given
before_validation :do_something, on: :create
then `object.valid?(:create)` will invoke `:do_something` while
`object.valid?` or `object.valid?(:anything_else)` will not.
|
|/ /
| |
| |
| |
| |
| | |
The method was introduced in https://github.com/rails/rails/commit/66d0a0153578ce760d822580c5b8c0b726042ac2#diff-8cec05860729a3851ceb756f4dd90370R49
for the "reset_changes is deprecated" test, but this test was successively
removed in https://github.com/rails/rails/commit/37175a24bd508e2983247ec5d011d57df836c743
|
| |
| |
| |
| | |
`ActiveModel::Dirty#reset_changes`.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Before this commit, returning `false` in an ActiveModel `before_` callback
such as `before_create` would halt the callback chain.
After this commit, the behavior is deprecated: will still work until
the next release of Rails but will also display a deprecation warning.
The preferred way to halt a callback chain is to explicitly `throw(:abort)`.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Before this commit, returning `false` in an ActiveModel validation
callback such as `before_validation` would halt the callback chain.
After this commit, the behavior is deprecated: will still work until
the next release of Rails but will also display a deprecation warning.
The preferred way to halt a callback chain is to explicitly `throw(:abort)`.
|
| |
| |
| |
| | |
- Changed test to verify complete message instead of verifying if message contains text.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This stems from https://github.com/rails/rails/pull/17227#discussion_r21641358
It's simply a clarification of the current behavior by which if an
`after_` or `around_` ActiveModel callback returns +false+, then the callback
chain **is not halted**.
The callback chain in ActiveModel is only halted when a `before_`
callback returns `false`.
|
| |
| |
| |
| |
| |
| |
| |
| | |
This stems from https://github.com/rails/rails/pull/17227#discussion_r21641358
It's simply a clarification of the current behavior by which if an
`after_validation` ActiveModel callback returns +false+, then further
`after_` callbacks **are not halted**.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I'm not sure what's the use case for this, but apparently it broke some apps.
Since it was not the intended result from #16210 I fixed it to not raise an
exception anymore. However, I didn't add documentation for it because I don't
know if this should be officially supported without knowing how it's meant to
be used.
In general, validations should be side-effect-free (other than adding to the
error message to `@errors`). Order-dependent validations seems like a bad idea.
Fixes #18002
|
| | |
|
| |
| |
| |
| |
| | |
This file was required inside 'test/validators/namespace/email_validator.rb'
that's already required here. Therefore I removed the redundant required.
|
| |
| |
| |
| | |
Mirror Ruby's Hash#key?
|
| |
| |
| |
| | |
- Test case for https://github.com/rails/rails/pull/16851
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Goals:
1. Default to :random for newly generated applications
2. Default to :sorted for existing applications with a warning
3. Only show the warning once
4. Only show the warning if the app actually uses AS::TestCase
Fixes #16769
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We're seeing too many failures to believe otherwise.
This reverts commits bc116a55ca3dd9f63a1f1ca7ade3623885adcc57,
cbde413df3839e06dd14e3c220e9800af91e83ab,
bf0a67931dd8e58f6f878b9510ae818ae1f29a3a, and
2440933fe2c27b27bcafcd9019717800db2641aa.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Calling ActiveSupport::TestCase.i_suck_and_my_tests_are_order_dependent! in AS::TestCase makes
everyone's tests order dependent, which should never be done by the framework.
|
|/ |
|
|\
| |
| | |
remove unneeded test model for ActiveModel test cases.
|
| | |
|
|\ \
| | |
| | |
| | |
| | | |
Conflicts:
actionpack/test/abstract_unit.rb
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We are planning to remove mocha from our test suite because of
performance problems. To make this possible we should stop require mocha
on ActionSupport::TestCase.
This should not affect applications since users still need to add mocha
to Gemfile and this already load mocha.
Added FIXME notes to place that still need mocha removal
|
|\ \ \
| | | |
| | | |
| | | | |
Check for valid options in validate method
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This change prevents a certain class of user error which results when
mistakenly using the `validate` class method instead of the `validates`
class method.
Only apply when all arguments are symbols, because some validations use
the `validate` method and pass in additional options, namely the
`LenghValidator` via the `ActiveMode::Validations::validates_with`
method.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also make it accept a list of attributes to be changed. This will make
possible to restore only a subset of the changed attributes.
Closes #16203
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
These methods may cause confusion with the `reset_changes` that
behaves differently
of them.
Also rename undo_changes to restore_changes to match this new set of
methods.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
#clear_changes_information
This method name is causing confusion with the `reset_#{attribute}`
methods. While `reset_name` set the value of the name attribute for the
previous value the `reset_changes` only discard the changes and previous
changes.
|
| |
| |
| |
| | |
This is a follow up to #16024.
|
| |
| |
| |
| | |
ActiveModel::SecurePassword
|
| |
| |
| |
| | |
To avoid overload with database rollback
|
|\ \
| |/
|/|
| | |
Added rollback method to ActiveModel::Dirty
|
| | |
|
|\ \
| | |
| | | |
Allow proc and symbol as values for `only_integer` of `NumericalityValidator`
|