Class: Lookout::Runners::Console

Inherits:
Object
  • Object
show all
Defined in:
lib/lookout/runners/console.rb

Instance Method Summary collapse

Constructor Details

#initialize(results = Lookout::Results::Unsuccessful.new, expectations = Lookout::Expectations.new(results, ENV['LINE'] && ENV['LINE'].to_i), ui = Lookout::UI::Console.new(results)) ⇒ Console

Returns a new instance of Console.



4
5
6
7
8
9
10
# File 'lib/lookout/runners/console.rb', line 4

def initialize(results = Lookout::Results::Unsuccessful.new,
               expectations = Lookout::Expectations.new(results,
                                                        ENV['LINE'] && ENV['LINE'].to_i),
               ui = Lookout::UI::Console.new(results))
  @results, @expectations, @ui = results, expectations, ui
  @ui.start
end

Instance Method Details

#expectations_eval(&block) ⇒ Object



22
23
24
25
26
27
28
29
30
31
# File 'lib/lookout/runners/console.rb', line 22

def expectations_eval(&block)
  @expectations.instance_eval(&block)
rescue Interrupt, NoMemoryError, SignalException, SystemExit
  raise
rescue Exception => e
  raise unless location = Array(e.backtrace).first
  file, line = /\A(.*):(\d+)(?::in .*)?\z/.match(location)[1..2]
  raise unless file and line
  @results << Lookout::Results::Error.new(file, line, nil, e)
end

#installObject



12
13
14
15
16
17
18
19
20
# File 'lib/lookout/runners/console.rb', line 12

def install
  at_exit do
    next if $!
    @expectations.flush
    @ui.summarize
    exit 1 unless @results.succeeded?
  end
  self
end