Method: UnitMeasurements::ConversionMethods.define_conversion_methods

Defined in:
lib/unit_measurements/extras/conversion_methods.rb

.define_conversion_methods(*units) ⇒ Array<Unit>

Note:

This method defines a conversion methods specifically for units that contain alphabetic characters in their names.

Defines conversion methods for specified units within the unit group. If units are empty, it defaults to defining methods for all units within the unit group.

Examples:

Define conversion methods for metres, centimetres, and millimetres:

UnitMeasurements::Length.define_conversion_methods("metres", :cm, :mm)

Define conversion methods for all units within the unit group:

UnitMeasurements::Length.define_conversion_methods

Parameters:

  • units (Array<String|Symbol>, optional)

    An array of units’ names for which conversion methods need to be defined. If empty, methods will be defined for all units within the unit group.

Returns:

  • (Array<Unit>)

    An array of units for which the conversion methods were defined.

See Also:

Author:

Since:

  • 5.15.0



44
45
46
47
48
49
50
51
# File 'lib/unit_measurements/extras/conversion_methods.rb', line 44

def define_conversion_methods(*units)
  unit_group = self
  units = units.empty? ? unit_group.units : units

  units.inject([]) do |units, unit|
    units << define_conversion_method_for(unit, unit_group)
  end
end