lib/grape/dsl/inside_route.rb in grape-0.10.1 vs lib/grape/dsl/inside_route.rb in grape-0.11.0

- old
+ new

@@ -16,10 +16,11 @@ # options. `:include_parent_namespaces` defaults to true, hence must be set to false if # you want only to return params declared against the current/target endpoint def declared(params, options = {}, declared_params = nil) options[:include_missing] = true unless options.key?(:include_missing) options[:include_parent_namespaces] = true unless options.key?(:include_parent_namespaces) + if declared_params.nil? declared_params = (!options[:include_parent_namespaces] ? route_setting(:declared_params) : (route_setting(:saved_declared_params) || [])).flatten(1) || [] end @@ -30,10 +31,10 @@ if params.is_a? Array params.map do |param| declared(param || {}, options, declared_params) end else - declared_params.inject({}) do |hash, key| + declared_params.inject(Hashie::Mash.new) do |hash, key| key = { key => nil } unless key.is_a? Hash key.each_pair do |parent, children| output_key = options[:stringify] ? parent.to_s : parent.to_sym