class TeamApi::NameCanonicalizer
Public Class Methods
sort_by_last_name(team)
click to toggle source
Sorts an array of team member data hashes based on the team members' last names.
team
-
An array of team member data hashes
# File lib/team_api/name_canonicalizer.rb, line 8 def self.sort_by_last_name(team) team.sort_by { |member| comparable_name member } end
sort_by_last_name!(team)
click to toggle source
# File lib/team_api/name_canonicalizer.rb, line 12 def self.sort_by_last_name!(team) team.sort_by! { |member| comparable_name member } end
Private Class Methods
comparable_name(person)
click to toggle source
# File lib/team_api/name_canonicalizer.rb, line 16 def self.comparable_name(person) if person['last_name'] [person['last_name'].downcase, person['first_name'].downcase] else # Trim off title suffix, if any. full_name = person['full_name'].downcase.split(',')[0] last_name = full_name.split.last [last_name, full_name] end end