Add support for wildcard includes + improve perfs on JsonApi includes.

This commit is contained in:
Lucas Hosseini
2015-09-16 08:45:56 +02:00
parent ab1e2af349
commit ac06013aeb
11 changed files with 238 additions and 145 deletions

View File

@@ -2,6 +2,11 @@ module ActiveModel
class Serializer
module Adapter
class Attributes < Base
def initialize(serializer, options = {})
super
@include_tree = IncludeTree.from_include_args(options[:include] || '*')
end
def serializable_hash(options = nil)
options ||= {}
if serializer.respond_to?(:each)
@@ -13,7 +18,7 @@ module ActiveModel
serializer.attributes(options)
end
serializer.associations.each do |association|
serializer.associations(@include_tree).each do |association|
serializer = association.serializer
association_options = association.options