rackr 0.0.67 → 0.0.69
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/rackr/action/callbacks.rb +50 -0
- data/lib/rackr/action.rb +22 -2
- data/lib/rackr.rb +3 -1
- metadata +5 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 810ef8b92726e786ea2f83d5ef209c5599b6e18367f5b553b0a066c6b9aa8918
|
|
4
|
+
data.tar.gz: d08a9f5fdcc160faf6f1f2b00c3e7adf366293db191d53752f1f8d8d61b337dd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 30ac6f7b0fd445d02643401f933cbf01144c15c9e804c33770b26bab6b6ab49fdbc490b741a6c1a12d3fb602c8a6cc3e81a96f7d14ff12b1f927457fbba037e5
|
|
7
|
+
data.tar.gz: ed54acc2820349888d5e2f973e0f4929eac7319ac750183bcdf32183ec1ebffa4f7ca3e594b188c011286458641ed7596fe3d795ce1bd551fe2a92c91c1e3b5a
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
class Rackr
|
|
4
|
+
module Action
|
|
5
|
+
# Callbacks for actions
|
|
6
|
+
module Callbacks
|
|
7
|
+
include Rackr::Utils
|
|
8
|
+
|
|
9
|
+
def self.included(base)
|
|
10
|
+
base.extend(ClassMethods)
|
|
11
|
+
base.extend(Rackr::Utils)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Class methods for callbacks
|
|
15
|
+
module ClassMethods
|
|
16
|
+
def before(callback)
|
|
17
|
+
@befores = ensure_array(callback)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def befores
|
|
21
|
+
@befores
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def after(callback)
|
|
25
|
+
@afters = ensure_array(callback)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def afters
|
|
29
|
+
@afters
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def before(callback)
|
|
34
|
+
@befores = ensure_array(callback)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def befores
|
|
38
|
+
@befores || self.class.befores || []
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def after(callback)
|
|
42
|
+
@afters = ensure_array(callback)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def afters
|
|
46
|
+
@afters || self.class.afters || []
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
data/lib/rackr/action.rb
CHANGED
|
@@ -169,7 +169,17 @@ class Rackr
|
|
|
169
169
|
routes.send(method)&.dig(name)
|
|
170
170
|
end
|
|
171
171
|
|
|
172
|
-
def render(**opts)
|
|
172
|
+
def render(content = nil, **opts)
|
|
173
|
+
if content
|
|
174
|
+
return RENDER[:html].call(
|
|
175
|
+
content.to_s,
|
|
176
|
+
opts[:status],
|
|
177
|
+
opts[:headers] || {},
|
|
178
|
+
opts[:charset] || 'utf-8',
|
|
179
|
+
content_security_policy
|
|
180
|
+
)
|
|
181
|
+
end
|
|
182
|
+
|
|
173
183
|
type = opts.keys.first
|
|
174
184
|
content = opts[type]
|
|
175
185
|
|
|
@@ -206,7 +216,17 @@ class Rackr
|
|
|
206
216
|
)
|
|
207
217
|
end
|
|
208
218
|
|
|
209
|
-
def build_response(**opts)
|
|
219
|
+
def build_response(content = nil, **opts)
|
|
220
|
+
if content
|
|
221
|
+
return BUILD_RESPONSE[:html].call(
|
|
222
|
+
content.to_s,
|
|
223
|
+
opts[:status] || 200,
|
|
224
|
+
opts[:headers] || {},
|
|
225
|
+
opts[:charset] || 'utf-8',
|
|
226
|
+
content_security_policy
|
|
227
|
+
)
|
|
228
|
+
end
|
|
229
|
+
|
|
210
230
|
type = opts.keys.first
|
|
211
231
|
content = opts[type]
|
|
212
232
|
|
data/lib/rackr.rb
CHANGED
|
@@ -7,6 +7,8 @@ require_relative 'rackr/router'
|
|
|
7
7
|
|
|
8
8
|
# Rackr is a simple router for Rack.
|
|
9
9
|
class Rackr
|
|
10
|
+
VERSION = '0.0.69'
|
|
11
|
+
|
|
10
12
|
class NotFound < StandardError; end
|
|
11
13
|
|
|
12
14
|
# Dump is a special error that is used to dump the content of a request.
|
|
@@ -29,7 +31,7 @@ class Rackr
|
|
|
29
31
|
@router = Router.new(config, before: before, after: after)
|
|
30
32
|
end
|
|
31
33
|
|
|
32
|
-
def
|
|
34
|
+
def app(&)
|
|
33
35
|
instance_eval(&)
|
|
34
36
|
|
|
35
37
|
@router
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rackr
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.69
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Henrique F. Teixeira
|
|
8
8
|
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date: 2026-01-
|
|
10
|
+
date: 2026-01-18 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: erubi
|
|
@@ -57,7 +57,7 @@ dependencies:
|
|
|
57
57
|
- - "<"
|
|
58
58
|
- !ruby/object:Gem::Version
|
|
59
59
|
version: '4.0'
|
|
60
|
-
description:
|
|
60
|
+
description: Rack first web framework.
|
|
61
61
|
email: hriqueft@gmail.com
|
|
62
62
|
executables: []
|
|
63
63
|
extensions: []
|
|
@@ -65,6 +65,7 @@ extra_rdoc_files: []
|
|
|
65
65
|
files:
|
|
66
66
|
- lib/rackr.rb
|
|
67
67
|
- lib/rackr/action.rb
|
|
68
|
+
- lib/rackr/action/callbacks.rb
|
|
68
69
|
- lib/rackr/callback.rb
|
|
69
70
|
- lib/rackr/router.rb
|
|
70
71
|
- lib/rackr/router/build_request.rb
|
|
@@ -95,5 +96,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
95
96
|
requirements: []
|
|
96
97
|
rubygems_version: 3.6.6
|
|
97
98
|
specification_version: 4
|
|
98
|
-
summary:
|
|
99
|
+
summary: Rack first web framework.
|
|
99
100
|
test_files: []
|