class PactBroker::Pacticipants::FindPotentialDuplicatePacticipantNames
Attributes
existing_names[R]
new_name[R]
Public Class Methods
call(new_name, existing_names)
click to toggle source
# File lib/pact_broker/pacticipants/find_potential_duplicate_pacticipant_names.rb, line 13 def self.call(new_name, existing_names) new(new_name, existing_names).call end
new(new_name, existing_names)
click to toggle source
# File lib/pact_broker/pacticipants/find_potential_duplicate_pacticipant_names.rb, line 8 def initialize(new_name, existing_names) @new_name = new_name @existing_names = existing_names end
split(string)
click to toggle source
# File lib/pact_broker/pacticipants/find_potential_duplicate_pacticipant_names.rb, line 29 def self.split(string) string.gsub(/\s/, "_") .gsub(/::/, "/") .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2') .gsub(/([a-z\d])([A-Z])/, '\1_\2') .tr("-", "_") .downcase .split("_") end
Public Instance Methods
call()
click to toggle source
# File lib/pact_broker/pacticipants/find_potential_duplicate_pacticipant_names.rb, line 17 def call return [] if existing_names.include?(new_name) existing_names.select do | existing_name | clean(new_name) == clean(existing_name) end end
clean(name)
click to toggle source
# File lib/pact_broker/pacticipants/find_potential_duplicate_pacticipant_names.rb, line 25 def clean(name) self.class.split(name).collect{|w| w.chomp("s") } - ["api", "provider", "service"] end