class Decidim::DirectVerifications::Parsers::BaseParser

Abstract class all concrete parsers should inherit from. They are expected to implement header, lines, and parse_data methods.

Constants

EMAIL_REGEXP

Attributes

emails[R]
txt[R]

Public Class Methods

new(txt) click to toggle source
# File lib/decidim/direct_verifications/parsers/base_parser.rb, line 11
def initialize(txt)
  @txt = txt
  @emails = {}
end

Public Instance Methods

to_h() click to toggle source
# File lib/decidim/direct_verifications/parsers/base_parser.rb, line 16
def to_h
  lines.each do |line|
    EMAIL_REGEXP.match(line) do |match|
      email = normalize(match[0])
      emails[email] = parse_data(email, line, header)
    end
  end

  emails
end

Private Instance Methods

normalize(value) click to toggle source
# File lib/decidim/direct_verifications/parsers/base_parser.rb, line 31
def normalize(value)
  value.to_s.downcase
end