lownode 0.5.3 → 0.5.5

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: 80604a99209509799c5beaef1d55289d0daa76c5f1f1e83f63a02a5fa333abbe
4
- data.tar.gz: 6862b71d1db14f05edce4148c9177fa0511eefa3a4e4e540f4e7de27608334cb
3
+ metadata.gz: b68fa8f3dbf9758ac2e891d89ce312a9c4a8f36145896ee74bd2f0560665a8a6
4
+ data.tar.gz: 35393a675ce46a9ce662e30b337aa7aba83c695b160b1400526277fc2574d270
5
5
  SHA512:
6
- metadata.gz: a7191de20229889e4a5cb9d60b75905400f60a5b3030f087f4a20ad130087fd9e6be21b94e4815f1e6990d0fed24556c75c090db3da434ba17f28559cea802a2
7
- data.tar.gz: c9432eb0edbefd26016740fafac5c7de0f3b6b817fedfba5f3896667aa32fb086ea5ba94a8bfa6e98149fd9469700056edaffc819a09518937af73da08e41083
6
+ metadata.gz: cab4b4836847914e458719b67c8737026481ba4ddc3978c30142f7df8107396c6e30c4a634e193760c74984e6615140ad39581f863aa15637b790ff0561411b9
7
+ data.tar.gz: 0c237cc521823800503aa2fefc220456db795c7d10194da9ab29dce656b3510c48752af9e4c1ada70dc36e9b6b32344ca2e2b3454c9d8febc6fe4da0ff509aba
data/lib/lownode.rb CHANGED
@@ -3,7 +3,6 @@
3
3
  require 'observers'
4
4
  require 'lowtype'
5
5
  require 'lowevent'
6
- require 'lowloop' # TODO: ResponseFactory should be done in LowLoop, which is where the class lives already anyway.
7
6
 
8
7
  require_relative 'templates/renderer'
9
8
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  require_relative 'template'
4
4
  require 'antlers/keywords'
5
+ require 'protocol/http'
5
6
 
6
7
  module Low
7
8
  module Templates
@@ -34,14 +35,14 @@ module Low
34
35
 
35
36
  module ClassMethods
36
37
  # Accepts all arguments but only sends each method the arguments it takes, like initialize(limit:) and render(event:).
37
- def render(**)
38
+ def render(**kwargs)
38
39
  # GOAL: Make return value configurable; ResponseEvent, Response, or body.
39
- body = response_body(**)
40
+ body = response_body(**kwargs)
40
41
 
41
42
  return if body.nil? || body == ''
42
43
 
43
- # TODO: ResponseFactory should be done in LowLoop, which is where the class lives already anyway.
44
- response = Low::ResponseFactory.html(body:)
44
+ headers = Protocol::HTTP::Headers.new([['content-type', 'text/html']])
45
+ response = Protocol::HTTP::Response.new('HTTP/1.1', response_status(kwargs[:event]), headers, Protocol::HTTP::Body::Buffered.wrap(body.strip))
45
46
  Low::Events::ResponseEvent.new(response:).tap(&:branch)
46
47
  end
47
48
 
@@ -57,6 +58,11 @@ module Low
57
58
 
58
59
  private
59
60
 
61
+ # Responses default to 200 but when rendering for a StatusEvent use that event's status code.
62
+ def response_status(event)
63
+ event.is_a?(Low::Events::StatusEvent) ? event.status.status_code : 200
64
+ end
65
+
60
66
  def response_body(**kwargs)
61
67
  node = new(**Antlers::Keywords.accepted(instance_method(:initialize), kwargs))
62
68
  return node.render_template(**kwargs) if @template
data/lib/version.rb CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Low
4
4
  module Node
5
- VERSION = '0.5.3'
5
+ VERSION = '0.5.5'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lownode
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.5.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - maedi
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2026-10-19 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
- name: lowevent
13
+ name: protocol-http
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
16
  - - ">="
@@ -24,7 +24,7 @@ dependencies:
24
24
  - !ruby/object:Gem::Version
25
25
  version: '0'
26
26
  - !ruby/object:Gem::Dependency
27
- name: lowloop
27
+ name: lowevent
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - ">="
@@ -57,14 +57,14 @@ dependencies:
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: 1.2.1
60
+ version: '1.3'
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: 1.2.1
67
+ version: '1.3'
68
68
  - !ruby/object:Gem::Dependency
69
69
  name: observers
70
70
  requirement: !ruby/object:Gem::Requirement
@@ -108,7 +108,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0'
110
110
  requirements: []
111
- rubygems_version: 3.6.2
111
+ rubygems_version: 4.0.6
112
112
  specification_version: 4
113
113
  summary: Flexible building blocks
114
114
  test_files: []