lib/grape-swagger/endpoint.rb in grape-swagger-0.32.1 vs lib/grape-swagger/endpoint.rb in grape-swagger-0.33.0
- old
+ new
@@ -236,24 +236,17 @@
success_codes_from_route(route) + (route.http_codes || route.options[:failure] || [])
end
end
def success_codes_from_route(route)
- default_code = GrapeSwagger::DocMethods::StatusCodes.get[route.request_method.downcase.to_sym]
- if @entity.is_a?(Hash)
- default_code[:code] = @entity[:code] if @entity[:code].present?
- default_code[:model] = @entity[:model] if @entity[:model].present?
- default_code[:message] = @entity[:message] || route.description || default_code[:message].sub('{item}', @item)
- default_code[:examples] = @entity[:examples] if @entity[:examples]
- default_code[:headers] = @entity[:headers] if @entity[:headers]
- else
- default_code = GrapeSwagger::DocMethods::StatusCodes.get[route.request_method.downcase.to_sym]
- default_code[:model] = @entity if @entity
- default_code[:message] = route.description || default_code[:message].sub('{item}', @item)
+ if @entity.is_a?(Array)
+ return @entity.map do |entity|
+ success_code_from_entity(route, entity)
+ end
end
- [default_code]
+ [success_code_from_entity(route, @entity)]
end
def tag_object(route, path)
version = GrapeSwagger::DocMethods::Version.get(route)
version = [version] unless version.is_a?(Array)
@@ -347,8 +340,25 @@
route_hidden = route.settings.try(:[], :swagger).try(:[], :hidden)
route_hidden = route.options[:hidden] if route.options.key?(:hidden)
return route_hidden unless route_hidden.is_a?(Proc)
options[:token_owner] ? route_hidden.call(send(options[:token_owner].to_sym)) : route_hidden.call
+ end
+
+ def success_code_from_entity(route, entity)
+ default_code = GrapeSwagger::DocMethods::StatusCodes.get[route.request_method.downcase.to_sym]
+ if entity.is_a?(Hash)
+ default_code[:code] = entity[:code] if entity[:code].present?
+ default_code[:model] = entity[:model] if entity[:model].present?
+ default_code[:message] = entity[:message] || route.description || default_code[:message].sub('{item}', @item)
+ default_code[:examples] = entity[:examples] if entity[:examples]
+ default_code[:headers] = entity[:headers] if entity[:headers]
+ else
+ default_code = GrapeSwagger::DocMethods::StatusCodes.get[route.request_method.downcase.to_sym]
+ default_code[:model] = entity if entity
+ default_code[:message] = route.description || default_code[:message].sub('{item}', @item)
+ end
+
+ default_code
end
end
end