Module: Qspec::Formatters::RedisFormatterFactory

Defined in:
lib/qspec/formatters/redis_formatter.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.build(id, file) ⇒ Object



6
7
8
9
10
11
12
13
# File 'lib/qspec/formatters/redis_formatter.rb', line 6

def self.build(id, file)
  Class.new(RSpec::Core::Formatters::BaseFormatter) do
    RSpec::Core::Formatters.register self, :dump_summary, :dump_failures
    @@id = id
    @@file = file
    include RedisFormatterFactory
  end
end

Instance Method Details

#dump_failures(notification) ⇒ Object



20
21
22
23
24
25
26
27
28
29
# File 'lib/qspec/formatters/redis_formatter.rb', line 20

def dump_failures(notification)
  notification.failure_notifications.each do |failure|
    data = {
      description: failure.description,
      exception: failure.message_lines.join("\n"),
      backtrace: failure.formatted_backtrace
    }
    @ipc.rpush("failure_#{@@id}", Marshal.dump(data))
  end
end

#dump_summary(summary) ⇒ Object



31
32
33
34
# File 'lib/qspec/formatters/redis_formatter.rb', line 31

def dump_summary(summary)
  data = [@@file, summary.duration, summary.examples.size, summary.failed_examples.count, summary.pending_examples.count]
  @ipc.rpush("stat_#{@@id}", Marshal.dump(data))
end

#initialize(output) ⇒ Object



15
16
17
18
# File 'lib/qspec/formatters/redis_formatter.rb', line 15

def initialize(output)
  @ipc = IPC.default
  super
end