normalize

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