class Decidim::DirectVerifications::Parsers::NameParser

Constants

LINE_DELIMITER
NON_ALPHA_CHARS

Public Instance Methods

header() click to toggle source
# File lib/decidim/direct_verifications/parsers/name_parser.rb, line 10
def header
  nil
end
lines() click to toggle source
# File lib/decidim/direct_verifications/parsers/name_parser.rb, line 14
def lines
  txt.split(LINE_DELIMITER)
end
parse_data(email, line, _header) click to toggle source
# File lib/decidim/direct_verifications/parsers/name_parser.rb, line 18
def parse_data(email, line, _header)
  name = parse_name(email, line)
  name = strip_non_alpha_chars(name)
  name.presence || fallback_name(email)
end

Private Instance Methods

fallback_name(email) click to toggle source
# File lib/decidim/direct_verifications/parsers/name_parser.rb, line 34
def fallback_name(email)
  email.split("@").first
end
parse_name(email, line) click to toggle source
# File lib/decidim/direct_verifications/parsers/name_parser.rb, line 30
def parse_name(email, line)
  line.split(email).first
end
strip_non_alpha_chars(str) click to toggle source
# File lib/decidim/direct_verifications/parsers/name_parser.rb, line 26
def strip_non_alpha_chars(str)
  (str.presence || "").gsub(NON_ALPHA_CHARS, "").strip
end