lib/active_model/serializer/adapter/json.rb in cheap_ams-0.10.8 vs lib/active_model/serializer/adapter/json.rb in cheap_ams-0.10.10
- old
+ new
@@ -1,52 +1,47 @@
-require 'active_model/serializer/adapter/json/fragment_cache'
+class ActiveModel::Serializer::Adapter::Json < ActiveModel::Serializer::Adapter
+ extend ActiveSupport::Autoload
+ autoload :FragmentCache
-module ActiveModel
- class Serializer
- class Adapter
- class Json < Adapter
def serializable_hash(options = nil)
options ||= {}
if serializer.respond_to?(:each)
- @result = serializer.map { |s| FlattenJson.new(s).serializable_hash(options) }
+ result = serializer.map { |s| FlattenJson.new(s).serializable_hash(options) }
else
- @hash = {}
+ hash = {}
- @core = cache_check(serializer) do
+ core = cache_check(serializer) do
serializer.attributes(options)
end
serializer.associations.each do |association|
serializer = association.serializer
opts = association.options
if serializer.respond_to?(:each)
array_serializer = serializer
- @hash[association.key] = array_serializer.map do |item|
+ hash[association.key] = array_serializer.map do |item|
cache_check(item) do
item.attributes(opts)
end
end
else
- @hash[association.key] =
+ hash[association.key] =
if serializer && serializer.object
cache_check(serializer) do
serializer.attributes(options)
end
elsif opts[:virtual_value]
opts[:virtual_value]
end
end
end
- @result = @core.merge @hash
+ result = core.merge hash
end
- { root => @result }
+ { root => result }
end
def fragment_cache(cached_hash, non_cached_hash)
- Json::FragmentCache.new().fragment_cache(cached_hash, non_cached_hash)
+ ActiveModel::Serializer::Adapter::Json::FragmentCache.new().fragment_cache(cached_hash, non_cached_hash)
end
- end
- end
- end
end