class Logiku::Formatters::KeyValue
Attributes
filter[R]
Public Class Methods
new(filter = nil)
click to toggle source
# File lib/logiku/formatters/key_value.rb, line 5 def initialize(filter = nil) @filter = filter end
Public Instance Methods
call(data)
click to toggle source
# File lib/logiku/formatters/key_value.rb, line 9 def call(data) message = "#{data.map { |k, v| format k, v }.join(" ")}\n" message = filter.call(message) unless filter.nil? message end
Private Instance Methods
format(k, v)
click to toggle source
# File lib/logiku/formatters/key_value.rb, line 17 def format(k, v) %Q{"#{k}"="#{format_value v}"} end
format_value(v)
click to toggle source
# File lib/logiku/formatters/key_value.rb, line 21 def format_value(v) case v when String v.gsub(/["\n]/, { '"' => '\"', "\n" => " " }) when Hash, Array v.inspect.gsub('"') { %q|\"| } when Time v.utc.iso8601(6) else v.inspect end end