Class: LabelSelector

Inherits:
Object show all
Defined in:
lib/label_selector.rb

Instance Method Summary collapse

Constructor Details

#initialize(list) ⇒ LabelSelector

Returns a new instance of LabelSelector.



6
7
8
9
# File 'lib/label_selector.rb', line 6

def initialize(list)
  @keys   = list.map(&:name)
  @values = list.map { |e| ListColorizer.call(e.to_s(detail: true)) }
end

Instance Method Details

#chooseObject



11
12
13
14
15
16
17
18
# File 'lib/label_selector.rb', line 11

def choose
  view = selecta(@keys, @values)
  print view
  STDIN.gets
rescue Interrupt => e
  clear_screen
  exit 0
end

#clear_screenObject



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

def clear_screen
  print "\e[2J\e[H"
end

#selecta(keys, values) ⇒ Object



20
21
22
23
# File 'lib/label_selector.rb', line 20

def selecta(keys, values)
  clear_screen
  Selecta.new.main_api(keys: keys, values: values, options: { height: "full" }).tap { clear_screen }
end