in templates/ruby/lib/facebook_ads/ad_objects/helpers/custom_audience_helpers.rb [128:164]
def normalize(data, schema)
schema = schema.gsub(/_SHA256$/,'')
case schema
when 'EMAIL'
data.to_s.strip.downcase
when 'PHONE'
data.to_s.gsub(/[^0-9]/,'')
when 'GEN'
data.to_s[/[mfMF]/] || (raise InvalidParameterError, "Invalid value: #{data} for Gender")
when 'DOBY'
data.to_s.strip.gsub(/[^0-9]/,'')
when 'DOBM','DOBD'
data.to_s.strip.gsub(/[^0-9]/,'').rjust(2,'0')
when 'LN', 'FN'
data.to_s.strip.gsub(/[^[:alpha:]]/,'').downcase
when 'FI'
data.to_s.strip[0].downcase
when 'ST', 'CT'
data.to_s.strip.downcase.gsub(/[^a-z]+/,'')
when 'ZIP'
data.to_s.split('-').first.strip.gsub(/[:blank:]+/,'').downcase
when 'MADID'
data.to_s.downcase
when 'COUNTRY'
if data.strip.length != 2
raise InvalidParameterError, "Only 2-letter country codes is accepted for COUNTRY"
end
data.strip.downcase
else
data
end
end