Class: Pubid::Oiml::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/pubid/oiml/builder.rb

Constant Summary collapse

TYPE_CLASS_MAP =

Type to identifier class mapping (MECE)

{
  "B" => "BasicPublication",
  "D" => "Document",
  "E" => "ExpertReport",
  "G" => "Guide",
  "R" => "Recommendation",
  "S" => "SeminarReport",
  "V" => "Vocabulary",
}.freeze

Instance Method Summary collapse

Instance Method Details

#build(parsed_hash) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/pubid/oiml/builder.rb', line 17

def build(parsed_hash)
  # Check for short amendment format (has amd_marker)
  if parsed_hash[:amd_marker]
    return build_short_amendment(parsed_hash)
  end

  # Check for supplements first (have base_identifier)
  if parsed_hash[:base_identifier]
    return build_supplement(parsed_hash)
  end

  # Build base document
  build_base_document(parsed_hash)
end