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
|