aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/test
Commit message (Collapse)AuthorAgeFilesLines
* Provide read_attribute_for_serialization as the API to serialize attributes.José Valim2011-09-301-3/+3
|
* Fixing `as_json` method for ActiveRecord models.Nicolás Hock Isaza2011-09-291-0/+10
| | | | | | | | | | | | | When you've got an AR Model and you override the `as_json` method, you should be able to add default options to the renderer, like this: class User < ActiveRecord::Base def as_json(options = {}) super(options.merge(:except => [:password_digest])) end end This was not possible before this commit. See the added test case.
* Make serializable_hash take attr values directly from attributes hash.Jon Leighton2011-09-261-0/+9
| | | | | | | | | | | | Previously, it would use send() to get the attribute. In Active Resource, this would rely on hitting method missing. If a method with the same name was defined further up the ancestor chain, that method would wrongly be called. This change fixes test_to_xml_with_private_method_name_as_attribute in activeresource/test/cases/base_test.rb, which was broken after 51bef9d8fb0b4da7a104425ab8545e9331387743, because that change made to_xml use serializable_hash.
* fixed a bug with the json serialization when the class setting is set to not ↵Matt Aimonetti2011-09-221-0/+10
| | | | include the root, but an instance is serialized with the root option passed as true
* to_xml should also rely on serializable hash.José Valim2011-09-181-0/+17
|
* Generate attribute method unless it's already in the module.Jon Leighton2011-09-141-0/+23
| | | | | | | There's no harm in generating a method name that's already defined on the host class, since we're generating the attribute methods in a module that gets included. In fact, this is desirable as it allows the host class to call super.
* Add an attribute_missing method to ActiveModel::AttributeMethods.Jon Leighton2011-09-131-0/+15
| | | | This can be overloaded by implementors if necessary.
* Let Ruby deal with method visibility.Jon Leighton2011-09-131-0/+36
| | | | | | Check respond_to_without_attributes? in method_missing. If there is any method that responds (even private), let super handle it and raise NoMethodError if necessary.
* Add deprecation for doing `attribute_method_suffix ''`Jon Leighton2011-09-131-6/+11
|
* Use an empty AttributeMethodMatcher by default.Jon Leighton2011-09-131-0/+17
| | | | | | This means that attribute methods which don't exist will get generated when define_attribute_methods is called, so we don't have to use hacks like `attribute_method_suffix ''`.
* Added test for obj.errors.as_jsonLawrence Pit2011-09-091-0/+11
|
* Add ability to get an individual full error message + test for full_messages.Lawrence Pit2011-09-091-2/+18
|
* add has_key? to ActiveModel::ErrorsDamien Mathieu2011-09-061-0/+6
|
* Merge pull request #2563 from bogdan/internal_validationJosé Valim2011-08-251-0/+33
|\ | | | | Implemented strict validation concept
| * Implemented strict validation conceptBogdan Gusiev2011-08-171-0/+33
| | | | | | | | | | | | | | In order to deliver debug information to dev team instead of display error message to end user Implemented strict validation concept that suppose to define validation that always raise exception when fails
* | added more tests for only-include and except-include options in serializationAnand2011-08-231-1/+14
|/
* Allow ActiveRecord observers to be disabled.Myron Marston2011-08-121-0/+12
| | | We have to use Observer#update rather than Observer#send since the enabled state is checked in #update before forwarding the method call on.
* Merge pull request #2385 from bogdan/test_default_sanitizer2José Valim2011-08-011-1/+9
|\ | | | | MassAssignmentProtection: consider 'id' insensetive in StrictSanitizer
| * MassAssignmentProtection: consider 'id' insensetive in StrictSanitizerBogdan Gusiev2011-07-281-1/+9
| | | | | | | | | | | | In order to use StrictSanitizer in test mode Consider :id as not sensetive attribute that can be filtered from mass assignement without exception.
* | Rename new method to_path to to_partial_path to avoid conflicts with ↵José Valim2011-08-012-7/+7
| | | | | | | | File#to_path and similar.
* | Merge pull request #2034 from Casecommons/to_pathJosé Valim2011-07-283-5/+23
|\ \ | | | | | | Allow ActiveModel-compatible instances to define their own partial paths
| * | Let ActiveModel instances define partial paths.Grant Hutchins & Peter Jaros2011-07-253-5/+23
| |/ | | | | | | | | | | Deprecate ActiveModel::Name#partial_path. Now you should call #to_path directly on ActiveModel instances.
* / Handle the empty array correctly.thedarkone2011-07-271-0/+1
|/
* ActiveModel support for the :include serialization optionJohn Firebaugh2011-07-172-8/+117
| | | | | | | | | | | | | | | | | | | | This commit moves support for the :include serialization option for serializing associated objects out of ActiveRecord in into ActiveModel. The following methods support the :include option: * serializable_hash * to_json * to_xml Instances must respond to methods named by the values of the :includes array (or keys of the :includes hash). If an association method returns an object that is_a?(Enumerable) (which AR has_many associations do), it is assumed to be a collection association, and its elements must respond to :serializable_hash. Otherwise it must respond to :serializable_hash itself. While here, fix #858, XmlSerializer should not singularize already singular association names.
* Add a testJohn Firebaugh2011-07-171-0/+5
|
* serializable_hash(:only => [], :methods => [:foo]) should workJohn Firebaugh2011-07-171-0/+10
|
* Enable passing root: false to #to_jsonJoe Fiorini2011-07-011-1/+52
|
* changing an attribute multiple times retains the correct original valueIan Stewart2011-06-281-0/+9
|
* Allow to specify mass-assignment roles as arrayAlexander Uvarov2011-06-232-1/+23
|
* Merge pull request #1654 from ganeshkumar/test_casesSantiago Pastorino2011-06-131-1/+0
|\ | | | | removed duplicate code in tests
| * removed duplicate codeganesh2011-06-111-1/+0
| |
* | Get rid of the alternate namespace lookup.José Valim2011-06-111-10/+0
|/
* Brought back alternative convention for namespaced models in i18n.thoefer2011-06-081-0/+10
|
* Transform the symbol into a constant lookup.José Valim2011-05-311-4/+4
|
* ActiveModel::MassAssignmentSecurity.mass_assignment_sanitizer methodBogdan Gusiev2011-05-301-5/+13
| | | | | In order to specify your own sanitize method Implemented .mass_assignment_sanitizer configuration option
* MassAssignmentSecurity: add ability to specify your own sanitizerBogdan Gusiev2011-05-264-25/+25
| | | | | | Added an ability to specify your own behavior on mass assingment protection, controlled by option: ActiveModel::MassAssignmentSecurity.mass_assignment_sanitizer
* No more need rubygems here.Arun Agrawal2011-05-221-1/+0
|
* Specify the name to be used for ActiveModel::Name fixes #1168Yves Senn2011-05-201-1/+38
| | | | This patch allows to specify the name of your models independent of the class name.
* Attributes with :string type should not be given the type passed in model ↵Jim Herzberg2011-05-181-1/+7
| | | | serialization options. Closes #1058
* Follow code conventions on some testsSebastian Martinez2011-05-104-29/+29
|
* Methods that return nil should not be considered YAMLJoshua Wehner2011-05-102-0/+8
|
* renamed mass-assignment scopes to roles, updated code, tests, docs and ↵Josh Kalderimis2011-05-081-2/+2
| | | | security guide
* :if should not fire on validations when not in context with :onAditya Sanghi2011-04-291-0/+14
|
* Add additional tests for AM::ObserverArray that I had missed yesterday.Myron Marston2011-04-281-1/+50
|
* Fix bug with AM::Observer disablement.Myron Marston2011-04-281-0/+10
| | | | | Now that we propagate the enabling/disabling to descendants, we no longer have to check the disabled_observer Set on each superclass of the model class. This was causing a bug when disabling all observers at a superclass level and then enabling an individual observer at a subclass level. Plus the logic is simpler now :).
* Revert "Revert "Handle enabling/disabling observers at different levels of ↵Myron Marston2011-04-281-0/+39
| | | | | | | | | the class hierarchy."" This reverts commit 2a25c5818b03d7d6cd63aad180bff23479dbd861. I'm going to add another commit that keeps the same behavior of fixes the problems of leaking memory in development.
* Revert "Handle enabling/disabling observers at different levels of the class ↵José Valim2011-04-281-39/+0
| | | | | | | | | | hierarchy." This reverts commit ad62f1928768bd2676958a4a08512bad342fe469 because the current subclasses implementation leaks memory in development. Instead of keeping an array of subclasses, the better solution is to ask the parent if an observer is being disabled or not.
* Handle enabling/disabling observers at different levels of the class hierarchy.Myron Marston2011-04-281-0/+39
| | | | Last call wins.
* Allow observers to be enabled and disabled.Myron Marston2011-04-283-0/+154
| | | | This is useful in situations like model unit tests and the occasional rake task to backfill old data.
* AM mass assignment security attr_accessible and attr_protected now allow for ↵Josh Kalderimis2011-04-243-11/+50
| | | | | | | | scopes using :as => scope eg. attr_accessible :name attr_accessible :name, :admin, :as => :admin