class Swoop::Formatters::ColoredKeyValue
Public Instance Methods
call(data)
click to toggle source
# File lib/swoop/formatters/colored_key_value.rb, line 5 def call(data) fields = fields_to_display(data) event = fields.map { |key| format(key, data[key]) } event.join(' ') end
colorize(value)
click to toggle source
# File lib/swoop/formatters/colored_key_value.rb, line 24 def colorize(value) if value.is_a?(Numeric) || value.to_s.match(/\A[\d\.]+\z/) value = "#{ value }".magenta.bold elsif value.is_a?(String) value = "#{ value }".green.bold elsif value.is_a?(Symbol) value = "#{ value }".blue.bold elsif value.is_a?(Hash) value = value.to_json.black.bold end end
fields_to_display(data)
click to toggle source
# File lib/swoop/formatters/colored_key_value.rb, line 11 def fields_to_display(data) data.keys end
format(key, value)
click to toggle source
# File lib/swoop/formatters/colored_key_value.rb, line 15 def format(key, value) if key == :error value = "'#{value}'" else value = Kernel.format('%.2f', value) if value.is_a? Float end return Swoop.colorize? ? "#{ key.to_s.yellow }=#{ colorize(value) }" : "#{ key }=#{ value }" end