raindeer 0.3.0 → 0.4.0
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 +4 -4
- data/lib/boot.rb +1 -0
- data/lib/matrix/matrix.rb +2 -0
- data/lib/system/dashboard_node.rbx +10 -0
- data/lib/system/events_node.rbx +11 -10
- data/lib/system/formatters/label_formatter.rbx +11 -0
- data/lib/system/formatters/observers_formatter.rbx +21 -0
- data/lib/system/formatters/stat_formatter.rbx +10 -0
- data/lib/system/{layout_node.rbx → layouts/layout_node.rbx} +1 -0
- data/lib/system/routes_node.rbx +7 -7
- data/lib/system/status_404_node.rbx +11 -0
- data/lib/system/status_node.rbx +15 -0
- data/lib/version.rb +1 -1
- metadata +14 -10
- data/lib/system/error_404_node.rbx +0 -11
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a6fa213232ae917a276896434feda9d572209e595d0e04a7d5c7e2ba5244f035
|
|
4
|
+
data.tar.gz: cd7e970c62ad742f0024981eca3d8f3d609ad7b2e703283d10d1a82b2995d34b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 150cc6803a59f65d411f5441d56b851cd6a9b89de713cdae5a5292fc660e279d8978ac5c49421e4416e3294d05e3334e7a4521fc931bcc44b57d8c7e35dda34e
|
|
7
|
+
data.tar.gz: 826b04af2e7ded427657d3c06f9899d80901d8858373286bf85feb003ab56ca81db8f729ee00d8d6b64b4478caf63b76aa85f8f99a7c3fed35d0cbda6c9a4721
|
data/lib/boot.rb
CHANGED
|
@@ -11,6 +11,7 @@ env = {
|
|
|
11
11
|
host: ENV.fetch('RAIN_HOST', nil),
|
|
12
12
|
port: ENV.fetch('RAIN_PORT', nil),
|
|
13
13
|
web_root: ENV.fetch('RAIN_WEB_ROOT', nil),
|
|
14
|
+
debug_mode: Rain::ConfigLoader.parse_boolean(ENV.fetch('RAIN_DEBUG', true)),
|
|
14
15
|
matrix_mode: Rain::ConfigLoader.parse_boolean(ENV.fetch('RAIN_MATRIX', nil)),
|
|
15
16
|
mirror_mode: Rain::ConfigLoader.parse_boolean(ENV.fetch('RAIN_MIRROR', nil))
|
|
16
17
|
}
|
data/lib/matrix/matrix.rb
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'low_event'
|
|
4
|
+
require 'low_type'
|
|
4
5
|
require 'observers'
|
|
5
6
|
require 'paint'
|
|
6
7
|
|
|
@@ -9,6 +10,7 @@ require_relative 'stream'
|
|
|
9
10
|
|
|
10
11
|
module Rain
|
|
11
12
|
class Matrix
|
|
13
|
+
include LowType
|
|
12
14
|
include Observers
|
|
13
15
|
|
|
14
16
|
def initialize(event_pool:, config: ConfigLoader.load('./config/matrix.yaml'))
|
|
@@ -3,9 +3,19 @@
|
|
|
3
3
|
class DashboardNode < LowNode
|
|
4
4
|
observe '/system'
|
|
5
5
|
|
|
6
|
+
def initialize(event:)
|
|
7
|
+
@node_count = LowNode.count
|
|
8
|
+
@event_count = LowEvent.count
|
|
9
|
+
end
|
|
10
|
+
|
|
6
11
|
def render(event:) # rubocop:disable Lint/UnusedMethodArgument
|
|
7
12
|
<{ LayoutNode: }>
|
|
8
13
|
<h1>{"Dashboard"}</h1>
|
|
14
|
+
|
|
15
|
+
<div class="grid">
|
|
16
|
+
<{ StatFormatter title='Nodes' stat=@node_count }>
|
|
17
|
+
<{ StatFormatter title='Events' stat=@event_count }>
|
|
18
|
+
</div>
|
|
9
19
|
<{ :LayoutNode }>
|
|
10
20
|
end
|
|
11
21
|
end
|
data/lib/system/events_node.rbx
CHANGED
|
@@ -4,29 +4,30 @@ class EventsNode < LowNode
|
|
|
4
4
|
observe '/system/events'
|
|
5
5
|
|
|
6
6
|
def initialize(event:)
|
|
7
|
-
|
|
7
|
+
# TODO: Include types that can be observed keys too like Status and Status[404].
|
|
8
|
+
@event_types = LowEvent.events
|
|
8
9
|
end
|
|
9
10
|
|
|
10
11
|
def render(event:)
|
|
11
12
|
<{ LayoutNode: }>
|
|
12
13
|
<h1>{"Events"}</h1>
|
|
13
14
|
|
|
14
|
-
{@events}
|
|
15
|
-
|
|
16
15
|
<table>
|
|
17
16
|
<thead>
|
|
18
17
|
<tr>
|
|
19
|
-
<th scope="col">
|
|
20
|
-
<th scope="col">Route</th>
|
|
18
|
+
<th scope="col">Event</th>
|
|
21
19
|
<th scope="col">Observers</th>
|
|
22
20
|
</tr>
|
|
23
21
|
</thead>
|
|
24
22
|
<tbody>
|
|
25
|
-
<
|
|
26
|
-
<
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
<{ for: observer_key in: @event_types }>
|
|
24
|
+
<tr>
|
|
25
|
+
<td>{observer_key}</td>
|
|
26
|
+
<td>
|
|
27
|
+
<{ ObserversFormatter observer_key=observer_key }>
|
|
28
|
+
</td>
|
|
29
|
+
</tr>
|
|
30
|
+
<{ :for }>
|
|
30
31
|
</tbody>
|
|
31
32
|
</table>
|
|
32
33
|
<{ :LayoutNode }>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
class ObserversFormatter < LowNode
|
|
4
|
+
def initialize(event:, observer_key:)
|
|
5
|
+
# TODO: What's the best way to do this? An "if:" at the template layer? A decorator at the node layer?
|
|
6
|
+
if observer_key.to_s == 'Rain::RouteEvent'
|
|
7
|
+
routes_count = Providers['rain.router'].routes.count
|
|
8
|
+
@observers = ["#{routes_count} routes"]
|
|
9
|
+
else
|
|
10
|
+
@observers = Observers[observer_key].map { it.object }
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def render(event:, observer_key:)
|
|
15
|
+
<ul>
|
|
16
|
+
<{ for: observer in: @observers }>
|
|
17
|
+
<li>{ observer }</li>
|
|
18
|
+
<{ :for }>
|
|
19
|
+
</ul>
|
|
20
|
+
end
|
|
21
|
+
end
|
data/lib/system/routes_node.rbx
CHANGED
|
@@ -11,8 +11,6 @@ class RoutesNode < LowNode
|
|
|
11
11
|
<{ LayoutNode: }>
|
|
12
12
|
<h1>{"Routes"}</h1>
|
|
13
13
|
|
|
14
|
-
{@routes}
|
|
15
|
-
|
|
16
14
|
<table>
|
|
17
15
|
<thead>
|
|
18
16
|
<tr>
|
|
@@ -22,11 +20,13 @@ class RoutesNode < LowNode
|
|
|
22
20
|
</tr>
|
|
23
21
|
</thead>
|
|
24
22
|
<tbody>
|
|
25
|
-
<
|
|
26
|
-
<
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
<{ for: path, route in: @routes }>
|
|
24
|
+
<tr>
|
|
25
|
+
<td><{ LabelFormatter labels=route.verbs }></td>
|
|
26
|
+
<td>{route.path}</td>
|
|
27
|
+
<td><{ ObserversFormatter observer_key=route.path }></td>
|
|
28
|
+
</tr>
|
|
29
|
+
<{ :for }>
|
|
30
30
|
</tbody>
|
|
31
31
|
</table>
|
|
32
32
|
<{ :LayoutNode }>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
class StatusNode < LowNode
|
|
4
|
+
observe Status
|
|
5
|
+
|
|
6
|
+
def initialize(event: StatusEvent)
|
|
7
|
+
@status_code = event.status.status_code
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def render
|
|
11
|
+
<div class="status status-{@status_code}">
|
|
12
|
+
<em>{@status_code}</em>
|
|
13
|
+
</div>
|
|
14
|
+
end
|
|
15
|
+
end
|
data/lib/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: raindeer
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- maedi
|
|
@@ -55,30 +55,30 @@ dependencies:
|
|
|
55
55
|
name: lowload
|
|
56
56
|
requirement: !ruby/object:Gem::Requirement
|
|
57
57
|
requirements:
|
|
58
|
-
- - "
|
|
58
|
+
- - "~>"
|
|
59
59
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: '0'
|
|
60
|
+
version: '0.5'
|
|
61
61
|
type: :runtime
|
|
62
62
|
prerelease: false
|
|
63
63
|
version_requirements: !ruby/object:Gem::Requirement
|
|
64
64
|
requirements:
|
|
65
|
-
- - "
|
|
65
|
+
- - "~>"
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: '0'
|
|
67
|
+
version: '0.5'
|
|
68
68
|
- !ruby/object:Gem::Dependency
|
|
69
69
|
name: low_loop
|
|
70
70
|
requirement: !ruby/object:Gem::Requirement
|
|
71
71
|
requirements:
|
|
72
72
|
- - "~>"
|
|
73
73
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: '0.
|
|
74
|
+
version: '0.6'
|
|
75
75
|
type: :runtime
|
|
76
76
|
prerelease: false
|
|
77
77
|
version_requirements: !ruby/object:Gem::Requirement
|
|
78
78
|
requirements:
|
|
79
79
|
- - "~>"
|
|
80
80
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: '0.
|
|
81
|
+
version: '0.6'
|
|
82
82
|
- !ruby/object:Gem::Dependency
|
|
83
83
|
name: low_node
|
|
84
84
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -196,10 +196,14 @@ files:
|
|
|
196
196
|
- lib/router/trie_node.rb
|
|
197
197
|
- lib/support/config_loader.rb
|
|
198
198
|
- lib/system/dashboard_node.rbx
|
|
199
|
-
- lib/system/error_404_node.rbx
|
|
200
199
|
- lib/system/events_node.rbx
|
|
201
|
-
- lib/system/
|
|
200
|
+
- lib/system/formatters/label_formatter.rbx
|
|
201
|
+
- lib/system/formatters/observers_formatter.rbx
|
|
202
|
+
- lib/system/formatters/stat_formatter.rbx
|
|
203
|
+
- lib/system/layouts/layout_node.rbx
|
|
202
204
|
- lib/system/routes_node.rbx
|
|
205
|
+
- lib/system/status_404_node.rbx
|
|
206
|
+
- lib/system/status_node.rbx
|
|
203
207
|
- lib/system/system.rb
|
|
204
208
|
- lib/version.rb
|
|
205
209
|
homepage: https://codeberg.org/raindeer/raindeer
|
|
@@ -221,7 +225,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
221
225
|
- !ruby/object:Gem::Version
|
|
222
226
|
version: '0'
|
|
223
227
|
requirements: []
|
|
224
|
-
rubygems_version: 4.0.
|
|
228
|
+
rubygems_version: 4.0.10
|
|
225
229
|
specification_version: 4
|
|
226
230
|
summary: Deer to be different
|
|
227
231
|
test_files: []
|