lowloop 0.8.2 → 0.8.3

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: 174e127254372a5bbb3e37d7d087d44fbdf2fc40c1bbc6388a396d2be914d5dc
4
- data.tar.gz: 05e6014f0660e909fb149ed81916854c84ff118d6687ad44523746087ac4ae5f
3
+ metadata.gz: 4bcc48c80995bdc907a7340bfd70b3b643cbdba6009a0860653789cce9dd309d
4
+ data.tar.gz: 75c29bd962bb6907de4c9937b065febfb3f5e0de5aa0a8b9e65dbaa1da79f303
5
5
  SHA512:
6
- metadata.gz: c1f3d17ad4be36f15f3e7dce0ca93981357ca5a490d9092b34ef01de06f783f62f90aa88c5422d8f2355298c1ec1db73d1bb911c234e5ed46035046ee2812d09
7
- data.tar.gz: e5fac88ae0224ce3d27b241e734b4468f80e7f5a304e3c2faeb1ed941d0dc51c37cac078c6ab93852c24d53582dd46f5db66114eee8a50ae1dd75fc0b5258ca4
6
+ metadata.gz: f71e8ed10a287dfad978f62c1536267e294d43f2256df10c1e35bfacf592d59276acd9d5d20400a6cc5e6be0926ba62fc849c4335f19f4b4d5f44d797134fc93
7
+ data.tar.gz: 8dd496d5e6c21032b5b1ecad04823918efa69c63a4a5ac0cef974d3eafb13350b5993eced6ec93575486e426e76cefaaae371397e5f4a46feae75a3d824b648d
data/lib/lowloop.rb CHANGED
@@ -15,12 +15,12 @@ require_relative 'support/low_frame'
15
15
  class LowLoop
16
16
  include Observers
17
17
 
18
- attr_reader :config
18
+ attr_reader :config, :frame
19
19
 
20
20
  def initialize(config:, router: nil, renderer: nil, show_output: true)
21
21
  @config = config
22
22
  @connection_manager = Low::ConnectionManager.new(config:)
23
- @frame = LowFrame.new(renderer:, fps: 10, show_output:)
23
+ @frame = LowFrame.new(renderer: (renderer if config.matrix_mode), fps: 10, show_output:)
24
24
 
25
25
  Low::Events::RequestEvent.define do |observers|
26
26
  observers << Low::FileServer.new(web_root: config.web_root, content_types: config.content_types)
@@ -3,6 +3,9 @@
3
3
  require 'io/console'
4
4
 
5
5
  class LowFrame
6
+ # Used when there's no real console to query a size from (e.g. no TTY -- headless/backgrounded process).
7
+ DEFAULT_SCREEN_SIZE = { row_count: 24, column_count: 80 }.freeze
8
+
6
9
  attr_reader :screen_size, :renderer
7
10
 
8
11
  def initialize(renderer:, fps: 10, show_output: true)
@@ -41,6 +44,11 @@ class LowFrame
41
44
  end
42
45
 
43
46
  def resize
47
+ unless IO.console
48
+ @screen_size = DEFAULT_SCREEN_SIZE
49
+ return
50
+ end
51
+
44
52
  row_count, column_count = IO.console.winsize
45
53
  @screen_size = { row_count:, column_count: }
46
54
  end
data/lib/version.rb CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Low
4
4
  module Loop
5
- VERSION = '0.8.2'
5
+ VERSION = '0.8.3'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lowloop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2
4
+ version: 0.8.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - maedi