Alexey Vakhov
448df2d100
Cosmetic fixes in AM validatations docs
2011-11-27 10:23:40 +04:00
Vijay Dev
1d89540686
Merge branch 'master' of github.com:lifo/docrails
2011-11-26 19:14:39 +05:30
José Valim
0a4035b12a
Revert the serializers API as other alternatives are now also under discussion
2011-11-25 19:29:39 +00:00
José Valim
fcacc6986a
Merge branch 'serializers'
...
This implements the ActiveModel::Serializer object. Includes code, tests, generators and guides.
From José and Yehuda with love.
Conflicts:
railties/CHANGELOG.md
2011-11-25 09:59:35 +00:00
José Valim
696d01f7f4
Add docs to serializers. Update CHANGELOGs.
2011-11-25 09:49:54 +00:00
Jakub Kuźma
dc39af0a9a
make ActiveModel::Name fail gracefully with anonymous classes
2011-11-24 15:50:21 +01:00
José Valim
7fcc8c0a1f
Rely solely on active_model_serializer and remove the fancy constant lookup.
2011-11-23 23:45:27 +00:00
José Valim
8896b4fdc8
Implement ArraySerializer and move old serialization API to a new namespace.
...
The following constants were renamed:
ActiveModel::Serialization => ActiveModel::Serializable
ActiveModel::Serializers::JSON => ActiveModel::Serializable::JSON
ActiveModel::Serializers::Xml => ActiveModel::Serializable::XML
The main motivation for such a change is that `ActiveModel::Serializers::JSON`
was not actually a serializer, but a module that when included allows the target to be serializable to JSON.
With such changes, we were able to clean up the namespace to add true serializers as the ArraySerializer.
2011-11-23 23:18:15 +00:00
José Valim
e62de52aa3
Merge branch 'master' into serializers
2011-11-23 20:43:06 +00:00
José Valim
fd86a1b6b0
Rely on a public contract between railties instead of accessing railtie methods directly.
2011-11-23 19:06:45 +00:00
Alexey Vakhov
efbb73562d
Small docs fix in Active Model callbacks module
2011-11-19 12:19:59 +06:00
José Valim
9fa329b754
Speed up attribute invocation by checking if both name and calls are compilable.
2011-11-14 20:12:17 +01:00
Oscar Del Ben
af64ac4e5c
use any? instead of !empty?
2011-11-14 16:56:05 +01:00
Jean Boussier
fd17ffc7a2
Fix a tiny typo in custom validators documentation
2011-11-10 18:49:37 +01:00
Anand
4cef581fcf
replaced remove and define method calls to :redefine
2011-11-07 16:22:30 +05:30
bradrobertson
2e62af310d
correct documentation on initialize method to accept a single parameter
2011-10-26 09:31:37 -04:00
Vijay Dev
af1b5c54cf
Merge branch 'master' of github.com:lifo/docrails
2011-10-20 23:20:44 +05:30
Martin Svalin
930dc335d7
Removed mention of deprecated ActiveModel::Errors#on
2011-10-19 23:13:15 +02:00
Martin Svalin
c9ca86c29d
New #added? method on ActiveModel::Errors
...
The #added? method makes it possible to check if a specific error has been added, using the same parameters as for #add.
2011-10-19 21:29:20 +02:00
Vijay Dev
826a850696
fix a typo and slightly reword has_secure_password comment
2011-10-17 19:14:29 +05:30
Martin Svalin
180d4137ca
ActiveModel::Errors#generate_message without i18n_scope, and more test cases for #add
2011-10-17 09:22:08 +02:00
Jose and Yehuda
2abb2e617a
Add initial support for embed API
2011-10-15 19:22:16 +02:00
Jose and Yehuda
a230f040ff
Add support for the root attribute
2011-10-15 18:56:47 +02:00
Jose and Yehuda
7a28498b55
Fix nil has_one association
2011-10-15 18:40:38 +02:00
Jose and Yehuda
322f47898e
Add association_ids
2011-10-15 18:40:38 +02:00
Jose and Yehuda
22c322f056
Add support for overriding associations, mostly used for authorization
2011-10-15 18:40:38 +02:00
Jose and Yehuda
776da539d7
Add support for implicit serializers
2011-10-15 18:40:38 +02:00
Jose and Yehuda
2a4aaae72a
Added has_one and has_many
2011-10-15 18:40:37 +02:00
Jose and Yehuda
e407dfb9bf
Don't require serializable_hash to take options.
2011-10-15 18:40:37 +02:00
Jose and Yehuda
c3de52d7ed
Initial implementation of ActiveModel::Serializer
2011-10-15 18:40:37 +02:00
Vijay Dev
e759c8882a
Merge branch 'master' of github.com:lifo/docrails
2011-10-14 22:21:40 +05:30
zhengjia
1adf5662b5
Fixed serialization issues with multiple includes with options
2011-10-11 11:09:43 -05:00
Evgeniy Dolzhenko
c317419359
Use .add instead of << to add errors
2011-10-11 14:13:08 +01:00
Vijay Dev
46ce7f1f77
Merge branch 'master' of github.com:lifo/docrails
2011-10-05 18:42:18 +05:30
Robert Ross
ac49fb1aa9
Change one more place for JSON string to Hash
2011-10-04 23:42:37 -07:00
Robert Ross
eef176dc7d
Fix as_json doc to say what it actually returns.
2011-10-04 09:37:54 -07:00
José Valim
d4457dc32b
Provide read_attribute_for_serialization as the API to serialize attributes.
2011-09-30 14:20:41 +02:00
Uģis Ozols
62a9e5a960
Class name specified in example is Person, not AttributePerson.
2011-09-29 14:33:32 +03:00
Jon Leighton
a15424b92c
Make serializable_hash take attr values directly from attributes hash.
...
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
51bef9d8fb , because that change made
to_xml use serializable_hash.
2011-09-26 12:40:03 +01:00
José Valim
4bfbdc133a
Refactor AMo as_json.
2011-09-23 00:19:46 +02:00
Matt Aimonetti
6e78bbea90
fixed a bug with the json serialization when the class setting is set to not include the root, but an instance is serialized with the root option passed as true
2011-09-22 14:05:25 -07:00
José Valim
51bef9d8fb
to_xml should also rely on serializable hash.
2011-09-18 09:09:01 -07:00
Jon Leighton
778c82bea6
Generate attribute method unless it's already in the module.
...
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.
2011-09-14 00:00:37 +01:00
Jon Leighton
c89e1c7bde
Add an attribute_missing method to ActiveModel::AttributeMethods.
...
This can be overloaded by implementors if necessary.
2011-09-13 00:02:33 +01:00
Jon Leighton
6d8dbeca6b
Avoid double super call in some cases.
...
If super was false earlier, it is still going to be false, so we don't
need to call it again at the end of the method.
2011-09-13 00:01:58 +01:00
Jon Leighton
ac687ed651
Let Ruby deal with method visibility.
...
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.
2011-09-13 00:01:58 +01:00
Jon Leighton
99bd6b53da
Add deprecation for doing attribute_method_suffix ''
2011-09-13 00:01:57 +01:00
Jon Leighton
93d574c962
refactoring
2011-09-13 00:01:57 +01:00
Jon Leighton
8b8b7143ef
Use an empty AttributeMethodMatcher by default.
...
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 ''`.
2011-09-13 00:01:57 +01:00
Lawrence Pit
f5a944f662
Add ability to get an individual full error message + test for full_messages.
2011-09-09 18:28:25 +10:00