class AdjustmentBureau::Parser
Public Instance Methods
parse(property_string)
click to toggle source
# File lib/adjustment_bureau/parser.rb, line 7 def parse(property_string) name = parse_name(property_string) values = parse_values(property_string) return [name, values] end
Private Instance Methods
parse_name(property_string)
click to toggle source
# File lib/adjustment_bureau/parser.rb, line 15 def parse_name(property_string) property_string.split(':')[0].strip end
parse_value(value)
click to toggle source
# File lib/adjustment_bureau/parser.rb, line 27 def parse_value(value) n = (value = value.to_s.strip) value = n.gsub(/[^0-9\.]/, '') unit = /[^0-9\.]*$/.match(n)[0] return [ Helpers.numerize(value), unit ] end
parse_values(property_string)
click to toggle source
# File lib/adjustment_bureau/parser.rb, line 19 def parse_values(property_string) values = property_string.split(':')[1].strip.gsub(/\;/, '') values.split(/\s+/m).collect do |value| Value.new(*parse_value(value)) end end