lib/pact_broker/badges/service.rb in pact_broker-2.3.0 vs lib/pact_broker/badges/service.rb in pact_broker-2.4.0
- old
+ new
@@ -10,11 +10,10 @@
extend self
include PactBroker::Logging
SPACE_DASH_UNDERSCORE = /[\s_\-]/
- LOWER_TO_UPPERCASE = /[a-zA-Z](?=[A-Z])/
def pact_verification_badge pact, label, initials, verification_status
return static_svg(pact, verification_status) unless pact
title = badge_title pact, label, initials
@@ -35,14 +34,25 @@
"#{title} pact".downcase
end
def prepare_name name, initials
if initials
- parts = name.split(SPACE_DASH_UNDERSCORE)
- parts = name.split(LOWER_TO_UPPERCASE) if parts.size == 1
+ parts = split_space_dash_underscore(name)
+ parts = split_camel_case(name) if parts.size == 1
return parts.collect{ |p| p[0] }.join.downcase if parts.size > 1
end
name.downcase
+ end
+
+ def split_space_dash_underscore name
+ name.split(SPACE_DASH_UNDERSCORE)
+ end
+
+ def split_camel_case name
+ name.gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
+ .gsub(/([a-z\d])([A-Z])/, '\1_\2')
+ .tr('-', '_')
+ .split('_')
end
def badge_status verification_status
case verification_status
when :success then "verified"