Class: StackMaster::StackEvents::Presenter

Inherits:
Object
  • Object
show all
Defined in:
lib/stack_master/stack_events/presenter.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(io) ⇒ Presenter

Returns a new instance of Presenter.



8
9
10
# File 'lib/stack_master/stack_events/presenter.rb', line 8

def initialize(io)
  @io = io
end

Class Method Details



4
5
6
# File 'lib/stack_master/stack_events/presenter.rb', line 4

def self.print_event(io, event)
  new(io).print_event(event)
end

Instance Method Details

#event_colour(event) ⇒ Object



21
22
23
24
25
26
27
28
29
# File 'lib/stack_master/stack_events/presenter.rb', line 21

def event_colour(event)
  if StackStates.failure_state?(event.resource_status)
    :red
  elsif StackStates.success_state?(event.resource_status)
    :green
  else
    :yellow
  end
end


12
13
14
15
16
17
18
19
# File 'lib/stack_master/stack_events/presenter.rb', line 12

def print_event(event)
  @io.puts(
    Rainbow(
      "#{event.timestamp.localtime} #{event.logical_resource_id} #{event.resource_type} " \
      "#{event.resource_status} #{event.resource_status_reason}"
    ).color(event_colour(event))
  )
end