Module: Unitsml::Unitsdb
- Defined in:
- lib/unitsml/unitsdb.rb,
lib/unitsml/unitsdb/unit.rb,
lib/unitsml/unitsdb/units.rb,
lib/unitsml/unitsdb/finders.rb,
lib/unitsml/unitsdb/database.rb,
lib/unitsml/unitsdb/prefixes.rb,
lib/unitsml/unitsdb/dimension.rb,
lib/unitsml/unitsdb/dimensions.rb,
lib/unitsml/unitsdb/quantities.rb,
lib/unitsml/unitsdb/prefix_reference.rb,
lib/unitsml/unitsdb/dimension_details.rb
Defined Under Namespace
Modules: Finders
Classes: Database, Dimension, DimensionDetails, Dimensions, PrefixReference, Prefixes, Quantities, Unit, Units
Constant Summary
collapse
- CACHE_INSTANCE_VARIABLES =
%i[
@units
@prefixes
@dimensions
@quantities
@prefixes_array
@sized_prefixes
@database
].freeze
Class Method Summary
collapse
Class Method Details
.database ⇒ Object
68
69
70
|
# File 'lib/unitsml/unitsdb.rb', line 68
def database
@database ||= load_database
end
|
.dimensions ⇒ Object
43
44
45
46
47
48
|
# File 'lib/unitsml/unitsdb.rb', line 43
def dimensions
@dimensions ||= Dimensions.new(
dimensions: database.dimensions,
lutaml_register: Configuration.context.id,
)
end
|
.prefixes ⇒ Object
36
37
38
39
40
41
|
# File 'lib/unitsml/unitsdb.rb', line 36
def prefixes
@prefixes ||= Prefixes.new(
prefixes: database.prefixes,
lutaml_register: Configuration.context.id,
)
end
|
.prefixes_array ⇒ Object
57
58
59
|
# File 'lib/unitsml/unitsdb.rb', line 57
def prefixes_array
@prefixes_array ||= prefixes.ascii_symbols.sort_by(&:length)
end
|
.prefixes_by_size(size) ⇒ Object
61
62
63
64
65
66
|
# File 'lib/unitsml/unitsdb.rb', line 61
def prefixes_by_size(size)
@sized_prefixes ||= {}
return @sized_prefixes[size] if @sized_prefixes.key?(size)
@sized_prefixes[size] = prefixes_array.select { |p| p.size == size }
end
|
.quantities ⇒ Object
50
51
52
53
54
55
|
# File 'lib/unitsml/unitsdb.rb', line 50
def quantities
@quantities ||= Quantities.new(
quantities: database.quantities,
lutaml_register: Configuration.context.id,
)
end
|
.reset_caches ⇒ Object
72
73
74
75
76
|
# File 'lib/unitsml/unitsdb.rb', line 72
def reset_caches
CACHE_INSTANCE_VARIABLES.each do |ivar|
remove_instance_variable(ivar) if instance_variable_defined?(ivar)
end
end
|
.units ⇒ Object
29
30
31
32
33
34
|
# File 'lib/unitsml/unitsdb.rb', line 29
def units
@units ||= Units.new(
units: database.units,
lutaml_register: Configuration.context.id,
)
end
|