aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/test
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Merge pull request #7826 from sikachu/master-validators-kind"Rafael Mendonça França2012-10-021-8/+0
| | | | | | | | | | | | | | | | This reverts commit 4e9f53f9736544f070e75e516c71137b7eb49a7a, reversing changes made to 6b802cdb4f5b84e1bf49aaeb0e994b3be6028af9. Revert "Don't use tap in this case." This reverts commit 454d820bf0a18fe1db4c55b0145197d70fef1f82. Reason: Is not a good idea to add options to this method since we can do the same thing using method composition. Person.validators_on(:name).select { |v| v.kind == :presence } Also it avoids to change the method again to add more options.
* Make `.validators_on` accept `:kind` optionPrem Sichanugrist2012-10-021-0/+8
| | | | | This will filter out the validators on a particular attribute based on its kind.
* attr_accessible and attr_protected raise an exception pointing to use plugin ↵Guillermo Iguaran2012-09-162-0/+19
| | | | or new protection model
* Don't use assert_nothing_raised when assert_equal is usedGuillermo Iguaran2012-09-161-8/+2
|
* Rename ForbiddenAttributes exception to ForbiddenAttributesErrorGuillermo Iguaran2012-09-161-1/+1
|
* Change AMo::ForbiddenAttributesProtection tests to use a subclass of Hash ↵Guillermo Iguaran2012-09-161-8/+18
| | | | instead of monkey patch permitted? method in regular hashes
* Remove MassAssignmentSecurity from ActiveModelGuillermo Iguaran2012-09-1611-347/+11
| | | | This will be moved out to protected_attributes gem
* Integrate ActiveModel::ForbiddenAttributesProtection from StrongParameters gemGuillermo Iguaran2012-09-162-0/+39
|
* Update Active Model xml serialization test to reflect a change in builderCarlos Antonio da Silva2012-09-071-1/+1
| | | | | | | | | | | | | | Due to a change in builder, nil values and empty strings now generates closed tags, so instead of this: <pseudonyms nil=\"true\"></pseudonyms> It generates this: <pseudonyms nil=\"true\"/> Document this change in Rails so that people can track it down easily if necessary.
* Fix method redefined warnings.kennyj2012-08-292-0/+6
|
* Accept a symbol for `:in` option on inclusion and exclusion validatorsGabriel Sobrinho2012-08-242-0/+44
|
* Fix ActiveModel tests that depend on run orderFrancesco Rodriguez2012-08-231-6/+4
|
* Merge pull request #7024 from bogdan/strict_validation_custom_exceptionRafael Mendonça França2012-08-161-0/+9
|\ | | | | | | | | | | | | AM::Validation#validates: custom exception for :strict option Conflicts: activemodel/CHANGELOG.md
| * AM::Validation#validates: ability to pass custom exception to `:strict` optionBogdan Gusiev2012-08-061-0/+9
| |
* | Following the false issue reporting I did here : ↵Anthony2012-08-131-1/+37
|/ | | | | | | | | | | https://github.com/rails/rails/issues/6958 - Enable propagation of :skip_types, :dasherize and :camelize on included models by default - Adding the option to override this propagation on a per-include basis (:include => { :model => { :dasherize => false } } - Enough tests to prove it works - Updated activemodel CHANGELOG.md Squashed my commits
* load active_support/core_ext/object/inclusion in active_support/railsXavier Noria2012-08-021-1/+0
|
* has_secure_password should not raise a 'digest missing' error if the calling ↵Robby Grossman2012-07-312-0/+19
| | | | class has specified for validations to be skipped.
* fix typo in callbacks testAccessd2012-07-241-2/+2
|
* Don't pass `:within` option to the i18nRafael Mendonça França2012-07-201-0/+22
|
* `validates_inclusion_of` and `validates_exclusion_of` now acceptRafael Mendonça França2012-07-202-0/+20
| | | | | | `:within` option as alias of `:in` as documented. Fix #7118
* Merge pull request #6800 from mschneider/dynamic_finders_for_aliased_attributesRafael Mendonça França2012-06-221-0/+9
|\ | | | | Dynamic finders for aliased attributes
| * made dynamic finders alias_attribute awareMaximilian Schneider2012-06-221-0/+9
| | | | | | | | | | previously dynamic finders only worked in combination with the actual column name and not its alias defined with #alias_attribute
* | Add some coverage for AR serialization with serializable_hashCarlos Antonio da Silva2012-06-221-1/+1
|/ | | | | | ActiveRecord json/xml serialization should use as base serializable_hash, provided by ActiveModel. Add some more coverage around options :only and :except for both json and xml serialization.
* Simplify AR configuration code.Jon Leighton2012-06-151-154/+0
| | | | | Get rid of ActiveModel::Configuration, make better use of ActiveSupport::Concern + class_attribute, etc.
* prevent users from unknowingly using bad regexps that can compromise ↵MrBrdo2012-06-142-6/+16
| | | | security (http://homakov.blogspot.co.uk/2012/05/saferweb-injects-in-various-ruby.html)
* Merge pull request #6668 from pomnikita/masterPiotr Sarnacki2012-06-081-0/+6
|\ | | | | Compact array of values added to PermissionSet instance
| * Compact array of values added to PermissionSet instanceNikita Pomyashchiy2012-06-081-0/+6
| |
* | change AMS::JSON.include_root_in_json default value to falseFrancesco Rodriguez2012-06-061-50/+40
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes: * Update `include_root_in_json` default value to false for default value to false for `ActiveModel::Serializers::JSON`. * Remove unnecessary change to include_root_in_json option in wrap_parameters template. * Update `as_json` documentation. * Fix JSONSerialization tests. Problem: It's confusing that AM serializers behave differently from AR, even when AR objects include AM serializers module. class User < ActiveRecord::Base; end class Person include ActiveModel::Model include ActiveModel::AttributeMethods include ActiveModel::Serializers::JSON attr_accessor :name, :age def attributes instance_values end end user.as_json => {"id"=>1, "name"=>"Konata Izumi", "age"=>16, "awesome"=>true} # root is not included person.as_json => {"person"=>{"name"=>"Francesco", "age"=>22}} # root is included ActiveRecord::Base.include_root_in_json => false Person.include_root_in_json => true # different default values for include_root_in_json Proposal: Change the default value of AM serializers to false, update the misleading documentation and remove unnecessary change to false of include_root_in_json option with AR objects. class User < ActiveRecord::Base; end class Person include ActiveModel::Model include ActiveModel::AttributeMethods include ActiveModel::Serializers::JSON attr_accessor :name, :age def attributes instance_values end end user.as_json => {"id"=>1, "name"=>"Konata Izumi", "age"=>16, "awesome"=>true} # root is not included person.as_json => {"name"=>"Francesco", "age"=>22} # root is not included ActiveRecord::Base.include_root_in_json => false Person.include_root_in_json => false # same behaviour, more consistent Fixes #6578.
* Merge pull request #5843 from ↵José Valim2012-05-291-0/+5
|\ | | | | | | | | kuroda/translation_of_deeply_nested_model_attributes Fix human attribute_name to handle deeply nested attributes
| * Fix human attribute_name to handle deeply nested attributesTsutomu Kuroda2012-05-161-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | When a model nests another model that also nests yet another model using accepts_nested_attributes_for method, its Errors object can have an attribute name with "contacts.addresses.street" style. In this case, the dots within the namespace should be substituted with slashes so that we can provide the translation under the "activemodel.attributes.person/contacts/addresses.street" key. This commit is related to #3859.
* | Don't enable validations when passing false hash values to ActiveModel.validatesSteve Purcell2012-05-281-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Passing a falsey option value for a validator currently causes that validator to be enabled, just like "true": ActiveModel.validates :foo, :presence => false This is rather counterintuitive, and makes it inconvenient to wrap `validates` in methods which may conditionally enable different validators. As an example, one is currently forced to write: def has_slug(source_field, options={:unique => true}) slugger = Proc.new { |r| r[:slug] = self.class.sluggify(r[source_field]) if r[:slug].blank? } before_validation slugger validations = { :presence => true, :slug => true } if options[:unique] validations[:uniqueness] = true end validates :slug, validations end because the following reasonable-looking alternative fails to work as expected: def has_slug(source_field, options={:unique => true}) slugger = Proc.new { |r| r[:slug] = self.class.sluggify(r[source_field]) if r[:slug].blank? } before_validation slugger validates :slug, :presence => true, :slug => true, :uniqueness => options[:unique] end (This commit includes a test, and all activemodel and activerecord tests pass as before.)
* | Merge pull request #4785 from ↵José Valim2012-05-251-0/+22
|\ \ | | | | | | | | | | | | ayamomiji/add-self-to-allow-method-name-using-ruby-keyword add `self.` to allow method name using ruby keyword
| * | fix `alias_attribute` will raise a syntax error if make an alias on aayaya2012-05-141-0/+22
| | | | | | | | | | | | column that named as a ruby keyword
* | | changed xml type datetime to dateTime, fixes #6328Angelo capilleri2012-05-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | XmlMini define the xml 'datatime', but according to http://www.w3.org/TR/xmlschema-2/#dateTime could be better change this to 'dateTime' with upper case letter 'T. So 'DateTime' and 'Time' are redefined from 'datetime' to 'dateTime' add the changing to the changelog
* | | Merge pull request #6215 from erichmenge/fix_has_secure_passwordAaron Patterson2012-05-174-10/+33
|\ \ \ | | | | | | | | Fix has secure password
| * | | Updated tests for has_secure_password.Erich Menge2012-05-084-10/+33
| |/ /
* | / Improve logging of ActiveModel::MassAssignmentSecurity::SanitizerNaoto Takai2012-05-172-5/+5
| |/ |/|
* | Kill whitespaces :scissors:Carlos Antonio da Silva2012-05-151-1/+1
| |
* | Merge pull request #6284 from acapilleri/dup_validationCarlos Antonio da Silva2012-05-151-0/+15
|\ \ | | | | | | clean the erros if an object that includes validation is duped.
| * | clean the erros if an object that includes validations errors is duped. ↵Angelo Capilleri2012-05-131-0/+15
| | | | | | | | | | | | Fixes #5953
* | | updating define_attribute_methods documentationFrancesco Rodriguez2012-05-141-1/+1
| | |
* | | allow define_attribute_methods to pass multiple valuesFrancesco Rodriguez2012-05-141-6/+13
|/ /
* | Remove useless load path modificationsSantiago Pastorino2012-05-111-3/+0
| |
* | Use respond_to?(:to_ary) rather than is_a?(Enumerable) to detect ↵Jon Leighton2012-05-112-0/+35
|/ | | | collection-thing.
* notify_observers should be publicMarc-Andre Lafortune2012-04-301-2/+9
|
* Merge pull request #6063 from marcandre/observer_extra_argsAaron Patterson2012-04-301-2/+9
|\ | | | | Allow extra arguments for Observers
| * Allow extra arguments for ObserversMarc-Andre Lafortune2012-04-301-2/+9
| |
* | build fix for observing_test.rbArun Agrawal2012-04-301-1/+1
| | | | | | introduced here 17c990b153f8635874c006a7460ee95817543fc1
* | Merge pull request #6072 from marcandre/observer_simplify_testSantiago Pastorino2012-04-301-11/+4
|\ \ | | | | | | Observer: simplify tests
| * | Observer: simplify testsMarc-Andre Lafortune2012-04-291-11/+4
| |/