low_loop 0.5.0 → 0.5.1

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: db3872b7a63b4b1fdb9036a98dce3f48ec8d85a0facd7fe42f8dd806a82cab17
4
- data.tar.gz: 1dced9eafbbbc44921900cff33d734b8540ecd92a59a122f8654c7689f2d021a
3
+ metadata.gz: a937739ee77aedaaf4bce063e88be4dc25d144d23900f58741ed6b1f9b816aba
4
+ data.tar.gz: f5fa4e2e8943cf9c65811df974ed16f1acc9da21bed14601fd6fbd8b940ac4c7
5
5
  SHA512:
6
- metadata.gz: d80a7cf83f40792f60f2652c13583b130e770ca31272f2ab3e5796b7ec232e581d1a48b41030247f18a6fdfa685457a6790b78b29211a167f7e5df14da2328fb
7
- data.tar.gz: aab2f0b8a6a4450ddf9f5c2b1a9226abb0cc168aee50ed4c081e1ac2c4a54c83fcab57d80102c505b3dba8bcd35651a8544e72fa5eac9c80357d393b654cc3a4
6
+ metadata.gz: ff08f0065bf92482f735e28f80c958c456d1b55cd46e5eed62c5c65530ad91198347f33265d966b050ade553305282fd75c8b45482d4ac456ebdeb83f9af43bb
7
+ data.tar.gz: b809fe7e750c258e7758c8360b0f0164965903cf3a565821b11e90801ad77d3adf7c9727211ddb085b68ec2ba6b55b09e0829d8ada3906f169ae16d5542be978
data/lib/low_loop.rb CHANGED
@@ -25,10 +25,11 @@ class LowLoop
25
25
  @config = config
26
26
  @frame = LowFrame.new(renderer:, fps: 10, show_output:)
27
27
 
28
- observers(Low::Events::RequestEvent) << Low::FileServer.new(web_root: config.web_root, content_types: config.content_types)
29
- observers(Low::Events::RequestEvent) << router if router
30
-
31
- observers.push(Low::Events::RequestEvent, action: :mirror) if config.mirror_mode
28
+ Low::Events::RequestEvent.define do |observers|
29
+ observers << Low::FileServer.new(web_root: config.web_root, content_types: config.content_types)
30
+ observers << router if router
31
+ observers.push(action: :mirror) if config.mirror_mode
32
+ end
32
33
  end
33
34
 
34
35
  def start
@@ -19,9 +19,6 @@ class LowFrame
19
19
  def render
20
20
  return unless @last_frame.nil? || (current_timestamp - @last_frame) >= @frame_time
21
21
 
22
- row_count, column_count = IO.console.winsize
23
- @screen_size = { row_count:, column_count: }
24
-
25
22
  @last_frame = current_timestamp
26
23
  @renderer.render(screen_size: @screen_size)
27
24
  end
@@ -29,20 +26,25 @@ class LowFrame
29
26
  def setup
30
27
  print "\e[?25l" # Hide cursor.
31
28
  system 'clear'
32
- end
33
29
 
34
- def reset
35
- print "\e[?25h\e[0m" # Show cursor and reset colors.
36
- end
30
+ resize
37
31
 
38
- def exit
39
- trap('INT') do
40
- reset
32
+ Signal.trap('WINCH') do
33
+ resize
34
+ end
35
+
36
+ Signal.trap('INT') do
37
+ print "\e[?25h\e[0m" # Show cursor and reset colors.
41
38
  system 'clear'
42
39
  exit
43
40
  end
44
41
  end
45
42
 
43
+ def resize
44
+ row_count, column_count = IO.console.winsize
45
+ @screen_size = { row_count:, column_count: }
46
+ end
47
+
46
48
  private
47
49
 
48
50
  def current_timestamp
data/lib/version.rb CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Low
4
4
  module Loop
5
- VERSION = '0.5.0'
5
+ VERSION = '0.5.1'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: low_loop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - maedi