File: handler.rb

package info (click to toggle)
ruby-rspec-logsplit 0.1.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 136 kB
  • sloc: ruby: 133; makefile: 7
file content (35 lines) | stat: -rw-r--r-- 761 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
module RSpec
  module LogSplit
    class Handler
      def initialize(logger, mod, example, example_logger)
        @logger = logger
        @mod = mod
        @example = example
        @example_logger = example_logger
      end

      def run
        @mod.logger = @example_logger
        begin
          error "starting #{description}"
          @example.run
        rescue Exception => e
          error "error with #{description}: #{e.inspect}"
          raise e
        ensure
          error "finishing #{description}"
          @mod.logger = nil
        end
      end

      def description
        @example.full_description
      end

      def error(message)
        @logger.error message
        @mod.logger.error message
      end
    end
  end
end