def units(by=nil)
      Unit.units.values.select { |unit| unit.dimensions == self }.map(&by).to_a
    end
def units(by=nil)
      Unit.units.values.select { |unit| unit.dimensions == self }.map(&by).to_a
    end
Returns an array containing the known units which represent the physical
 quantity described by self

 If no argument is given, the array holds instances of Unit::Base (or
 subclasses) which represent each unit. Alternatively only the names or
 symbols of each unit can be returned by providing the appropriate unit
 attribute as a symbolized argument, e.g.

   Dimensions.energy.units             #=> [ #<Quantify::Dimensions: .. >,
                                             #<Quantify::Dimensions: .. >,
                                             ... ]

   Dimensions.mass.units :name         #=> [ 'kilogram', 'ounce',
                                             'pound', ... ]

   Dimensions.length.units :symbol     #=> [ 'm', 'ft', 'yd', ... ]