class Metamorphosis::PrefixParser
Attributes
prefixes[R]
Public Class Methods
new(prefixes, available_units)
click to toggle source
# File lib/metamorphosis/prefix_parser.rb, line 5 def initialize(prefixes, available_units) @prefixes = prefixes @available_units = available_units end
Public Instance Methods
parse(unit_text)
click to toggle source
Given a known set of unit names, returns the prefix value, and the base unit name
# File lib/metamorphosis/prefix_parser.rb, line 12 def parse(unit_text) unit_text = unit_text.to_s @prefixes.each do |prefix, value| unit = parse_unit(unit_text, prefix) next unless unit return [value, unit] end [1.0, unit_text.to_sym] end
Private Instance Methods
parse_unit(unit_text, prefix)
click to toggle source
# File lib/metamorphosis/prefix_parser.rb, line 27 def parse_unit(unit_text, prefix) md = /^#{prefix}(.+)/.match(unit_text) return unless md unit = md[1].to_sym @available_units.include?(unit) ? unit : nil end