# File lib/grape_entity/delegator.rb, line 10 def self.new(object) if object.is_a?(Hash) HashObject.new object elsif defined?(OpenStruct) && object.is_a?(OpenStruct) OpenStructObject.new object elsif object.respond_to? :fetch, true FetchableObject.new object else PlainObject.new object end end