Module: Pubid::Iec

Defined in:
lib/pubid/iec.rb,
lib/pubid/iec.rb,
lib/pubid/iec/parser.rb,
lib/pubid/iec/scheme.rb,
lib/pubid/iec/builder.rb,
lib/pubid/iec/identifier.rb,
lib/pubid/iec/urn_parser.rb,
lib/pubid/iec/urn_generator.rb,
lib/pubid/iec/components/code.rb,
lib/pubid/iec/rendering_style.rb,
lib/pubid/iec/components/sheet.rb,
lib/pubid/iec/identifiers/base.rb,
lib/pubid/iec/identifiers/guide.rb,
lib/pubid/iec/single_identifier.rb,
lib/pubid/iec/components/trf_info.rb,
lib/pubid/iec/components/publisher.rb,
lib/pubid/iec/components/vap_suffix.rb,
lib/pubid/iec/identifiers/amendment.rb,
lib/pubid/iec/supplement_identifier.rb,
lib/pubid/iec/identifiers/corrigendum.rb,
lib/pubid/iec/identifiers/white_paper.rb,
lib/pubid/iec/identifiers/vap_identifier.rb,
lib/pubid/iec/identifiers/sheet_identifier.rb,
lib/pubid/iec/identifiers/technical_report.rb,
lib/pubid/iec/identifiers/test_report_form.rb,
lib/pubid/iec/identifiers/working_document.rb,
lib/pubid/iec/identifiers/technology_report.rb,
lib/pubid/iec/identifiers/fragment_identifier.rb,
lib/pubid/iec/identifiers/interpretation_sheet.rb,
lib/pubid/iec/identifiers/operational_document.rb,
lib/pubid/iec/components/consolidated_amendment.rb,
lib/pubid/iec/identifiers/conformity_assessment.rb,
lib/pubid/iec/identifiers/international_standard.rb,
lib/pubid/iec/identifiers/component_specification.rb,
lib/pubid/iec/identifiers/consolidated_identifier.rb,
lib/pubid/iec/identifiers/technical_specification.rb,
lib/pubid/iec/identifiers/systems_reference_document.rb,
lib/pubid/iec/identifiers/publicly_available_specification.rb,
lib/pubid/iec/identifiers/societal_technology_trend_report.rb

Defined Under Namespace

Modules: Components, Identifiers Classes: Builder, Identifier, Parser, RefDated, RefDatedLong, RefNumLong, RefNumShort, RefUndated, RefUndatedLong, RenderingStyle, Scheme, SingleIdentifier, SupplementIdentifier, UrnGenerator, UrnParser

Constant Summary collapse

IDENTIFIER_TYPES =

Primary document types (not supplements)

[
  Identifiers::InternationalStandard,
  Identifiers::TechnicalReport,
  Identifiers::TechnicalSpecification,
  Identifiers::PubliclyAvailableSpecification,
  Identifiers::Guide,
  Identifiers::TestReportForm,
  Identifiers::InterpretationSheet,
  Identifiers::SystemsReferenceDocument,
  Identifiers::WorkingDocument,
].freeze
SUPPLEMENT_IDENTIFIER_TYPES =

Supplement types (can appear with / notation)

[
  Identifiers::Amendment,
  Identifiers::Corrigendum,
  Identifiers::InterpretationSheet, # ISH can act as supplement (/ISH1:1996)
  Identifiers::FragmentIdentifier,  # FRAG wraps amendments/corrigenda
].freeze

Class Method Summary collapse

Class Method Details

.parse(identifier_string) ⇒ Object

Main entry point for IEC identifiers



66
67
68
69
# File 'lib/pubid/iec.rb', line 66

def self.parse(identifier_string)
  parsed = Parser.new.parse(identifier_string)
  Builder.new(Scheme).build(parsed)
end

.parse_urn(urn) ⇒ Identifier

Parse an IEC URN string

Parameters:

  • urn (String)

    the URN string to parse

Returns:

Raises:

  • (Errors::ParseError)

    if URN is invalid



75
76
77
# File 'lib/pubid/iec.rb', line 75

def self.parse_urn(urn)
  UrnParser.parse(urn)
end