impression 0.13 → 0.15
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/.github/FUNDING.yml +1 -1
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +8 -58
- data/impression.gemspec +3 -5
- data/lib/impression/app.rb +8 -8
- data/lib/impression/rack_app.rb +1 -1
- data/lib/impression/request_extensions/responses.rb +1 -1
- data/lib/impression/request_extensions/routing.rb +1 -1
- data/lib/impression/request_extensions.rb +1 -1
- data/lib/impression/version.rb +1 -1
- data/lib/impression.rb +1 -1
- data/test/helper.rb +2 -1
- data/test/test_app.rb +3 -3
- data/test/test_resource.rb +1 -1
- metadata +4 -32
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: de6e91b7651095141c3691dd11092fb1c2b775784bdc66b10db031468f6cf366
|
|
4
|
+
data.tar.gz: 899d98109c2112e66e890c3fe3232a3a93c5c14850f8d48bcee4f049290902af
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9fce94c7e5aca307ff7cd83ea5a69d5b8c2f9c4d6b7cd23877003a348cfac662b31c37e51cdb9348fbb250a8ead1c0ecd0c506a809fd31b0f158410bbbd27694
|
|
7
|
+
data.tar.gz: 1b3d0a1f5c0cefe0e38565c3b448c582cef9b9a0474a63e62f280c7b3cb21b9147d7783da9747bd688199aef31b4c72b050561741339af0043dc94c8ce2ada3c
|
data/.github/FUNDING.yml
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
github:
|
|
1
|
+
github: noteflakes
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,88 +1,37 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
impression (0.
|
|
5
|
-
modulation (~> 1.1)
|
|
4
|
+
impression (0.15)
|
|
6
5
|
papercraft (~> 0.23)
|
|
7
|
-
polyphony (~> 0.93)
|
|
8
6
|
qeweney (~> 0.18)
|
|
9
|
-
tipi (~> 0.52)
|
|
10
7
|
|
|
11
8
|
GEM
|
|
12
9
|
remote: https://rubygems.org/
|
|
13
10
|
specs:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
escape_utils (1.2.1)
|
|
18
|
-
ever (0.1)
|
|
19
|
-
extralite (1.14)
|
|
20
|
-
faraday (1.10.0)
|
|
21
|
-
faraday-em_http (~> 1.0)
|
|
22
|
-
faraday-em_synchrony (~> 1.0)
|
|
23
|
-
faraday-excon (~> 1.1)
|
|
24
|
-
faraday-httpclient (~> 1.0)
|
|
25
|
-
faraday-multipart (~> 1.0)
|
|
26
|
-
faraday-net_http (~> 1.0)
|
|
27
|
-
faraday-net_http_persistent (~> 1.0)
|
|
28
|
-
faraday-patron (~> 1.0)
|
|
29
|
-
faraday-rack (~> 1.0)
|
|
30
|
-
faraday-retry (~> 1.0)
|
|
31
|
-
ruby2_keywords (>= 0.0.4)
|
|
32
|
-
faraday-em_http (1.0.0)
|
|
33
|
-
faraday-em_synchrony (1.0.0)
|
|
34
|
-
faraday-excon (1.1.0)
|
|
35
|
-
faraday-httpclient (1.0.1)
|
|
36
|
-
faraday-multipart (1.0.3)
|
|
37
|
-
multipart-post (>= 1.2, < 3)
|
|
38
|
-
faraday-net_http (1.0.1)
|
|
39
|
-
faraday-net_http_persistent (1.2.0)
|
|
40
|
-
faraday-patron (1.0.0)
|
|
41
|
-
faraday-rack (1.0.0)
|
|
42
|
-
faraday-retry (1.0.3)
|
|
43
|
-
h1p (0.5)
|
|
44
|
-
http-2 (0.11.0)
|
|
45
|
-
json (2.6.1)
|
|
11
|
+
docile (1.4.1)
|
|
12
|
+
escape_utils (1.2.2)
|
|
13
|
+
json (2.8.2)
|
|
46
14
|
kramdown (2.3.2)
|
|
47
15
|
rexml
|
|
48
16
|
kramdown-parser-gfm (1.1.0)
|
|
49
17
|
kramdown (~> 2.0)
|
|
50
|
-
localhost (1.1.9)
|
|
51
18
|
minitest (5.11.3)
|
|
52
|
-
modulation (1.
|
|
53
|
-
|
|
54
|
-
multipart-post (2.1.1)
|
|
55
|
-
papercraft (0.24)
|
|
19
|
+
modulation (1.2)
|
|
20
|
+
papercraft (0.29)
|
|
56
21
|
escape_utils (~> 1.2.1)
|
|
57
22
|
kramdown (~> 2.3.1)
|
|
58
23
|
kramdown-parser-gfm (~> 1.1.0)
|
|
59
24
|
rouge (~> 3.27.0)
|
|
60
|
-
polyphony (0.93)
|
|
61
25
|
qeweney (0.18)
|
|
62
26
|
escape_utils (~> 1.2.1)
|
|
63
|
-
rack (2.2.3)
|
|
64
27
|
rake (12.3.3)
|
|
65
|
-
rexml (3.
|
|
28
|
+
rexml (3.4.0)
|
|
66
29
|
rouge (3.27.0)
|
|
67
|
-
ruby2_keywords (0.0.5)
|
|
68
30
|
simplecov (0.17.1)
|
|
69
31
|
docile (~> 1.1)
|
|
70
32
|
json (>= 1.8, < 3)
|
|
71
33
|
simplecov-html (~> 0.10.0)
|
|
72
34
|
simplecov-html (0.10.2)
|
|
73
|
-
tipi (0.52)
|
|
74
|
-
acme-client (~> 2.0.9)
|
|
75
|
-
ever (~> 0.1)
|
|
76
|
-
extralite (~> 1.14)
|
|
77
|
-
h1p (~> 0.4)
|
|
78
|
-
http-2 (~> 0.11)
|
|
79
|
-
localhost (~> 1.1.4)
|
|
80
|
-
msgpack (~> 1.4.2)
|
|
81
|
-
polyphony (~> 0.80)
|
|
82
|
-
qeweney (~> 0.18)
|
|
83
|
-
rack (>= 2.0.8, < 2.3.0)
|
|
84
|
-
websocket (~> 1.2.8)
|
|
85
|
-
websocket (1.2.9)
|
|
86
35
|
|
|
87
36
|
PLATFORMS
|
|
88
37
|
ruby
|
|
@@ -90,6 +39,7 @@ PLATFORMS
|
|
|
90
39
|
DEPENDENCIES
|
|
91
40
|
impression!
|
|
92
41
|
minitest (~> 5.11.3)
|
|
42
|
+
modulation (~> 1.1)
|
|
93
43
|
rake (~> 12.3.3)
|
|
94
44
|
simplecov (~> 0.17.1)
|
|
95
45
|
|
data/impression.gemspec
CHANGED
|
@@ -20,14 +20,12 @@ Gem::Specification.new do |s|
|
|
|
20
20
|
s.require_paths = ["lib"]
|
|
21
21
|
s.required_ruby_version = '>= 2.6'
|
|
22
22
|
|
|
23
|
-
s.add_runtime_dependency 'polyphony', '~>0.93'
|
|
24
|
-
s.add_runtime_dependency 'tipi', '~>0.52'
|
|
23
|
+
# s.add_runtime_dependency 'polyphony', '~>0.93'
|
|
24
|
+
# s.add_runtime_dependency 'tipi', '~>0.52'
|
|
25
25
|
s.add_runtime_dependency 'qeweney', '~>0.18'
|
|
26
|
-
|
|
27
26
|
s.add_runtime_dependency 'papercraft', '~>0.23'
|
|
28
|
-
s.add_runtime_dependency 'modulation', '~>1.1'
|
|
29
|
-
|
|
30
27
|
|
|
28
|
+
s.add_development_dependency 'modulation', '~>1.1'
|
|
31
29
|
s.add_development_dependency 'rake', '~>12.3.3'
|
|
32
30
|
s.add_development_dependency 'minitest', '~>5.11.3'
|
|
33
31
|
s.add_development_dependency 'simplecov', '~>0.17.1'
|
data/lib/impression/app.rb
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
require 'fileutils'
|
|
4
4
|
require 'date'
|
|
5
5
|
require 'yaml'
|
|
6
|
-
require 'modulation'
|
|
7
6
|
require 'papercraft'
|
|
8
7
|
|
|
9
8
|
require_relative './resource'
|
|
@@ -16,7 +15,7 @@ module Impression
|
|
|
16
15
|
def initialize(**props)
|
|
17
16
|
super
|
|
18
17
|
@layouts = {}
|
|
19
|
-
@file_info_loader = spin { run_file_info_loader }
|
|
18
|
+
# @file_info_loader = spin { run_file_info_loader }
|
|
20
19
|
end
|
|
21
20
|
|
|
22
21
|
# Returns a list of pages found in the given directory (relative to the base
|
|
@@ -66,8 +65,9 @@ module Impression
|
|
|
66
65
|
end
|
|
67
66
|
|
|
68
67
|
def safe_calculate_path_info(path)
|
|
69
|
-
@file_info_loader << [Fiber.current, path]
|
|
70
|
-
receive
|
|
68
|
+
# @file_info_loader << [Fiber.current, path]
|
|
69
|
+
# receive
|
|
70
|
+
calculate_path_info(path)
|
|
71
71
|
end
|
|
72
72
|
|
|
73
73
|
# Returns the path info for the given relative path.
|
|
@@ -291,10 +291,10 @@ module Impression
|
|
|
291
291
|
layout ||= 'default'
|
|
292
292
|
path = File.join(@directory, "_layouts/#{layout}.rb")
|
|
293
293
|
raise "Layout not found #{path}" unless File.file?(path)
|
|
294
|
-
|
|
294
|
+
|
|
295
295
|
import path
|
|
296
296
|
end
|
|
297
|
-
|
|
297
|
+
|
|
298
298
|
# Parses the markdown file at the given path.
|
|
299
299
|
#
|
|
300
300
|
# @param path [String] file path
|
|
@@ -311,11 +311,11 @@ module Impression
|
|
|
311
311
|
if (m = content.match(FRONT_MATTER_REGEXP))
|
|
312
312
|
front_matter = m[1]
|
|
313
313
|
content = m.post_match
|
|
314
|
-
|
|
314
|
+
|
|
315
315
|
yaml = YAML.safe_load(front_matter, **YAML_OPTS)
|
|
316
316
|
atts = atts.merge(yaml)
|
|
317
317
|
end
|
|
318
|
-
|
|
318
|
+
|
|
319
319
|
[atts, content]
|
|
320
320
|
end
|
|
321
321
|
|
data/lib/impression/rack_app.rb
CHANGED
|
@@ -8,7 +8,7 @@ require_relative './request_extensions/responses'
|
|
|
8
8
|
|
|
9
9
|
# Extensions to `Qeweney::Request`
|
|
10
10
|
class Qeweney::Request
|
|
11
|
-
|
|
11
|
+
|
|
12
12
|
# include Impression::Pages::RequestMethods
|
|
13
13
|
include Impression::RequestExtensions::Routing
|
|
14
14
|
include Impression::RequestExtensions::Responses
|
data/lib/impression/version.rb
CHANGED
data/lib/impression.rb
CHANGED
data/test/helper.rb
CHANGED
|
@@ -5,6 +5,7 @@ require_relative './coverage' if ENV['COVERAGE']
|
|
|
5
5
|
require 'minitest/autorun'
|
|
6
6
|
require 'impression'
|
|
7
7
|
require 'qeweney/test_adapter'
|
|
8
|
+
require 'modulation'
|
|
8
9
|
|
|
9
10
|
module Kernel
|
|
10
11
|
def mock_req(**args)
|
|
@@ -95,4 +96,4 @@ class Qeweney::Request
|
|
|
95
96
|
end
|
|
96
97
|
end
|
|
97
98
|
|
|
98
|
-
puts "Polyphony backend: #{Thread.current.backend.kind}"
|
|
99
|
+
# puts "Polyphony backend: #{Thread.current.backend.kind}"
|
data/test/test_app.rb
CHANGED
|
@@ -260,7 +260,7 @@ class AppTest < MiniTest::Test
|
|
|
260
260
|
def test_template_resource_and_request
|
|
261
261
|
req = mock_req(':method' => 'GET', ':path' => '/foobar?q=42')
|
|
262
262
|
@app.route_and_call(req)
|
|
263
|
-
|
|
263
|
+
|
|
264
264
|
foo = Papercraft.html {
|
|
265
265
|
html5 {
|
|
266
266
|
head {
|
|
@@ -360,14 +360,14 @@ class AbstractAppTest < MiniTest::Test
|
|
|
360
360
|
|
|
361
361
|
def test_abstract_app_each
|
|
362
362
|
app = Impression::App.new(path: '/')
|
|
363
|
-
|
|
363
|
+
|
|
364
364
|
buffer = []
|
|
365
365
|
app.each { |r| buffer << r }
|
|
366
366
|
assert_equal [app], buffer
|
|
367
367
|
|
|
368
368
|
foo = PathRenderingResource.new(parent: app, path: 'foo')
|
|
369
369
|
bar = PathRenderingResource.new(parent: app, path: 'bar')
|
|
370
|
-
|
|
370
|
+
|
|
371
371
|
buffer = []
|
|
372
372
|
app.each { |r| buffer << r }
|
|
373
373
|
assert_equal [app, foo, bar], buffer
|
data/test/test_resource.rb
CHANGED
|
@@ -55,7 +55,7 @@ class ResourceTest < MiniTest::Test
|
|
|
55
55
|
req = mock_req(':method' => 'GET', ':path' => '/foo/bar/littlebar')
|
|
56
56
|
assert_equal r4, r1.route(req)
|
|
57
57
|
assert_equal '/', req.resource_relative_path
|
|
58
|
-
|
|
58
|
+
|
|
59
59
|
req = mock_req(':method' => 'GET', ':path' => '/foo/bar/littlebar/littlebaz')
|
|
60
60
|
assert_equal r4, r1.route(req)
|
|
61
61
|
assert_equal '/littlebaz', req.resource_relative_path
|
metadata
CHANGED
|
@@ -1,43 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: impression
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: '0.
|
|
4
|
+
version: '0.15'
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sharon Rosner
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2024-12-16 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
|
-
- !ruby/object:Gem::Dependency
|
|
14
|
-
name: polyphony
|
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
|
16
|
-
requirements:
|
|
17
|
-
- - "~>"
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: '0.93'
|
|
20
|
-
type: :runtime
|
|
21
|
-
prerelease: false
|
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
-
requirements:
|
|
24
|
-
- - "~>"
|
|
25
|
-
- !ruby/object:Gem::Version
|
|
26
|
-
version: '0.93'
|
|
27
|
-
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: tipi
|
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
|
30
|
-
requirements:
|
|
31
|
-
- - "~>"
|
|
32
|
-
- !ruby/object:Gem::Version
|
|
33
|
-
version: '0.52'
|
|
34
|
-
type: :runtime
|
|
35
|
-
prerelease: false
|
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
-
requirements:
|
|
38
|
-
- - "~>"
|
|
39
|
-
- !ruby/object:Gem::Version
|
|
40
|
-
version: '0.52'
|
|
41
13
|
- !ruby/object:Gem::Dependency
|
|
42
14
|
name: qeweney
|
|
43
15
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -73,7 +45,7 @@ dependencies:
|
|
|
73
45
|
- - "~>"
|
|
74
46
|
- !ruby/object:Gem::Version
|
|
75
47
|
version: '1.1'
|
|
76
|
-
type: :
|
|
48
|
+
type: :development
|
|
77
49
|
prerelease: false
|
|
78
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
51
|
requirements:
|
|
@@ -208,7 +180,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
208
180
|
- !ruby/object:Gem::Version
|
|
209
181
|
version: '0'
|
|
210
182
|
requirements: []
|
|
211
|
-
rubygems_version: 3.
|
|
183
|
+
rubygems_version: 3.5.16
|
|
212
184
|
signing_key:
|
|
213
185
|
specification_version: 4
|
|
214
186
|
summary: Impression - a modern web framework for Ruby
|