class RainbowFormatter
Constants
- BUNDLED_MODES
Attributes
ascii_array[R]
example_name[R]
output[R]
Public Class Methods
configuration()
click to toggle source
# File lib/rainbow_formatter.rb, line 40 def self.configuration @configuration ||= Formatter::Configuration.new end
configure() { |configuration| ... }
click to toggle source
# File lib/rainbow_formatter.rb, line 44 def self.configure yield configuration if block_given? end
new(output)
click to toggle source
# File lib/rainbow_formatter.rb, line 25 def initialize(output) @output = output @current = @color_index = @passing_count = @failure_count = @pending_count = @animation_index = 0 @example_results = [] @failed_examples = [] @pending_examples = [] setup_formatter end
Public Instance Methods
dump_failed_summary()
click to toggle source
# File lib/rainbow_formatter.rb, line 82 def dump_failed_summary @failed_examples.each do |n| output.puts "\n-> #{n.description}\n\n" output.puts n.colorized_message_lines output.puts "\n --> Exception backtrace: \n\n" output.puts n.exception.backtrace.join("\n") end end
dump_summary(notification)
click to toggle source
# File lib/rainbow_formatter.rb, line 91 def dump_summary(notification) duration = notification.duration summary = "\nYou've rainbowified for #{format_duration(duration)}\n".split(//).map { |c| rainbowify(c) } dump_failed_summary output.puts notification.colorized_message_lines if notification.respond_to?(:colorized_message_lines) output.puts summary.join output.puts notification.fully_formatted dump_commands_to_rerun_failed_examples if respond_to?(:dump_commands_to_rerun_failed_examples) end
example_failed(notification)
click to toggle source
# File lib/rainbow_formatter.rb, line 76 def example_failed(notification) @failed_examples << notification @failure_count += 1 tick(mark: FAIL) end
example_passed(_notification)
click to toggle source
# File lib/rainbow_formatter.rb, line 66 def example_passed(_notification) tick end
example_pending(notification)
click to toggle source
# File lib/rainbow_formatter.rb, line 70 def example_pending(notification) @pending_examples << notification @pending_count += 1 tick(mark: PENDING) end
example_started(notification)
click to toggle source
# File lib/rainbow_formatter.rb, line 61 def example_started(notification) notification = notification.example if notification.respond_to?(:example) @example_name = notification.full_description end
setup_formatter()
click to toggle source
# File lib/rainbow_formatter.rb, line 34 def setup_formatter formatter = RainbowFormatter.configuration.formatter formatter = BUNDLED_MODES.dig(formatter) unless formatter.is_a?(Module) singleton_class.send(:include, formatter) end
start(start_notification)
click to toggle source
# File lib/rainbow_formatter.rb, line 48 def start(start_notification) # TODO: Lazy fix for specs. @example_count = if start_notification.is_a?(Integer) start_notification else start_notification.count end end
start_dump(_notification)
click to toggle source
# File lib/rainbow_formatter.rb, line 57 def start_dump(_notification) @current = @example_count end