Class: SeeingIsBelieving::EventStream::Handlers::UpdateResult

Inherits:
Object
  • Object
show all
Includes:
Events
Defined in:
lib/seeing_is_believing/event_stream/handlers/update_result.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(result) ⇒ UpdateResult

Returns a new instance of UpdateResult.



10
11
12
# File 'lib/seeing_is_believing/event_stream/handlers/update_result.rb', line 10

def initialize(result)
  @result = result
end

Instance Attribute Details

#resultObject (readonly)

Returns the value of attribute result.



8
9
10
# File 'lib/seeing_is_believing/event_stream/handlers/update_result.rb', line 8

def result
  @result
end

Instance Method Details

#call(event) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/seeing_is_believing/event_stream/handlers/update_result.rb', line 14

def call(event)
  case event
  when LineResult       then result.record_result(event.type, event.line_number, event.inspected)
  when ResultsTruncated then result.record_result(event.type, event.line_number, '...') # <-- is this really what I want?
  when Exception        then result.record_exception event.line_number, event.class_name, event.message, event.backtrace
  when Stdout           then result.stdout            << event.value
  when Stderr           then result.stderr            << event.value
  when MaxLineCaptures  then result.max_line_captures = event.value
  when Exitstatus       then result.exitstatus        = event.value
  when NumLines         then result.num_lines         = event.value
  when SiBVersion       then result.sib_version       = event.value
  when RubyVersion      then result.ruby_version      = event.value
  when Filename         then result.filename          = event.value
  when Timeout          then result.timeout_seconds   = event.seconds
  when Exec,
       Finished,
       StdoutClosed,
       StderrClosed,
       EventStreamClosed
       # no op
  else raise "Unknown event: #{event.inspect}"
  end
end