diff --git a/lib/spree/core/controller_helpers/respond_with.rb b/lib/spree/core/controller_helpers/respond_with.rb index 0e3e7ef56b..5fcd4bc2cb 100644 --- a/lib/spree/core/controller_helpers/respond_with.rb +++ b/lib/spree/core/controller_helpers/respond_with.rb @@ -30,6 +30,22 @@ module ActionController (options.delete(:responder) || Spree::Responder).call(self, resources, options) end end + + private + + def retrieve_collector_from_mimes(mimes = nil, &block) + mimes ||= collect_mimes_from_class_level + collector = Collector.new(mimes, request.variant) + block.call(collector) if block_given? + format = collector.negotiate_format(request) + + if format + _process_format(format) + collector + else + raise ActionController::UnknownFormat + end + end end end