Class: Unitsml::Unitsdb::Units
- Inherits:
-
Unitsdb::Units
- Object
- Unitsdb::Units
- Unitsml::Unitsdb::Units
show all
- Includes:
- Finders
- Defined in:
- lib/unitsml/unitsdb/units.rb
Instance Method Summary
collapse
Methods included from Finders
#find_first_in, #find_first_through
Instance Method Details
#filtered ⇒ Object
16
17
18
19
20
|
# File 'lib/unitsml/unitsdb/units.rb', line 16
def filtered
@filtered ||= symbols_ids.reject do |unit|
%r{\*|\^|/|^1$}.match?(unit) || find_by_symbol_id(unit).prefixed
end
end
|
#find_by_id(u_id) ⇒ Object
8
9
10
|
# File 'lib/unitsml/unitsdb/units.rb', line 8
def find_by_id(u_id)
find_first_through(units, via: :identifiers, field: :id, value: u_id)
end
|
#find_by_name(u_name) ⇒ Object
12
13
14
|
# File 'lib/unitsml/unitsdb/units.rb', line 12
def find_by_name(u_name)
find_first_through(units, via: :symbols, field: :id, value: u_name)
end
|
#find_by_symbol_id(sym_id) ⇒ Object
22
23
24
|
# File 'lib/unitsml/unitsdb/units.rb', line 22
def find_by_symbol_id(sym_id)
symbols_hash[sym_id]
end
|
#symbols_hash ⇒ Object
30
31
32
33
34
|
# File 'lib/unitsml/unitsdb/units.rb', line 30
def symbols_hash
@symbols_hash ||= units.each_with_object({}) do |unit, object|
unit.symbols&.each { |unit_sym| object[unit_sym.id] = unit }
end
end
|
#symbols_ids ⇒ Object
26
27
28
|
# File 'lib/unitsml/unitsdb/units.rb', line 26
def symbols_ids
symbols_hash.keys
end
|