Module: Dcc::V3

Extended by:
VersionedParser
Defined in:
lib/dcc/v3.rb,
lib/dcc/v3/data.rb,
lib/dcc/v3/item.rb,
lib/dcc/v3/list.rb,
lib/dcc/v3/text.rb,
lib/dcc/v3/result.rb,
lib/dcc/v3/comment.rb,
lib/dcc/v3/contact.rb,
lib/dcc/v3/formula.rb,
lib/dcc/v3/location.rb,
lib/dcc/v3/quantity.rb,
lib/dcc/v3/software.rb,
lib/dcc/v3/xml_blob.rb,
lib/dcc/v3/byte_data.rb,
lib/dcc/v3/condition.rb,
lib/dcc/v3/core_data.rb,
lib/dcc/v3/hash_type.rb,
lib/dcc/v3/item_list.rb,
lib/dcc/v3/namespace.rb,
lib/dcc/v3/statement.rb,
lib/dcc/v3/resp_person.rb,
lib/dcc/v3/result_list.rb,
lib/dcc/v3/used_method.rb,
lib/dcc/v3/rich_content.rb,
lib/dcc/v3/configuration.rb,
lib/dcc/v3/software_list.rb,
lib/dcc/v3/identification.rb,
lib/dcc/v3/statement_list.rb,
lib/dcc/v3/common_elements.rb,
lib/dcc/v3/equipment_class.rb,
lib/dcc/v3/identifications.rb,
lib/dcc/v3/resp_person_list.rb,
lib/dcc/v3/string_with_lang.rb,
lib/dcc/v3/used_method_list.rb,
lib/dcc/v3/contact_not_strict.rb,
lib/dcc/v3/measurement_result.rb,
lib/dcc/v3/administrative_data.rb,
lib/dcc/v3/influence_condition.rb,
lib/dcc/v3/measuring_equipment.rb,
lib/dcc/v3/ref_type_definition.rb,
lib/dcc/v3/measurement_meta_data.rb,
lib/dcc/v3/calibration_laboratory.rb,
lib/dcc/v3/measurement_result_list.rb,
lib/dcc/v3/influence_condition_list.rb,
lib/dcc/v3/measuring_equipment_list.rb,
lib/dcc/v3/ref_type_definition_list.rb,
lib/dcc/v3/measurement_meta_data_list.rb,
lib/dcc/v3/digital_calibration_certificate.rb

Defined Under Namespace

Modules: Configuration Classes: AdministrativeData, ByteData, CalibrationLaboratory, Comment, CommonElements, Condition, Contact, ContactNotStrict, CoreData, Data, DigitalCalibrationCertificate, EquipmentClass, Formula, HashType, Identification, Identifications, InfluenceCondition, InfluenceConditionList, Item, ItemList, List, Location, MeasurementMetaData, MeasurementMetaDataList, MeasurementResult, MeasurementResultList, MeasuringEquipment, MeasuringEquipmentList, Quantity, RefTypeDefinition, RefTypeDefinitionList, RespPerson, RespPersonList, Result, ResultList, RichContent, Software, SoftwareList, Statement, StatementList, StringWithLang, Text, UsedMethod, UsedMethodList, XmlBlob

Constant Summary collapse

ROOT_ELEMENT_TAG =
"digitalCalibrationCertificate"
ELEMENT_CLASSES =

Element wrapper classes that must be loaded before Configuration.populate_context! can register them. Iterating constants triggers each autoload lazily.

%i[
  StringWithLang Text ByteData Formula RichContent XmlBlob Comment
  EquipmentClass Location Contact ContactNotStrict HashType
  Identification Identifications Software SoftwareList
  RefTypeDefinition RefTypeDefinitionList
  CoreData Item ItemList CalibrationLaboratory
  RespPerson RespPersonList Statement StatementList
  MeasuringEquipment MeasuringEquipmentList
  UsedMethod UsedMethodList
  Condition InfluenceCondition InfluenceConditionList
  Result ResultList Data Quantity List
  MeasurementMetaData MeasurementMetaDataList
  MeasurementResult MeasurementResultList
  AdministrativeData DigitalCalibrationCertificate
].freeze
Namespace =
::Dcc::Namespace::Dcc

Class Method Summary collapse

Methods included from VersionedParser

parse

Class Method Details

.load_all!Object

Eagerly load every element wrapper so registrations run, then register D-SI types in the DCC v3 context so cross-namespace :real / :hybrid references inside DCC Quantity's D-SI children resolve cleanly.



84
85
86
87
88
89
# File 'lib/dcc/v3.rb', line 84

def self.load_all!
  ELEMENT_CLASSES.each { |name| const_get(name) }
  Configuration.populate_context!
  register_dsi_types!
  true
end

.register_dsi_types!Object

Re-export D-SI v2 type registrations into the DCC v3 context. Uses only the public register_model API (no instance_variable access).



93
94
95
96
97
98
99
# File 'lib/dcc/v3.rb', line 93

def self.register_dsi_types!
  ::Dcc::Si::V2.load_all!
  ::Dcc::Si::V2::Configuration.registered_model_ids.each do |id|
    klass = ::Dcc::Si::V2::Configuration.registered_model_class(id)
    Configuration.register_model(klass, id: id)
  end
end

.register_mml_types!Object

Re-export Mml type registrations into the DCC v3 context so Mml::V3::Math children resolve when formula.mathml is serialized.



103
104
105
106
107
108
109
# File 'lib/dcc/v3.rb', line 103

def self.register_mml_types!
  ::Mml::V3::Configuration.populate_context!
  ::Mml::V3::Configuration.registered_model_ids.each do |id|
    klass = ::Mml::V3::Configuration.registered_model_class(id)
    Configuration.register_model(klass, id: id)
  end
end