Class: PetriDish::Transcript

Inherits:
Object
  • Object
show all
Defined in:
lib/petri_dish/transcript.rb

Constant Summary collapse

ANSI_REGEX =
/\e\[[0-9;]*[a-zA-Z]/

Instance Method Summary collapse

Constructor Details

#initialize(tmux_session) ⇒ Transcript

Returns a new instance of Transcript.



7
8
9
# File 'lib/petri_dish/transcript.rb', line 7

def initialize(tmux_session)
  @tmux_session = tmux_session
end

Instance Method Details

#capture_pane(visible_only: false) ⇒ Object



11
12
13
14
15
# File 'lib/petri_dish/transcript.rb', line 11

def capture_pane(visible_only: false)
  flag = visible_only ? "" : "-S -"
  raw = `tmux capture-pane -t #{@tmux_session} -p #{flag} 2>/dev/null`
  strip_ansi(raw)
end

#capture_visibleObject



17
18
19
# File 'lib/petri_dish/transcript.rb', line 17

def capture_visible
  capture_pane(visible_only: true)
end

#save!(output_path) ⇒ Object



21
22
23
24
25
# File 'lib/petri_dish/transcript.rb', line 21

def save!(output_path)
  content = capture_pane
  File.write(output_path, content)
  log "Transcript saved to #{output_path}"
end