Class: Unitsml::Unitsdb::Dimensions

Inherits:
Unitsdb::Dimensions
  • Object
show all
Includes:
Finders
Defined in:
lib/unitsml/unitsdb/dimensions.rb

Instance Method Summary collapse

Methods included from Finders

#find_first_in, #find_first_through

Instance Method Details

#dimensions=(value) ⇒ Object



8
9
10
# File 'lib/unitsml/unitsdb/dimensions.rb', line 8

def dimensions=(value)
  super(value.map { |d| Dimension.new(d.to_hash) })
end

#find_by_id(d_id) ⇒ Object



17
18
19
# File 'lib/unitsml/unitsdb/dimensions.rb', line 17

def find_by_id(d_id)
  find_first_in(dimensions, field: :id, value: d_id)
end

#find_by_vector(vector) ⇒ Object



12
13
14
15
# File 'lib/unitsml/unitsdb/dimensions.rb', line 12

def find_by_vector(vector)
  dimensions.each(&:set_vector)
  dimensions.find { |dim| dim.set_vector == vector }
end

#find_parsables_by_id(d_id) ⇒ Object



21
22
23
# File 'lib/unitsml/unitsdb/dimensions.rb', line 21

def find_parsables_by_id(d_id)
  find_first_in(dimensions, field: :id, value: parsables[d_id])
end

#parsablesObject



25
26
27
28
29
# File 'lib/unitsml/unitsdb/dimensions.rb', line 25

def parsables
  @parsables ||= dimensions.select(&:parsables).each_with_object({}) do |dimension, object|
    object.merge!(dimension.parsables)
  end
end