low_node 0.4.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 +4 -4
- data/lib/low_node.rb +1 -1
- data/lib/templates/renderer.rb +14 -7
- data/lib/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0fdb440f3f4177ccfa14dc0a24712e7216272e402c1dc5a6c696fed295ba342d
|
|
4
|
+
data.tar.gz: 76013ec6f229b414571aae9672a1de344031ae5b81d4908949f873dcb90a33af
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6dc356d5a9e768491fd8e72990ac09ff4ce74367d58fb38e283e798fa943ae0f8bd12d34e87135c36797e1f2729b9181060bd066b35a3ec150f5ae977d173508
|
|
7
|
+
data.tar.gz: 793280b364412eb66e605d2091399cb6831e35e712fab1aa3d60f1fba00eb53f8a0c3447ed97ec0bb7dd8e02550d2206211cf330dfc8ea888a0f02a4dfd2fa4d
|
data/lib/low_node.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
require 'observers'
|
|
4
4
|
require 'low_type'
|
|
5
5
|
require 'low_event'
|
|
6
|
-
require 'low_loop' # TODO:
|
|
6
|
+
require 'low_loop' # TODO: ResponseFactory should be done in LowLoop, which is where the class lives already anyway.
|
|
7
7
|
|
|
8
8
|
require_relative 'templates/renderer'
|
|
9
9
|
|
data/lib/templates/renderer.rb
CHANGED
|
@@ -4,7 +4,7 @@ require_relative 'template'
|
|
|
4
4
|
|
|
5
5
|
module Low
|
|
6
6
|
module Templates
|
|
7
|
-
# Use the Method Factory pattern to .render -> .new -> #initialize -> #render a low node.
|
|
7
|
+
# Use the Method Factory pattern to ".render -> .new -> #initialize -> #render" a low node.
|
|
8
8
|
module Renderer
|
|
9
9
|
# When render() contains RBX/Antlers then LowLoad builds a template to render with instead.
|
|
10
10
|
def render_template(parent_binding: nil, slot_node: nil, props: {}, **kwargs)
|
|
@@ -27,10 +27,16 @@ module Low
|
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
module ClassMethods
|
|
30
|
+
# Accepts all arguments but only sends arguments required by the sub class.
|
|
30
31
|
def render(**)
|
|
31
32
|
# GOAL: Make return value configurable; ResponseEvent, Response, or body.
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
body = response_body(**)
|
|
34
|
+
|
|
35
|
+
return if body.nil? || body == ''
|
|
36
|
+
|
|
37
|
+
# TODO: ResponseFactory should be done in LowLoop, which is where the class lives already anyway.
|
|
38
|
+
response = Low::ResponseFactory.html(body:)
|
|
39
|
+
Low::Events::ResponseEvent.new(response:).tap(&:branch)
|
|
34
40
|
end
|
|
35
41
|
|
|
36
42
|
# LowLoad hook.
|
|
@@ -45,12 +51,13 @@ module Low
|
|
|
45
51
|
|
|
46
52
|
private
|
|
47
53
|
|
|
48
|
-
def response_body(**)
|
|
49
|
-
node = new(**)
|
|
54
|
+
def response_body(**kwargs)
|
|
55
|
+
node = new(**kwargs)
|
|
50
56
|
|
|
51
|
-
return node.render_template(**) if @template
|
|
57
|
+
return node.render_template(**kwargs) if @template
|
|
58
|
+
return node.render(**kwargs) if node.method(:render).arity > 0
|
|
52
59
|
|
|
53
|
-
node.render
|
|
60
|
+
node.render
|
|
54
61
|
end
|
|
55
62
|
end
|
|
56
63
|
end
|
data/lib/version.rb
CHANGED