class ExplainParser::Base
Public Class Methods
call(explain)
click to toggle source
# File lib/explain_parser.rb, line 68 def self.call(explain) new(explain).call end
Public Instance Methods
build()
click to toggle source
# File lib/explain_parser.rb, line 101 def build values_list.reduce([]) do |explains, values| params = keys.zip(cleanup_values(values)).inject({}) { |h, (k, v)| h[k.downcase] = v; h } explains << ExplainParser::Explain.new(params) explains end end
call()
click to toggle source
# File lib/explain_parser.rb, line 72 def call build end
cleanup_values(dirty_values)
click to toggle source
# File lib/explain_parser.rb, line 84 def cleanup_values(dirty_values) dirty_values.map do |val| case val when String stripped_value = val.strip stripped_value == 'NULL' ? nil : stripped_value else val end end.reject do |val| case val when String val.empty? end end end
keys()
click to toggle source
# File lib/explain_parser.rb, line 76 def keys 'override me' end
values_list()
click to toggle source
# File lib/explain_parser.rb, line 80 def values_list 'override me' end