Class: Swoop::Formatters::ColoredKeyValue
- Inherits:
-
Object
- Object
- Swoop::Formatters::ColoredKeyValue
- Defined in:
- lib/swoop/formatters/colored_key_value.rb
Instance Method Summary collapse
- #call(data) ⇒ Object
- #colorize(value) ⇒ Object
- #fields_to_display(data) ⇒ Object
- #format(key, value) ⇒ Object
Instance Method Details
#call(data) ⇒ Object
5 6 7 8 9 |
# 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) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 |
# 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) ⇒ Object
11 12 13 |
# File 'lib/swoop/formatters/colored_key_value.rb', line 11 def fields_to_display(data) data.keys end |
#format(key, value) ⇒ Object
15 16 17 18 19 20 21 22 |
# 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 |