module Sequel::Plugins::Units::InstanceMethods

Private Instance Methods

_generate_units(scalar_method, unit_method, inverse_unit_method, target_unit) click to toggle source
# File lib/sequel/plugins/units/instance_methods.rb, line 7
def _generate_units(scalar_method, unit_method, inverse_unit_method, target_unit)
  scalar = _validate_scalar(send(scalar_method))
  unit = _validate_unit(send(unit_method))
  inverse_unit = inverse_unit_method ? "#{send(inverse_unit_method)}^-1" : nil
  new_units = Unit.new("#{scalar} #{unit} #{inverse_unit}".strip)
  target_unit ? new_units.convert_to(target_unit) : new_units
end
_validate_scalar(scalar) click to toggle source
# File lib/sequel/plugins/units/instance_methods.rb, line 15
def _validate_scalar(scalar)
  raise ArgumentError, "#{scalar} is not a numeric value" unless scalar.is_a?(Numeric)
  scalar
end
_validate_unit(unit) click to toggle source
# File lib/sequel/plugins/units/instance_methods.rb, line 20
def _validate_unit(unit)
  raise ArgumentError, "#{unit} is not a string" unless unit.is_a?(String)
  unit
end