Method: Quantify::Unit::Prefix.method_missing

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

.method_missing(method, *args, &block) ⇒ Object



55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/quantify/unit/prefix/prefix.rb', line 55

def self.method_missing(method, *args, &block)
  if method.to_s =~ /((si|non_si)_)?prefixes(_by_(name|symbol|label))?/
    if $2
      prefixes = Prefix.prefixes.select { |prefix| instance_eval("prefix.is_#{$2}_prefix?") }
    else
      prefixes = Prefix.prefixes
    end
    return_format = ( $4 ? $4.to_sym : nil )
    prefixes.map(&return_format).to_a
  elsif prefix = self.for(method)
    return prefix
  else
    super
  end
end