Sha256: 2acc846e5e3ef313c1aabe6450166f6c254e1a1131f55e8883241d038e44b26c

Contents?: true

Size: 570 Bytes

Versions: 13

Compression:

Stored size: 570 Bytes

Contents

require_relative "core_ext"
require_relative "selecta"
require_relative "list_colorizer"

class LabelSelector
  def self.choose_from(list)
    view = selecta(list)
    print view
    STDIN.gets
  rescue Interrupt => e
    clear_screen
    exit 0
  end

  def self.selecta(list)
    clear_screen
    Selecta.new.main_api(keys: list.map(&:name),
                         values: list.map { |e| ListColorizer.call(e.to_s(detail: true)) },
                         options: { height: "full" })
    clear_screen
  end

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

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
dcm-0.0.22 lib/label_selector.rb
dcm-0.0.21 lib/label_selector.rb
dcm-0.0.20 lib/label_selector.rb
dcm-0.0.18 lib/label_selector.rb
dcm-0.0.17 lib/label_selector.rb
dcm-0.0.16 lib/label_selector.rb
dcm-0.0.15 lib/label_selector.rb
dcm-0.0.14 lib/label_selector.rb
dcm-0.0.13 lib/label_selector.rb
dcm-0.0.12 lib/label_selector.rb
dcm-0.0.11 lib/label_selector.rb
dcm-0.0.10 lib/label_selector.rb
dcm-0.0.9 lib/label_selector.rb