Module: Unitsdb
- Defined in:
- lib/unitsdb/prefixes.rb,
lib/unitsdb.rb,
lib/unitsdb/cli.rb,
lib/unitsdb/qudt.rb,
lib/unitsdb/ucum.rb,
lib/unitsdb/unit.rb,
lib/unitsdb/scale.rb,
lib/unitsdb/units.rb,
lib/unitsdb/utils.rb,
lib/unitsdb/config.rb,
lib/unitsdb/errors.rb,
lib/unitsdb/prefix.rb,
lib/unitsdb/scales.rb,
lib/unitsdb/version.rb,
lib/unitsdb/commands.rb,
lib/unitsdb/database.rb,
lib/unitsdb/quantity.rb,
lib/unitsdb/dimension.rb,
lib/unitsdb/dimensions.rb,
lib/unitsdb/identifier.rb,
lib/unitsdb/quantities.rb,
lib/unitsdb/unit_system.rb,
lib/unitsdb/commands/get.rb,
lib/unitsdb/unit_systems.rb,
lib/unitsdb/commands/base.rb,
lib/unitsdb/commands/qudt.rb,
lib/unitsdb/commands/thor.rb,
lib/unitsdb/commands/ucum.rb,
lib/unitsdb/unit_reference.rb,
lib/unitsdb/commands/search.rb,
lib/unitsdb/database/loader.rb,
lib/unitsdb/scale_reference.rb,
lib/unitsdb/si_derived_base.rb,
lib/unitsdb/commands/_modify.rb,
lib/unitsdb/commands/release.rb,
lib/unitsdb/localized_string.rb,
lib/unitsdb/prefix_reference.rb,
lib/unitsdb/scale_properties.rb,
lib/unitsdb/commands/check_si.rb,
lib/unitsdb/commands/validate.rb,
lib/unitsdb/dimension_details.rb,
lib/unitsdb/commands/normalize.rb,
lib/unitsdb/external_reference.rb,
lib/unitsdb/quantity_reference.rb,
lib/unitsdb/commands/qudt/check.rb,
lib/unitsdb/commands/ucum/check.rb,
lib/unitsdb/dimension_reference.rb,
lib/unitsdb/root_unit_reference.rb,
lib/unitsdb/commands/qudt/update.rb,
lib/unitsdb/commands/ucum/update.rb,
lib/unitsdb/symbol_presentations.rb,
lib/unitsdb/commands/qudt/matcher.rb,
lib/unitsdb/commands/qudt/updater.rb,
lib/unitsdb/commands/ucum/matcher.rb,
lib/unitsdb/commands/ucum/updater.rb,
lib/unitsdb/unit_system_reference.rb,
lib/unitsdb/commands/qudt/formatter.rb,
lib/unitsdb/commands/ucum/formatter.rb,
lib/unitsdb/commands/qudt/ttl_parser.rb,
lib/unitsdb/commands/ucum/xml_parser.rb,
lib/unitsdb/commands/entity_presenter.rb,
lib/unitsdb/commands/check_si/si_matcher.rb,
lib/unitsdb/commands/check_si/si_updater.rb,
lib/unitsdb/commands/validate/references.rb,
lib/unitsdb/database/reference_validator.rb,
lib/unitsdb/commands/validate/identifiers.rb,
lib/unitsdb/database/uniqueness_validator.rb,
lib/unitsdb/commands/check_si/si_formatter.rb,
lib/unitsdb/commands/check_si/si_ttl_parser.rb,
lib/unitsdb/commands/validate/si_references.rb,
lib/unitsdb/commands/validate/qudt_references.rb,
lib/unitsdb/commands/validate/ucum_references.rb,
sig/unitsdb.rbs
Overview
references:
- uri: http://si-digital-framework.org/quantities/LENG type: normative authority: si-digital-framework
Defined Under Namespace
Modules: Commands, Errors, Ruby, Utils Classes: Cli, Config, Database, Dimension, DimensionDetails, DimensionReference, Dimensions, ExternalReference, Identifier, LocalizedString, Prefix, PrefixReference, Prefixes, Quantities, Quantity, QuantityReference, QudtDimensionVector, QudtPrefix, QudtQuantityKind, QudtSystemOfUnits, QudtUnit, QudtVocabularies, RootUnitReference, Scale, ScaleProperties, ScaleReference, Scales, SiDerivedBase, SymbolPresentations, UcumBaseUnit, UcumFile, UcumNamespace, UcumPrefix, UcumPrefixValue, UcumUnit, UcumUnitValue, UcumUnitValueFunction, Unit, UnitReference, UnitSystem, UnitSystemReference, UnitSystems, Units
Constant Summary collapse
- MODELS =
Constants eagerly loaded so Lutaml::Model type registrations are complete before Config.build_registry iterates them. Listed explicitly so unreferenced models (Scale, Qudt*, Ucum*) still register themselves via their file-bottom
Config.register_modelcalls. %i[ Identifier LocalizedString SymbolPresentations ScaleProperties UnitReference PrefixReference QuantityReference DimensionReference UnitSystemReference ScaleReference ExternalReference RootUnitReference SiDerivedBase DimensionDetails Dimension Prefix UnitSystem Quantity Scale Unit Dimensions Prefixes Quantities Scales UnitSystems Units Database QudtUnit QudtQuantityKind QudtDimensionVector QudtSystemOfUnits QudtPrefix QudtVocabularies UcumBaseUnit UcumPrefixValue UcumPrefix UcumUnitValueFunction UcumUnitValue UcumUnit UcumNamespace UcumFile ].freeze
- VERSION =
"2.2.4"- UNITS_DATA_VERSION =
The version of the bundled UnitsDB data (from the data/ submodule). This version corresponds to a tag/commit in https://github.com/unitsml/unitsdb.
"2.0.0"
Class Method Summary collapse
-
.data_dir ⇒ Object
Returns the path to the bundled data directory containing YAML files.
-
.database(context: Config.context_id) ⇒ Object
Returns a pre-loaded Database instance from the bundled data.
-
.eager_load_models! ⇒ Object
Force every autoloaded model to load AND register itself with Config.
-
.reset_database_cache! ⇒ Object
Drop the memoized Database instances so the next
databasecall reloads from disk.
Class Method Details
.data_dir ⇒ Object
Returns the path to the bundled data directory containing YAML files
125 126 127 |
# File 'lib/unitsdb.rb', line 125 def data_dir @data_dir ||= File.join(gem_dir, "data") end |
.database(context: Config.context_id) ⇒ Object
Returns a pre-loaded Database instance from the bundled data
130 131 132 133 134 135 |
# File 'lib/unitsdb.rb', line 130 def database(context: Config.context_id) context_id = context.to_sym Config.ensure_default_context! if context_id == Config.context_id klass = Config.resolve_type(:database, context: context_id) databases[context_id] ||= klass.from_db(data_dir, context: context_id) end |
.eager_load_models! ⇒ Object
Force every autoloaded model to load AND register itself with
Config. The per-file Config.register_model(Class, id: :foo)
calls at file-bottom run the first time a model loads, but
Config.capture_state / restore_state can wipe those entries
between tests. Re-registering here makes the registry
self-healing across snapshot/restore cycles.
149 150 151 152 153 154 155 156 |
# File 'lib/unitsdb.rb', line 149 def eager_load_models! MODELS.each do |sym| klass = const_get(sym) next unless klass.is_a?(Class) && klass < ::Lutaml::Model::Serializable Config.register_model(klass, id: model_id_for(klass)) end end |
.reset_database_cache! ⇒ Object
Drop the memoized Database instances so the next database call
reloads from disk. Specs use this between examples.
139 140 141 |
# File 'lib/unitsdb.rb', line 139 def reset_database_cache! @databases = nil end |