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
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
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
John Firebaugh
4860143ee4
ActiveModel support for the :include serialization option
...
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.
2011-07-17 11:34:07 -07:00
Joe Fiorini
ac5e691153
Enable passing root: false to #to_json
2011-07-01 23:00:13 -04:00
Vijay Dev
ced2b25036
use clearer variable name in examples
2011-06-04 02:11:43 +05:30
Sebastian Martinez
2a4b780ab1
Remove extra white spaces on ActiveModel docs.
2011-05-23 20:39:10 -03:00
Jim Herzberg
fbf99653f1
Attributes with :string type should not be given the type passed in model serialization options. Closes #1058
2011-05-18 15:52:55 -04:00
Joshua Wehner
2cef2d411a
Methods that return nil should not be considered YAML
2011-05-10 12:06:09 -04:00
Xavier Noria
843a5b9a3a
copy-edits 34316d8
2011-02-21 11:00:03 +01:00
Nicholas Rowe
34316d8b7e
Docs: Update to_xml documentation to match as_json docuemntation
2011-02-20 21:35:43 -05:00
Mike Dvorkin
f572a02b94
Take into account current time zone when serializing datetime values [ #6096 state:resolved]
...
Signed-off-by: José Valim <jose.valim@gmail.com >
2010-12-09 09:01:49 +01:00
Emilio Tagua
dc2f26ca38
Perf: refactor methods using inject when not need in activemodel.
...
Signed-off-by: Santiago Pastorino <santiago@wyeworks.com >
2010-09-22 18:08:03 -03:00
Jakub Suder
2524cf404c
fixed some issues with JSON encoding
...
- as_json in ActiveModel should return a hash
and handle :only/:except/:methods options
- Array and Hash should call as_json on their elements
- json methods should not modify options argument
[#5374 state:committed]
Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net >
2010-09-07 11:33:10 -07:00
Andreas Garnæs
1503e45e2e
ActiveModel#to_xml fix (renamed parameter).
...
Signed-off-by: José Valim <jose.valim@gmail.com >
2010-09-02 12:55:45 +02:00
James Miller
4b07bc8475
to_json => as_json
2010-08-25 15:23:21 -07:00
Santiago Pastorino
b451de0d6d
Deletes trailing whitespaces (over text files only find * -type f -exec sed 's/[ \t]*$//' -i {} \;)
2010-08-14 04:12:33 -03:00
Santiago Pastorino
a6c6cbfb55
ActiveModel::Base doesn't exist, include_root_in_json is a class_attribute for the classes which includes this module
2010-08-10 11:53:58 -03:00
Xavier Noria
3e678240f4
edit pass to AMo::Serializers::JSON
2010-08-06 13:56:38 +02:00
Neeraj Singh
c9630d9d87
adding proper markup to comment
2010-07-16 09:58:01 -04:00
Rizwan Reza
e67c28dfe0
Added headings to serializers.
2010-06-14 13:59:55 +04:30
José Valim
a04060fb6f
Really make include_root_in_json default to true [ #3770 state:resolved]
2010-06-08 01:02:45 +02:00
Santiago Pastorino
bea3c26833
Make ActiveResource serialize XML correctly when element_name is set.
...
[#4529 ]
Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net >
2010-05-12 09:31:36 -07:00
Jatinder Singh
bce2c0ce37
Active Model JSON serializer now supports custom root option
...
[#4515 state:committed]
Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net >
2010-05-04 13:17:26 -07:00
José Valim
2e9af3638d
Move several configuration values from Hash to ActiveSupport::XmlMini, which both Hash and Array depends on.
...
Also, refactored ActiveModel serializers to just use ActiveSupport::XmlMini.to_tag. As consequence, if a serialized attribute is an array or a hash, it's not encoded as yaml, but as a hash or array.
2010-04-29 12:42:42 +02:00
José Valim
9476daa829
Speed up xml serializer by computing values just once and remove unecessary code duplication.
2010-04-22 12:29:08 +02:00
Jeremy Kemper
a98db7c6ef
Use Array.wrap uniformly
2010-03-27 11:50:11 -07:00
Mikel Lindsaar
19814df40d
Adding documentation for ActiveModel::Serialization
2010-01-17 20:14:14 +11:00
David Heinemeier Hansson
532b11690f
Change the ActiveModel::Base.include_root_in_json default to true for Rails 3 [DHH]
2010-01-03 22:02:10 -05:00
Joshua Peek
c6bc8e6626
Break up concerns for choosing what attributes should be serialized and the actual serializer
2009-08-13 22:27:36 -05:00
Joshua Peek
272c504f91
Dasherize XML root by default to avoid invalid tags "<admin/posts>...</admin/posts>" [ #2875 state:resolved]
2009-07-22 21:06:34 -05:00
John Maxwell
c39151a847
Patch to ActiveModel's (and ActiveRecord, by association) XML serialization: If two parameters are present in Procs supplied to to_xml's :procs option, the model being serialized will be passed as the second argument [ #2373 state:resolved]
...
Signed-off-by: Joshua Peek <josh@joshpeek.com >
2009-07-22 20:47:15 -05:00
Joshua Peek
2685d93b07
Kill AMo ivar attributes helper
2009-07-20 23:28:58 -05:00
Joshua Peek
e83a05af07
Integrate AMo XML serializer into AR
2009-07-11 16:20:58 -05:00
Joshua Peek
783db25e0c
Integrate AMo JSON serializer into AR
2009-07-03 23:12:42 -05:00
Joshua Peek
d2b78b3594
Initial extraction of AMo xml serializer
2009-07-03 21:38:14 -05:00
Joshua Peek
e3d6d10e1f
Ensure JSON serializer includes model naming
2009-07-03 21:38:13 -05:00
Joshua Peek
fbdf706fff
Add basic JSON serializer to AMo
2009-06-17 21:27:54 -05:00