Class: Eclair::GroupItem

Inherits:
Item
  • Object
show all
Defined in:
lib/eclair/group_item.rb

Direct Known Subclasses

EC2GroupItem, GCEGroupItem, K8sGroupItem

Instance Attribute Summary collapse

Attributes inherited from Item

#selected

Instance Method Summary collapse

Methods inherited from Item

#command, #header, #id, #search_key, #title

Methods included from ConfigHelper

#config

Constructor Details

#initialize(label, items) ⇒ GroupItem

Returns a new instance of GroupItem.



7
8
9
10
11
# File 'lib/eclair/group_item.rb', line 7

def initialize label, items
  @label = label
  @items = items
  @visible = true
end

Instance Attribute Details

#labelObject (readonly)

Returns the value of attribute label.



4
5
6
# File 'lib/eclair/group_item.rb', line 4

def label
  @label
end

#visibleObject

Returns the value of attribute visible.



5
6
7
# File 'lib/eclair/group_item.rb', line 5

def visible
  @visible
end

Instance Method Details

#colorObject



29
30
31
# File 'lib/eclair/group_item.rb', line 29

def color
  [Curses::COLOR_WHITE, -1, Curses::A_BOLD]
end

#lengthObject



25
26
27
# File 'lib/eclair/group_item.rb', line 25

def length
  @items.length
end

#select(state) ⇒ Object



21
22
23
# File 'lib/eclair/group_item.rb', line 21

def select state
  @items.each{|i| i.select(state) }
end

#toggle_selectObject



13
14
15
16
17
18
19
# File 'lib/eclair/group_item.rb', line 13

def toggle_select
  if @items.all?(&:selected)
    @items.each{|i| i.select(false) }
  else
    @items.each{|i| i.select(true) }
  end
end