Class: Relaton::Iec::DataParser

Inherits:
Object
  • Object
show all
Includes:
Core::ArrayWrapper
Defined in:
lib/relaton/iec/data_parser.rb

Constant Summary collapse

DOMAIN =
"https://webstore.iec.ch"
ATTRS =
%i[
  type docidentifier language script title date contributor
  status edition abstract copyright source relation place ext
].freeze
ABBREVS =
{
  "ISO" => ["International Organization for Standardization", "www.iso.org"],
  "IEC" => ["International Electrotechnical Commission", "www.iec.ch"],
  "IEEE" => ["Institute of Electrical and Electronics Engineers", "www.ieee.org"],
  "ASTM" => ["American Society of Testing Materials", "www.astm.org"],
  "CISPR" => ["International special committee on radio interference", "www.iec.ch"],
}.freeze
DOCTYPES =
{
  "IS" => "international-standard",
  "TR" => "technical-report",
  "TS" => "technical-specification",
  "PAS" => "publicly-available-specification",
  "SRD" => "system-reference-deliverable",
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(pub, errors = {}) ⇒ DataParser

Initialize new instance.

Parameters:

  • pub (Hash)

    document data



34
35
36
37
# File 'lib/relaton/iec/data_parser.rb', line 34

def initialize(pub, errors = {})
  @pub = pub
  @errors = errors
end

Instance Method Details

#parseRelatonIec::IecBibliographicItem

Parse document.

Returns:

  • (RelatonIec::IecBibliographicItem)

    bib item



44
45
46
47
# File 'lib/relaton/iec/data_parser.rb', line 44

def parse
  args = ATTRS.each_with_object({}) { |a, h| h[a] = send a }
  ItemData.new(**args)
end