class DBA::RowParser
Constants
- PARSERS
Public Class Methods
new(table_schema)
click to toggle source
# File lib/dba/row_parser.rb, line 7 def initialize(table_schema) @table_schema = table_schema end
Public Instance Methods
parse(string)
click to toggle source
# File lib/dba/row_parser.rb, line 11 def parse(string) string.strip.split("\n").each_with_object({}) do |line, hash| key, value = line.split(/:\s*/, 2) column_name = key.to_sym hash[column_name] = value_parse(column_name, value) end end
Private Instance Methods
value_parse(column_name, value)
click to toggle source
# File lib/dba/row_parser.rb, line 30 def value_parse(column_name, value) if value == 'NULL' nil elsif parser = PARSERS[@table_schema.column_type(column_name)] parser.call(value) else value end end