Class: Unitsml::Unitsdb::Dimension

Inherits:
Unitsdb::Dimension
  • Object
show all
Defined in:
lib/unitsml/unitsdb/dimension.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attrs) ⇒ Dimension

Returns a new instance of Dimension.



11
12
13
14
15
16
# File 'lib/unitsml/unitsdb/dimension.rb', line 11

def initialize(attrs)
  super
  @parsables = {}
  @processed_keys = []
  @parsable = false
end

Instance Attribute Details

#parsableObject (readonly)

Returns the value of attribute parsable.



6
7
8
# File 'lib/unitsml/unitsdb/dimension.rb', line 6

def parsable
  @parsable
end

#parsablesObject (readonly)

Returns the value of attribute parsables.



6
7
8
# File 'lib/unitsml/unitsdb/dimension.rb', line 6

def parsables
  @parsables
end

#processed_keysObject (readonly)

Returns the value of attribute processed_keys.



6
7
8
# File 'lib/unitsml/unitsdb/dimension.rb', line 6

def processed_keys
  @processed_keys
end

#vectorObject (readonly)

Returns the value of attribute vector.



6
7
8
# File 'lib/unitsml/unitsdb/dimension.rb', line 6

def vector
  @vector
end

Instance Method Details

#amount_of_substance=(value) ⇒ Object



34
35
36
# File 'lib/unitsml/unitsdb/dimension.rb', line 34

def amount_of_substance=(value)
  quantities_common_code(:amount_of_substance, value)
end

#dim_symbolsObject



50
51
52
# File 'lib/unitsml/unitsdb/dimension.rb', line 50

def dim_symbols
  processed_keys.map { |vec| public_send(vec)&.dim_symbols&.map(&:id) }.flatten.compact
end

#electric_current=(value) ⇒ Object



46
47
48
# File 'lib/unitsml/unitsdb/dimension.rb', line 46

def electric_current=(value)
  quantities_common_code(:electric_current, value)
end

#idObject



64
65
66
# File 'lib/unitsml/unitsdb/dimension.rb', line 64

def id
  identifiers.find { |id| id.type == "nist" }&.id
end

#length=(value) ⇒ Object



18
19
20
# File 'lib/unitsml/unitsdb/dimension.rb', line 18

def length=(value)
  quantities_common_code(:length, value)
end

#luminous_intensity=(value) ⇒ Object



38
39
40
# File 'lib/unitsml/unitsdb/dimension.rb', line 38

def luminous_intensity=(value)
  quantities_common_code(:luminous_intensity, value)
end

#mass=(value) ⇒ Object



22
23
24
# File 'lib/unitsml/unitsdb/dimension.rb', line 22

def mass=(value)
  quantities_common_code(:mass, value)
end

#plane_angle=(value) ⇒ Object



42
43
44
# File 'lib/unitsml/unitsdb/dimension.rb', line 42

def plane_angle=(value)
  quantities_common_code(:plane_angle, value)
end

#processed_symbolObject



54
55
56
# File 'lib/unitsml/unitsdb/dimension.rb', line 54

def processed_symbol
  public_send(processed_keys.first).symbol
end

#set_vectorObject



58
59
60
61
62
# File 'lib/unitsml/unitsdb/dimension.rb', line 58

def set_vector
  @vector ||= Utility::DIMS_VECTOR.map do |h|
    public_send(Utility.underscore(h))&.power
  end.join(":")
end

#thermodynamic_temperature=(value) ⇒ Object



30
31
32
# File 'lib/unitsml/unitsdb/dimension.rb', line 30

def thermodynamic_temperature=(value)
  quantities_common_code(:thermodynamic_temperature, value)
end

#time=(value) ⇒ Object



26
27
28
# File 'lib/unitsml/unitsdb/dimension.rb', line 26

def time=(value)
  quantities_common_code(:time, value)
end