aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/lib/active_model
Commit message (Collapse)AuthorAgeFilesLines
* Removed non-standard and unused require 'active_support/deprecation' from ↵Vipul A M2015-02-271-1/+0
| | | | parts out of active_support.
* activemodel: make .model_name json encodableIan Ker-Seymer2015-02-241-1/+1
| | | | | | Previously, calling `User.model_name.to_json` would result in an infinite recursion as `.model_name` inherited its `.as_json` behavior from Object. This patch fixes that unexpected behavior by delegating `.as_json` to :name.
* Change the deprecation messages to show the preferred way to work withRafael Mendonça França2015-02-202-7/+7
| | | | ActiveModel::Errors
* Move the `validate!` method to `ActiveModel::Validations`.Lucas Mazza2015-02-202-0/+34
|
* Merge pull request #17144 from skojin/patch-doc-validation-format-z-regexpRafael Mendonça França2015-02-201-1/+1
|\ | | | | fix mistype in doc about \z regexp
| * fix mistype in doc about \z regexpSergey Kojin2014-10-021-1/+1
| | | | | | | | replace \Z with regular \z
* | use `messages` instead of deprecated `ActiveModel::Errors#[]=` method [ci skip]yuuji.yaginuma2015-02-201-1/+1
| |
* | Merge pull request #18996 from morgoth/deprecate-more-errors-methodsYves Senn2015-02-191-0/+16
|\ \ | | | | | | | | | Deprecate `ActiveModel::Errors` `add_on_empty` and `add_on_blank` methods
| * | Deprecate `ActiveModel::Errors` `add_on_empty` and `add_on_blank` methodsWojciech Wnętrzak2015-02-191-0/+14
|/ / | | | | | | without replacement.
* | Merge pull request #18634 from morgoth/deprecate-some-errors-methodsRafael Mendonça França2015-02-181-9/+28
|\ \ | | | | | | | | | Deprecate `ActiveModel::Errors` `get`, `set` and `[]=` methods.
| * | Deprecate `ActiveModel::Errors` `get`, `set` and `[]=` methods.Wojciech Wnętrzak2015-02-011-9/+28
| | | | | | | | | | | | They have inconsistent behaviour currently.
* | | Tiny documentation edits [ci skip]Robin Dupret2015-02-151-4/+6
| | |
* | | Merge branch 'master' of github.com:rails/docrailsVijay Dev2015-02-142-9/+10
|\ \ \
| * | | AM#Dirty doc fixesVipul A M2015-02-011-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | - Grammar fixes - Add doc for changes_include? - implemntations => implementations
| * | | Fix description for AM::CallbacksVipul A M2015-01-311-1/+1
| | | |
* | | | Merge pull request #16381 from kakipo/validate-length-tokenizerRafael Mendonça França2015-02-131-7/+11
|\ \ \ \ | | | | | | | | | | | | | | | Allow symbol as values for `tokenizer` of `LengthValidator`
| * | | | Allow symbol as values for `tokenize` of `LengthValidator`kakipo2014-08-031-7/+11
| | | | |
* | | | | Merge pull request #18388 from claudiob/better-docs-for-active-model-lint-testsRafael Mendonça França2015-02-061-28/+32
|\ \ \ \ \ | | | | | | | | | | | | Better docs for AM::Lint::Tests
| * | | | | Better docs for AM::Lint::Testsclaudiob2015-01-071-28/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit changes the original documentation of ActiveModel::Lint::Tests introduced in dbf20c2d to focus less on *why* the tests exist and more on *what* the tests do. For instance, `test_to_key` was documented as: > Returns an Enumerable of all (primary) key attributes... whereas `test_to_key` is simply a test meant to *fail* or *pass*, and the documentation above refers to `to_key`. [ci skip]
* | | | | | revises AM:Dirty example [Godfrey Chan & Xavier Noria]Xavier Noria2015-02-061-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing example seems somewhat forced: is it realistic to have a model that accepts state in its initializer but considers it has not been changed? By allowing state changes to happen only via accessors it seems more natural that new instances are considered to be unchanged (as they are in AR). [ci skip]
* | | | | | use parentheses here, for the beard of the Prophet! [ci skip]Xavier Noria2015-02-061-1/+1
| | | | | |
* | | | | | applies guidelines to dirty.rb [ci skip]Xavier Noria2015-02-061-11/+11
| | | | | |
* | | | | | Wrap method arguments with parentheses in docsCarlos Antonio da Silva2015-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | As per Rails general coding conventions. Related to #18794 [ci skip]
* | | | | | Person class doesn't contain finder methods, hence usage of Person.find_by ↵Vipul A M2015-02-031-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | is wrong. Added simple initialize and made use of Person.new instead of Person.find_by to clarify the docs. [ci skip]
* | | | | | Fix validations on child record when record parent has validate: falseeileencodes2015-02-011-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #17621. This 5 year old (or older) issue causes validations to fire when a parent record has `validate: false` option and a child record is saved. It's not the responsibility of the model to validate an associated object unless the object was created or modified by the parent. Clean up tests related to validations `assert_nothing_raised` is not benefiting us in these tests Corrected spelling of "respects" It's better to use `assert_not_operator` over `assert !r.valid`
* | | | | | Move required error message and changelog to Active RecordCarlos Antonio da Silva2015-02-011-2/+1
| |_|_|/ / |/| | | | | | | | | | | | | | | | | | | The new association error belongs to Active Record, not Active Model. See #18700 for reference.
* | | | | Provide a better error message on :required associationHenrik Nygren2015-01-281-0/+1
| | | | | | | | | | | | | | | | | | | | Fixes #18696.
* | | | | Merge pull request #18670 from morgoth/fix-duplicating-errors-detailsYves Senn2015-01-241-1/+2
|\ \ \ \ \ | | | | | | | | | | | | Fixed duplicating ActiveModel::Errors#details
| * | | | | Fixed duplicating ActiveModel::Errors#detailsWojciech Wnętrzak2015-01-241-1/+2
| | | | | |
* | | | | | use attribute assignment module logic during active model initializationEugene Gilburg2015-01-231-4/+3
|/ / / / /
* | | | | ✂️ and 💅 for #10776Sean Griffin2015-01-231-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Minor style changes across the board. Changed an alias to an explicit method declaration, since the alias will not be documented otherwise.
* | | | | Extracted `ActiveRecord::AttributeAssignment` to ↵Bogdan Gusiev2015-01-231-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `ActiveModel::AttributesAssignment` Allows to use it for any object as an includable module.
* | | | | Merge pull request #18322 from morgoth/add-error-codesRafael Mendonça França2015-01-211-20/+37
|\ \ \ \ \ | | | | | | | | | | | | Add ActiveModel::Errors#codes
| * | | | | Add ActiveModel::Errors#detailsWojciech Wnętrzak2015-01-201-20/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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}]} ```
* | | | | | Add missing AS core extension dependencyWojciech Wnętrzak2015-01-211-0/+1
|/ / / / /
* | | / / Don't calculate in-place changes on attribute assignmentSean Griffin2015-01-181-0/+1
| |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an attribute is assigned, we determine if it was already marked as changed so we can determine if we need to clear the changes, or mark it as changed. Since this only affects the `attributes_changed_by_setter` hash, in-place changes are irrelevant to this process. Since calculating in-place changes can be expensive, we can just skip it here. I also added a test for the only edge case I could think of that would be affected by this change.
* | | | Merge pull request #18439 from mokhan/validates-acceptance-of-arraySean Griffin2015-01-121-2/+6
|\ \ \ \ | | | | | | | | | | allow '1' or true for acceptance validation.
| * | | | allow '1' or true for acceptance validation.mo khan2015-01-101-2/+6
| | | | |
* | | | | Fix error messages scope [skip ci]Anton Davydov2015-01-121-2/+2
|/ / / /
* / / / Remove attributes_protected_by_default reference, since ↵robertomiranda2015-01-091-7/+0
|/ / / | | | | | | | | | MassAssignmentSecurity was removed from ActiveModel f8c9a4d3e88181
* | | removing unecessary parameter in private methodGeorge Millo2015-01-061-2/+2
| | | | | | | | | | | | '_singularize' only ever gets called with one argument
* | | Remove unneeded requiresRafael Mendonça França2015-01-041-1/+0
| | | | | | | | | | | | These requires were added only to change deprecation message
* | | Remove deprecated `ActiveModel::Dirty#reset_#{attribute}` and ↵Rafael Mendonça França2015-01-041-20/+0
| | | | | | | | | | | | `ActiveModel::Dirty#reset_changes`.
* | | Merge pull request #17227 from claudiob/explicitly-abort-callbacksRafael Mendonça França2015-01-032-5/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Introduce explicit way of halting callback chains by throwing :abort. Deprecate current implicit behavior of halting callback chains by returning `false` in apps ported to Rails 5.0. Completely remove that behavior in brand new Rails 5.0 apps. Conflicts: railties/CHANGELOG.md
| * | | Deprecate `false` as the way to halt AM callbacksclaudiob2015-01-021-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)`.
| * | | Deprecate `false` as the way to halt AM validation callbacksclaudiob2015-01-021-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)`.
| * | | Throw :abort halts default CallbackChainsclaudiob2015-01-022-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit changes arguments and default value of CallbackChain's :terminator option. After this commit, Chains of callbacks defined **without** an explicit `:terminator` option will be halted as soon as a `before_` callback throws `:abort`. Chains of callbacks defined **with** a `:terminator` option will maintain their existing behavior of halting as soon as a `before_` callback matches the terminator's expectation. For instance, ActiveModel's callbacks will still halt the chain when a `before_` callback returns `false`.
* | | | Merge branch 'master' of github.com:rails/docrailsVijay Dev2015-01-038-10/+10
|\ \ \ \ | |/ / / |/| | |
| * | | Use Active Model, not ActiveModel in plain Englishclaudiob2015-01-028-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Also prevents the word "Model" from linking to the documentation of ActiveModel::Model because that's not intended. [ci skip]
* | | | Use more semantic method to check passwordRohit Arondekar2014-12-301-1/+1
| | | |