Class: Dmarcurator::Parser::Report

Inherits:
Base
  • Object
show all
Defined in:
lib/dmarcurator/parser/report.rb

Overview

Parsed XML of a report

Instance Attribute Summary

Attributes inherited from Base

#doc

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from Dmarcurator::Parser::Base

Instance Method Details

#begin_atObject



26
27
28
# File 'lib/dmarcurator/parser/report.rb', line 26

def begin_at
  Time.at(doc.locate("feedback/report_metadata/date_range/begin")[0].text.to_i)
end

#dmarc_report_idObject



18
19
20
# File 'lib/dmarcurator/parser/report.rb', line 18

def dmarc_report_id
  doc.locate("feedback/report_metadata/report_id")[0].text
end

#emailObject



10
11
12
# File 'lib/dmarcurator/parser/report.rb', line 10

def email
  doc.locate("feedback/report_metadata/email")[0].text
end

#end_atObject



30
31
32
# File 'lib/dmarcurator/parser/report.rb', line 30

def end_at
  Time.at(doc.locate("feedback/report_metadata/date_range/end")[0].text.to_i)
end

#errorObject



22
23
24
# File 'lib/dmarcurator/parser/report.rb', line 22

def error
  doc.locate("feedback/report_metadata/error")[0]&.text
end

#extra_contact_infoObject



14
15
16
# File 'lib/dmarcurator/parser/report.rb', line 14

def extra_contact_info
  doc.locate("feedback/report_metadata/extra_contact_info")[0]&.text
end

#org_nameObject



6
7
8
# File 'lib/dmarcurator/parser/report.rb', line 6

def org_name
  doc.locate("feedback/report_metadata/org_name")[0].text
end

#policy_adkimObject



38
39
40
# File 'lib/dmarcurator/parser/report.rb', line 38

def policy_adkim
  doc.locate("feedback/policy_published/adkim")[0]&.text
end

#policy_aspfObject



42
43
44
# File 'lib/dmarcurator/parser/report.rb', line 42

def policy_aspf
  doc.locate("feedback/policy_published/aspf")[0]&.text
end

#policy_domainObject



34
35
36
# File 'lib/dmarcurator/parser/report.rb', line 34

def policy_domain
  doc.locate("feedback/policy_published/domain")[0].text
end

#policy_pObject



46
47
48
# File 'lib/dmarcurator/parser/report.rb', line 46

def policy_p
  doc.locate("feedback/policy_published/p")[0].text
end

#policy_pctObject



54
55
56
# File 'lib/dmarcurator/parser/report.rb', line 54

def policy_pct
  doc.locate("feedback/policy_published/pct")[0].text.to_i
end

#policy_spObject



50
51
52
# File 'lib/dmarcurator/parser/report.rb', line 50

def policy_sp
  doc.locate("feedback/policy_published/sp")[0]&.text
end

#recordsObject



58
59
60
61
62
# File 'lib/dmarcurator/parser/report.rb', line 58

def records
  doc.locate("feedback/record").map do |record|
    Record.new(parsed_xml: record)
  end
end