Module: Dcc::Si

Defined in:
lib/dcc/si.rb,
lib/dcc/si/v1.rb,
lib/dcc/si/v2.rb,
lib/dcc/si/base.rb,
lib/dcc/si/base/real.rb,
lib/dcc/si/namespace.rb,
lib/dcc/si/base/hybrid.rb,
lib/dcc/si/base/complex.rb,
lib/dcc/si/base/si_list.rb,
lib/dcc/si/v1/namespace.rb,
lib/dcc/si/v2/namespace.rb,
lib/dcc/si/base/constant.rb,
lib/dcc/si/common_elements.rb,
lib/dcc/si/base/expanded_mu.rb,
lib/dcc/si/base/standard_mu.rb,
lib/dcc/si/v1/configuration.rb,
lib/dcc/si/v2/configuration.rb,
lib/dcc/si/v1/common_elements.rb,
lib/dcc/si/v2/common_elements.rb,
lib/dcc/si/base/real_list_xml_list.rb,
lib/dcc/si/base/coverage_interval_mu.rb,
lib/dcc/si/base/complex_list_xml_list.rb,
lib/dcc/si/base/expanded_unc_xml_list.rb,
lib/dcc/si/base/measurement_uncertainty_univariate.rb

Defined Under Namespace

Modules: Base, V1, V2 Classes: CommonElements

Constant Summary collapse

SUPPORTED_VERSIONS =
[1, 2].freeze
UNSPECIFIED_CONTEXT =
::Dcc::UNSPECIFIED_CONTEXT
Namespace =
::Dcc::Namespace::Si

Class Method Summary collapse

Class Method Details

.parse(input, version: 2, context: UNSPECIFIED_CONTEXT, register: nil) ⇒ Object



20
21
22
# File 'lib/dcc/si.rb', line 20

def parse(input, version: 2, context: UNSPECIFIED_CONTEXT, register: nil)
  parser_for(version).parse(input, context: context, register: register)
end

.parser_for(version) ⇒ Object



24
25
26
27
28
29
30
31
32
# File 'lib/dcc/si.rb', line 24

def parser_for(version)
  case version.to_i
  when 1 then V1
  when 2 then V2
  else
    raise ::Dcc::UnknownVersionError,
          "Unsupported D-SI version: #{version.inspect} (expected 1 or 2)"
  end
end