Module: Qspec::Formatters::RedisFormatterFactory
- Defined in:
- lib/qspec/formatters/redis_formatter.rb
Class Method Summary collapse
Instance Method Summary collapse
- #dump_failures ⇒ Object
- #dump_summary(duration, example_count, failure_count, pending_count) ⇒ Object
- #format_exception(example, ex) ⇒ Object
- #initialize(output) ⇒ Object
Class Method Details
.build(id, file) ⇒ Object
6 7 8 9 10 11 12 |
# File 'lib/qspec/formatters/redis_formatter.rb', line 6 def self.build(id, file) Class.new(RSpec::Core::Formatters::BaseFormatter) do @@id = id @@file = file include RedisFormatterFactory end end |
Instance Method Details
#dump_failures ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/qspec/formatters/redis_formatter.rb', line 19 def dump_failures failed_examples.each do |example| ex = example.execution_result[:exception] data = { description: example.full_description, exception: format_exception(example, ex), backtrace: format_backtrace(ex.backtrace, example) } @ipc.rpush("failure_#{@@id}", Marshal.dump(data)) end end |
#dump_summary(duration, example_count, failure_count, pending_count) ⇒ Object
31 32 33 34 |
# File 'lib/qspec/formatters/redis_formatter.rb', line 31 def dump_summary(duration, example_count, failure_count, pending_count) data = [@@file, duration, example_count, failure_count, pending_count] @ipc.rpush("stat_#{@@id}", Marshal.dump(data)) end |
#format_exception(example, ex) ⇒ Object
36 37 38 39 40 41 42 43 44 |
# File 'lib/qspec/formatters/redis_formatter.rb', line 36 def format_exception(example, ex) exception_class_name = ex.class.to_s output = StringIO.new output.puts "* #{example.full_description}" output.puts "\tFailure/Error: #{read_failed_line(ex, example)}" output.puts "\t#{exception_class_name}:" unless exception_class_name =~ /RSpec/ ex..to_s.split("\n").each { |line| output.puts "\t #{line}" } if ex. output.string end |