Class: Sumologic::Interactive::FzfViewer

Inherits:
Object
  • Object
show all
Defined in:
lib/sumologic/interactive/fzf_viewer.rb,
lib/sumologic/interactive/fzf_viewer/config.rb,
lib/sumologic/interactive/fzf_viewer/formatter.rb,
lib/sumologic/interactive/fzf_viewer/fzf_config.rb,
lib/sumologic/interactive/fzf_viewer/header_builder.rb,
lib/sumologic/interactive/fzf_viewer/searchable_builder.rb

Defined Under Namespace

Modules: Config, Formatter, FzfConfig, HeaderBuilder, SearchableBuilder

Instance Method Summary collapse

Constructor Details

#initialize(results) ⇒ FzfViewer

Returns a new instance of FzfViewer.



16
17
18
19
# File 'lib/sumologic/interactive/fzf_viewer.rb', line 16

def initialize(results)
  @results = results
  @messages = results['messages'] || []
end

Instance Method Details

#runObject



21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/sumologic/interactive/fzf_viewer.rb', line 21

def run
  return if @messages.empty?

  Dir.mktmpdir('sumo-interactive') do |tmpdir|
    input_file = File.join(tmpdir, 'input.txt')
    preview_file = File.join(tmpdir, 'preview.jsonl')

    prepare_data(input_file, preview_file)
    selected = execute_fzf(input_file, preview_file)
    handle_selection(selected) unless selected.empty?
  end
end