Method: Quantify::Unit::Prefix.for

Defined in:
lib/quantify/unit/prefix/prefix.rb

.for(name_or_symbol) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/quantify/unit/prefix/prefix.rb', line 25

def self.for(name_or_symbol)
  return name_or_symbol.clone if name_or_symbol.is_a? Quantify::Unit::Prefix::Base
  if name_or_symbol.is_a?(String) || name_or_symbol.is_a?(Symbol)
    if prefix = @prefixes.find do |prefix|
       prefix.name == name_or_symbol.remove_underscores.downcase ||
       prefix.symbol == name_or_symbol.remove_underscores
      end
      return prefix.clone
    else
      return nil
    end
  else
    raise Exceptions::InvalidArgumentError, "Argument must be a Symbol or String"
  end
end