| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
|
|
|
| |
It's unintuitive to call '#valid?' when you want to run validations but
don't care about the return value.
The alias in ActiveRecord isn't strictly necessary (the ActiveModel
alias is still in effect), but it clarifies.
|
| |
|
|
|
|
| |
ActiveModel tests can now be run in random order.
|
|\
| |
| | |
Run ActiveModel test suites in random order.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This gets the whole ActiveModel test suites working even if
`self.i_suck_and_my_tests_are_order_dependent!` is disabled
in `ActiveSupport::TestCase`.
Two places are found that potentially leak global state. This patch
makes sure states are restored so that none of the changes happen in
a single test will be carried over to subsequence tests.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The four code samples that fail to run are:
- Add attribute magic to objects. Fixed by introducing a Person
instance variable.
- Tracking value changes. Fixed by replacing `attr_accessor` with
`define_attribute_methods`, providing getter and setter methods
for `name` and providing the missing `Person#save` method. A
call to `Person#save` has to precede the `person.name = 'robert'`
assignment, if we want `previous_changes` to include 'bob'.
- Adding `errors` interface to objects. Fixed by introducing a
Person instance variable, assigning `nil` to its name and calling
`Person#validate!`.
- Custom validators. Fixed by defining `HasNameValidator` before
it is used by `ValidatorPerson`.
All the code samples can now be run smoothly.
Call Dirty#changes_applied in Person#save, instead of modifying instance vars.
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This method return `Gem::Version.new(Rails.version)`, suggesting a more
reliable way to perform version comparison.
Example:
Rails.version #=> "4.1.2"
Rails.gem_version #=> #<Gem::Version "4.1.2">
Rails.version > "4.1.10" #=> false
Rails.gem_version > Gem::Version.new("4.1.10") #=> true
Gem::Requirement.new("~> 4.1.2") =~ Rails.gem_version #=> true
This was originally introduced as `.version` by @charliesome in #8501
but got reverted in #10002 since it was not backward compatible.
Also, updating template for `rake update_versions`.
|
|
|
|
|
|
|
|
| |
Now that Validator #setup is called from the initializer, we need a
reference to the model's class to be passed in to allow the validators
to continue functioning when used at the instance level.
Closes #14134.
|
|
|
|
|
| |
Goes along with fea1cdcff4d50d302d8e8532432c3ab107ff816d and
59ec4562a2e70df455b2e44a67c340fa5254e26e.
|
|
|
|
| |
We should not rely on to_s to return the name of the class
|
| |
|
|
|
|
| |
Remove 4-1 related entries from master [ci skip]
|
| |
|
|\
| |
| |
| |
| |
| | |
Conflicts:
actionview/CHANGELOG.md
activerecord/CHANGELOG.md
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The documentation of `#to_key` (http://api.rubyonrails.org/classes/ActiveModel/Conversion.html#method-i-to_key)
states that it returns `nil` if there are no key attributes. `to_param` needs
to be aware of that fact and return `nil` as well.
Previously it raised the following exception:
```
1) Error:
ConversionTest#test_to_param_returns_nil_if_to_key_is_nil:
NoMethodError: undefined method `join' for nil:NilClass
/Users/senny/Projects/rails/activemodel/lib/active_model/conversion.rb:65:in `to_param'
/Users/senny/Projects/rails/activemodel/test/cases/conversion_test.rb:34:in `block in <class:ConversionTest>'
```
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Example:
validates_presence_of :name, on: [:update, :custom_validation_context]
|
| |
| |
| |
| |
| |
| | |
& Xavier Noria]
Closes #11247.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
docs)
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
From the doc, this method should return false and not nil if there is no errors for this key
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Before this patch after the changes are applied the changes can be only
accessed using string keys, but before symbols are also accepted.
After this change every state of the model will be consistent.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Also improve changelog entries related to secure password to proper
highlight.
|
| | |
|
| | |
|
| | |
|
|\ \ |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Allows you to check if a field has changed to a particular value
|
| | | |
| | | |
| | | |
| | | | |
model.name_changed?(from: "Pete", to: "Ringo")
|
|\ \ \ \
| | | | |
| | | | | |
Adding missing backslashes in active_model files so as to avoid unwanted [ci skip]
|
| | | | |
| | | | |
| | | | |
| | | | | |
links in rdoc [ci skip]
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Updated documentation for Attribute Methods [ci skip]
|