class Openapi3Parser::Validators::DuplicateParameters
Public Class Methods
call(resolved_input)
click to toggle source
# File lib/openapi3_parser/validators/duplicate_parameters.rb, line 6 def self.call(resolved_input) new.call(resolved_input) end
Public Instance Methods
call(resolved_input)
click to toggle source
# File lib/openapi3_parser/validators/duplicate_parameters.rb, line 10 def call(resolved_input) dupes = duplicate_names_by_in(resolved_input) message(dupes) unless dupes.empty? end
Private Instance Methods
duplicate_names_by_in(resolved_input)
click to toggle source
# File lib/openapi3_parser/validators/duplicate_parameters.rb, line 17 def duplicate_names_by_in(resolved_input) potential_items = resolved_input.reject do |item| next true unless item.respond_to?(:keys) item["name"].nil? || item["in"].nil? end potential_items.group_by { |item| [item["name"], item["in"]] } .delete_if { |_, group| group.size < 2 } .keys end
message(dupes)
click to toggle source
# File lib/openapi3_parser/validators/duplicate_parameters.rb, line 29 def message(dupes) grouped = dupes.map { |d| "#{d.first} in #{d.last}" }.join(", ") "Duplicate parameters: #{grouped}" end