start implementing json_api adapter to understand how associations should work

This commit is contained in:
Tema Bolshakov
2014-08-28 18:55:27 +04:00
parent 466c7d5dd8
commit 597765e3b0
5 changed files with 70 additions and 0 deletions

View File

@@ -4,6 +4,7 @@ module ActiveModel
extend ActiveSupport::Autoload
autoload :SimpleAdapter
autoload :NullAdapter
autoload :JsonApiAdapter
attr_reader :serializer

View File

@@ -0,0 +1,24 @@
module ActiveModel
class Serializer
class Adapter
class JsonApiAdapter < Adapter
def serializable_hash(options = {})
hash = serializer.attributes.each_with_object({}) do |(attr, value), h|
h[attr] = value
end
serializer.associations(only: [:id]).each_with_object({}) do |(attr, value), h|
case value
when ActiveModel::Serializer::ArraySerializer
# process has_many association
when ActiveModel::Serializer
# process belongs_to association
else
# what?
end
end
end
end
end
end
end