Class: RSpecTelemetry::Trace::Viewer::Screen::RankedScreen
- Inherits:
-
Object
- Object
- RSpecTelemetry::Trace::Viewer::Screen::RankedScreen
- Defined in:
- lib/rspec_telemetry/trace/viewer/screen/ranked_screen.rb
Instance Method Summary collapse
- #activate ⇒ Object
- #count ⇒ Object
- #current_source ⇒ Object
- #detail_lines(width) ⇒ Object
- #draw_list(canvas, rect, focused:) ⇒ Object
- #handle_key_event(_event, _app) ⇒ Object
-
#initialize(document, list, view) ⇒ RankedScreen
constructor
A new instance of RankedScreen.
- #refresh ⇒ Object
- #source? ⇒ Boolean
- #time_bar? ⇒ Boolean
- #time_bar_current ⇒ Object
- #title ⇒ Object
Constructor Details
#initialize(document, list, view) ⇒ RankedScreen
Returns a new instance of RankedScreen.
14 15 16 17 18 19 |
# File 'lib/rspec_telemetry/trace/viewer/screen/ranked_screen.rb', line 14 def initialize(document, list, view) @document = document @list = list @view = view refresh end |
Instance Method Details
#activate ⇒ Object
27 |
# File 'lib/rspec_telemetry/trace/viewer/screen/ranked_screen.rb', line 27 def activate = refresh |
#count ⇒ Object
24 |
# File 'lib/rspec_telemetry/trace/viewer/screen/ranked_screen.rb', line 24 def count = @rows.size |
#current_source ⇒ Object
57 58 59 |
# File 'lib/rspec_telemetry/trace/viewer/screen/ranked_screen.rb', line 57 def current_source @view == :examples ? @rows[@list.cursor]&.source : nil end |
#detail_lines(width) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/rspec_telemetry/trace/viewer/screen/ranked_screen.rb', line 38 def detail_lines(width) row = @rows[@list.cursor] return [] unless row if row.payload.is_a?(Document::Action) action = row.payload DetailLines.for( action, children: @document.events_for(action.seq), duration: action.duration_ms, width: width ) else ReportView.detail(row.payload).flat_map do |line| TuiTui::DisplayText.new(line).wrap(width, indent: " ").map(&:to_s) end end end |
#draw_list(canvas, rect, focused:) ⇒ Object
34 35 36 |
# File 'lib/rspec_telemetry/trace/viewer/screen/ranked_screen.rb', line 34 def draw_list(canvas, rect, focused:) ReportPane.new(@rows, list: @list, focus: focused).draw(canvas, rect) end |
#handle_key_event(_event, _app) ⇒ Object
61 |
# File 'lib/rspec_telemetry/trace/viewer/screen/ranked_screen.rb', line 61 def handle_key_event(_event, _app) = nil |
#refresh ⇒ Object
29 30 31 32 |
# File 'lib/rspec_telemetry/trace/viewer/screen/ranked_screen.rb', line 29 def refresh @rows = ReportView.rows(@document, @view) @list.count = @rows.size end |
#source? ⇒ Boolean
25 |
# File 'lib/rspec_telemetry/trace/viewer/screen/ranked_screen.rb', line 25 def source? = @view == :examples && @rows.any?(&:source) |
#time_bar? ⇒ Boolean
22 |
# File 'lib/rspec_telemetry/trace/viewer/screen/ranked_screen.rb', line 22 def = false |
#time_bar_current ⇒ Object
23 |
# File 'lib/rspec_telemetry/trace/viewer/screen/ranked_screen.rb', line 23 def = nil |
#title ⇒ Object
21 |
# File 'lib/rspec_telemetry/trace/viewer/screen/ranked_screen.rb', line 21 def title = ReportView.title(@view) |