lib/grape/formatter/serializable_hash.rb in grape-0.11.0 vs lib/grape/formatter/serializable_hash.rb in grape-0.12.0

- old
+ new

@@ -1,27 +1,27 @@ module Grape module Formatter module SerializableHash class << self - def call(object, env) + def call(object, _env) return object if object.is_a?(String) return MultiJson.dump(serialize(object)) if serializable?(object) return object.to_json if object.respond_to?(:to_json) MultiJson.dump(object) end private def serializable?(object) - object.respond_to?(:serializable_hash) || object.kind_of?(Array) && !object.map { |o| o.respond_to? :serializable_hash }.include?(false) || object.kind_of?(Hash) + object.respond_to?(:serializable_hash) || object.is_a?(Array) && !object.map { |o| o.respond_to? :serializable_hash }.include?(false) || object.is_a?(Hash) end def serialize(object) if object.respond_to? :serializable_hash object.serializable_hash - elsif object.kind_of?(Array) && !object.map { |o| o.respond_to? :serializable_hash }.include?(false) + elsif object.is_a?(Array) && !object.map { |o| o.respond_to? :serializable_hash }.include?(false) object.map(&:serializable_hash) - elsif object.kind_of?(Hash) + elsif object.is_a?(Hash) object.inject({}) do |h, (k, v)| h[k] = serialize(v) h end else