Class: Decidim::DirectVerifications::Parsers::MetadataParser
- Inherits:
-
BaseParser
- Object
- BaseParser
- Decidim::DirectVerifications::Parsers::MetadataParser
show all
- Defined in:
- lib/decidim/direct_verifications/parsers/metadata_parser.rb
Constant Summary
collapse
- I18N_SCOPE =
"decidim.direct_verifications.verification.admin.direct_verifications"
Constants inherited
from BaseParser
BaseParser::EMAIL_REGEXP
Instance Method Summary
collapse
Methods inherited from BaseParser
#initialize, #to_h
Instance Method Details
11
12
13
14
15
16
17
|
# File 'lib/decidim/direct_verifications/parsers/metadata_parser.rb', line 11
def
@header ||= begin
raise InputParserError, I18n.t("#{I18N_SCOPE}.create.missing_header") if lines.count <= 1
tokenize(lines[0].chomp).map { |h| h.to_s.downcase }
end
end
|
#lines ⇒ Object
19
20
21
|
# File 'lib/decidim/direct_verifications/parsers/metadata_parser.rb', line 19
def lines
@lines ||= StringIO.new(txt).readlines
end
|
#parse_data(email, line, header) ⇒ Object
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/decidim/direct_verifications/parsers/metadata_parser.rb', line 23
def parse_data(email, line, )
tokens = tokenize(line)
hash = {}
.each_with_index do |column, index|
next if column.blank?
value = tokens[index]
next if value&.include?(email)
hash[column] = value
end
hash
end
|