log_bench 0.2.10 → 0.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dfbdd891667f8c0db91b6dc0afd5e7cb4562b941a300d31267dd6cbb973d8257
4
- data.tar.gz: 04b3ca23a18b72f7d2798233c53a549788767f92bd40ac7a87214c95a9a1e3ea
3
+ metadata.gz: 988ff524c8e07d752d9105bbe0d58008d8209fb0b58d31e0d398cb574ed97b44
4
+ data.tar.gz: 02c7efab76e2203c1fd77d55ad2c30ecdbb50362eae751e83e7616dd0f4919ca
5
5
  SHA512:
6
- metadata.gz: 0d9d928b2d0c39c584426f8757855b1d51524e0ef0cc5822b84935ba2c228c3f80e5a22b201a1097f92dad422cfe06b1843ca83173307d59785f8345e27cc520
7
- data.tar.gz: 0f7bcf9c8f9ceaa040ccb7e9b9b7b2d9a7f570cb1b7d03d2be4c5390dfb26137cc3d6cc358fea903d55c7fd89a2315276a725c8112e80e909d2352c0d75db489
6
+ metadata.gz: 9f84d49ef55a3d88345ce5fee35b645298569743cbd04a210e459bef19a2fa39cf212058db3e11665c3e4e0827db65ebbfbdaa1c4d67439f41a710af63bd67fd
7
+ data.tar.gz: 659277186d2eac29a7aebd33b15a07237701fb260e0a1890d6f6cd4bdb909a90b9e56fa9b5815dee38b17aaba5c08ec51421cc1013f9e9aef90eaa888c619a5f
@@ -34,7 +34,9 @@ module LogBench
34
34
  return
35
35
  end
36
36
 
37
- if ch == KEY_MOUSE
37
+ if ch == KEY_RESIZE
38
+ handle_resize
39
+ elsif ch == KEY_MOUSE
38
40
  mouse_handler.handle_mouse_input
39
41
  elsif filter_mode_active?
40
42
  handle_filter_input(ch)
@@ -43,6 +45,11 @@ module LogBench
43
45
  end
44
46
  end
45
47
 
48
+ def handle_resize
49
+ screen.handle_resize
50
+ renderer&.invalidate_caches
51
+ end
52
+
46
53
  private
47
54
 
48
55
  attr_accessor :state, :screen, :renderer, :mouse_handler, :copy_handler
@@ -41,6 +41,11 @@ module LogBench
41
41
  cached_lines
42
42
  end
43
43
 
44
+ def invalidate_cache
45
+ self.cached_lines = nil
46
+ self.cache_key = nil
47
+ end
48
+
44
49
  private
45
50
 
46
51
  attr_accessor :screen, :state, :scrollbar, :ansi_renderer, :cached_lines, :cache_key
@@ -34,6 +34,10 @@ module LogBench
34
34
  details.get_cached_detail_lines(request)
35
35
  end
36
36
 
37
+ def invalidate_caches
38
+ details.invalidate_cache
39
+ end
40
+
37
41
  private
38
42
 
39
43
  attr_accessor :screen, :state, :header, :scrollbar, :request_list, :ansi_renderer, :details, :update_modal
@@ -33,6 +33,7 @@ module LogBench
33
33
  end
34
34
 
35
35
  def cleanup
36
+ cleanup_windows
36
37
  close_screen
37
38
  end
38
39
 
@@ -59,6 +60,17 @@ module LogBench
59
60
  enabled ? mousemask(0) : mousemask(BUTTON1_CLICKED)
60
61
  end
61
62
 
63
+ def handle_resize
64
+ # Update terminal dimensions
65
+ resizeterm(0, 0)
66
+ clear
67
+ refresh
68
+
69
+ # Recreate windows with new dimensions
70
+ cleanup_windows
71
+ setup_windows
72
+ end
73
+
62
74
  private
63
75
 
64
76
  attr_writer :header_win, :log_win, :panel_width, :detail_win
@@ -89,6 +101,12 @@ module LogBench
89
101
  init_pair(SELECTION_HIGHLIGHT, COLOR_BLACK, COLOR_CYAN) # Selection highlighting
90
102
  end
91
103
 
104
+ def cleanup_windows
105
+ header_win&.close
106
+ log_win&.close
107
+ detail_win&.close
108
+ end
109
+
92
110
  def setup_windows
93
111
  self.panel_width = width / 2 - 2
94
112
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LogBench
4
- VERSION = "0.2.10"
4
+ VERSION = "0.2.11"
5
5
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: log_bench
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.10
4
+ version: 0.2.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Benjamín Silva
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-08-29 00:00:00.000000000 Z
10
+ date: 2025-09-03 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: zeitwerk