if !defined?(records)
records = instance_variable_get("@#{model.model_name.plural}")
end
partial = model_partial(model) partial_record_name = partial.split('/').last.to_sym
if !includes.empty? && can_cache?(model, includes)
json.cache_collection! records, key: proc { |record| cache_key(record, includes) } do |record| json.partial!(partial, includes: includes, partial_record_name => record) end
else
json.array!(records) do |record| sub_includes = includes.select do |key, value| case value when Hash, ActionController::Parameters if value.has_key?('when') value['when'].all? { |k, v| record.send(k).as_json == v } else true end else true end end json.partial!(partial, includes: sub_includes, partial_record_name => record) end
end