Class: CapEC2::StatusTable

Inherits:
Object
  • Object
show all
Defined in:
lib/cap-ec2/status-table.rb

Instance Method Summary collapse

Constructor Details

#initialize(instances) ⇒ StatusTable

Returns a new instance of StatusTable.



4
5
6
7
# File 'lib/cap-ec2/status-table.rb', line 4

def initialize(instances)
  @instances = instances
  output
end

Instance Method Details

#header_rowObject



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/cap-ec2/status-table.rb', line 9

def header_row
  [
    "Num".bold,
    "Name".bold,
    "ID".bold,
    "Type".bold,
    "DNS".bold,
    "Zone".bold,
    "Roles".bold,
    "Stage".bold
  ]
end

#instance_to_row(instance, index) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/cap-ec2/status-table.rb', line 37

def instance_to_row(instance, index)
  [
    sprintf("%02d:", index),
    instance.tags["Name"].green,
    instance.id.red,
    instance.instance_type.cyan,
    instance.contact_point.blue.bold,
    instance.availability_zone.magenta,
    instance.tags["Roles"].yellow,
    instance.tags["Stage"].yellow
  ]
end

#outputObject



22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/cap-ec2/status-table.rb', line 22

def output
  table = Terminal::Table.new(
    :style => {
      :border_x => "",
      :border_i => "",
      :border_y => ""
    }
  )
  table.add_row header_row
  @instances.each_with_index do |instance,index|
    table.add_row instance_to_row(instance, index)
  end
  puts table.to_s
end