José Valim
5b2eb64ceb
Revert "Implement ArraySerializer and move old serialization API to a new namespace."
...
This reverts commit 8896b4fdc8 .
Conflicts:
activemodel/lib/active_model.rb
activemodel/lib/active_model/serializable.rb
activemodel/lib/active_model/serializer.rb
activemodel/test/cases/serializer_test.rb
2011-11-30 18:48:17 +01: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
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
John Firebaugh
0933b6d1ba
We already have the record; no need to retrieve it again
2011-07-17 11:34:06 -07:00
Sebastian Martinez
0034b7822d
Remove extra white spaces on ActiveRecord docs.
2011-05-23 20:58:25 -03:00
Aaron Patterson
6bfa846a2c
dry up compute type in attribute
2010-12-15 14:02:30 -08:00
Víctor Martínez
fe0db2b805
to_xml doesn't work in such case: Event.select('title as t').to_xml [ #4840 state:resolved]
...
NilClass.type is no longer defined in Ruby 1.9 and causes ActiveRecord::Base.to_xml to fail with message: undefined method `type' for nil:NilClass
2010-12-15 14:02:30 -08: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
Lawrence Pit
60504e62c8
to_xml with :include should skip_instruct on the included records [ #4506 state:resolved]
...
Signed-off-by: José Valim <jose.valim@gmail.com >
2010-04-30 14:22:57 +02: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
86dda361e2
Avoid deprecated String#to_a by using Array.wrap(...) instead of Array(...)
2010-04-10 22:37:36 -07: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
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
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
Yehuda Katz + Carl Lerche
7ac9f29093
Updated require for AMo move
2009-06-17 13:05:14 -07:00
Jeremy Kemper
6e73cf6bdf
Fix AR json encoding
2009-06-08 19:37:51 -07:00
Joshua Peek
4e50a35fa2
Break up DependencyModule's dual function of providing a "depend_on" DSL and "included" block DSL into separate modules. But, unify both approaches under AS::Concern.
2009-05-28 11:35:36 -05:00
Jeremy Kemper
e8550ee032
Cherry-pick core extensions
2009-05-13 12:00:15 -07:00
Bryan Helmkamp
a2875bec9a
Use DependencyModule for included hooks in ActiveRecord
2009-05-11 22:23:47 -04:00
Jeremy Kemper
6e3e00219b
Fix differing rails_to_json arity
2009-04-26 20:26:44 -07:00
rick
3c4c6bd0df
* Add pluggable JSON backends with support for the JSON gem. [rick]
...
Example: ActiveSupport::JSON.backend = "JSONGem"
All internal Rails JSON encoding is now handled by ActiveSupport::JSON.encode(). Use of #to_json is not recommended, as it may clash with other libraries that overwrite it. However, you can recover Rails specific functionality
if you really want to use #to_json.
gem 'json'
ActiveSupport::JSON.backend = "JSONGem"
class ActiveRecord::Base
alias to_json rails_to_json
end
2009-04-23 00:08:40 -07:00
Jeremy Kemper
6fee981fa4
Opt in to JSON
2009-04-22 16:48:58 -07:00
Bruce Krysiak
8272630ce8
Ensure ActiveRecord#to_xml respects :skip_types for included associations [ #1632 state:resolved]
...
Signed-off-by: Pratik Naik <pratiknaik@gmail.com >
2009-03-10 11:17:16 +00:00
Pratik Naik
0db6c3f518
Merge docrails and update the release notes
2009-02-28 19:44:25 +00:00
Bruce Krysiak
aa5cdb0d47
Added a :camelize option to ActiveRecord and Hash to_xml serialization and from_xml deserialization
...
Signed-off-by: Michael Koziarski <michael@koziarski.com >
2008-12-10 20:28:05 +01:00
Pratik Naik
98dc582742
Merge docrails.
...
Signed-off-by: Pratik Naik <pratiknaik@gmail.com >
2008-05-25 12:29:00 +01:00
Xavier Noria
64092de257
Improve documentation coverage and markup
...
Signed-off-by: Pratik Naik <pratiknaik@gmail.com >
2008-05-02 14:45:23 +01:00
Rick Olson
d450ac4459
Tweak ActiveRecord::Base#to_json to include a root value in the returned hash: {post: {title: ...}} [rick]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9202 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-04-01 20:09:45 +00:00
Pratik Naik
ca9413674e
Improve documentation.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9093 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-03-26 12:27:52 +00:00
David Heinemeier Hansson
c4cb2dd014
Fixed that to_xml should not automatically pass :procs to associations included with :include ( closes #10162 ) [chuyeow]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8258 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-12-03 01:47:21 +00:00
Jeremy Kemper
ea256eaa7f
Base#to_xml supports the nil="true" attribute like Hash#to_xml. Closes #8268 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8138 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-11-14 10:33:25 +00:00
Marcel Molina
7143d80147
Smattering of grammatical fixes to documentation. Closes #10083 [BobSilva]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8113 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-11-08 03:37:16 +00:00
Marcel Molina
aaccd182ea
Add missing file for revision #8090
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8092 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-11-06 18:47:27 +00:00
Michael Koziarski
fe234a1538
Fix Json related documentation for render and the AR serializer. Closes #9814 . Closes #9833 . [chuyeow]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7905 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-10-15 07:04:10 +00:00
Jeremy Kemper
b1968708e1
Hash#to_json takes :only or :except options to specific or omit certain hash keys. Enumerable#to_json passes through its options to each element. Closes #9751 .
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7736 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-10-04 03:28:42 +00:00
David Heinemeier Hansson
e3b49c052b
Fixed spelling errors ( closes #9706 ) [tarmo/rmm5t]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7666 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-09-28 14:18:47 +00:00
David Heinemeier Hansson
bbdb4e55f6
Added :include option to to_json ( closes #9677 ) [chuyeow]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7663 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-09-28 14:07:23 +00:00
David Heinemeier Hansson
e86d1cd621
Added ActiveRecord::Base#to_json/from_json (currently does not support :include like to_xml) [DHH]. Added ActiveRecord::Base#from_xml [DHH]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7519 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-09-20 23:22:30 +00:00