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"