syntropy 0.27.2 → 0.27.3

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: e80e6b84e9a27a66ceea390152e0a5f78e1e9f09faa2e05f2cf3d3633524d859
4
- data.tar.gz: 6df75f9834f47adb3cbb2d72d7c725c3630f7d2d90deef7d4667e108a812b572
3
+ metadata.gz: 2e5ab54a8f18c43cde603b8de66783b40cc73ce3587acacaaea5cde18c0d1e7d
4
+ data.tar.gz: 1c3660cbc1a05cf4c9c89d4353df55abe9636a462bac3b5ad83b026414fceb91
5
5
  SHA512:
6
- metadata.gz: 7b244f6672e0cb10456c7723a7f991566a7d31de4ea3072fe498a13901eebaab558dd7914e12de85f0262e08080a51959c742ef1b7149be7f13d75be56259555
7
- data.tar.gz: 64824cf03670ab6ff06e12c639011dfe67a3b0d0e32d18daad5aa23df24e8dfaafb2d01e2dced957f7493fdf6dc6fbb0f040959d3ab6c2bc2abea55a0bf0fd7d
6
+ metadata.gz: fe15c5b9460cc5be76a66340672db29fa5b6c12bf72acd7e3de8a6d3260f31a3da7661e1520296a73a183e82c02b91c53099d6ce6c7398a06b79887836f47e96
7
+ data.tar.gz: 7862290df41aa4d427a5267fbcfce99aa59db4c89d34166e4d3bdefdc9dca85e976c44082c1322cb5be0c7d76860cf4a9d7b7e80201b9ea62f66cfedd6aa7b94
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ # 0.27.3 2025-10-23
2
+
3
+ - Do not log Not Found errors
4
+ - Fix handling of syntax error in module
5
+ - Update dependencies
6
+
1
7
  # 0.27.2 2025-10-21
2
8
 
3
9
  - Add `Module#collection_module!` method
data/TODO.md CHANGED
@@ -1,8 +1,5 @@
1
1
  ## Immediate
2
2
 
3
- - [ ] On internal error in module, default response should be to display page
4
- showing error, with auto refresh on file change
5
- - [ ] Do not log error backtrace for 404 errors (or other )
6
3
  - [ ] Collection - treat directories and files as collections of data.
7
4
 
8
5
  Kind of similar to the routing tree, but instead of routes it just takes a
data/lib/syntropy/app.rb CHANGED
@@ -70,13 +70,13 @@ module Syntropy
70
70
  req.route = route
71
71
  proc = route[:proc] ||= compute_route_proc(route)
72
72
  proc.(req)
73
- rescue StandardError => e
73
+ rescue ScriptError, StandardError => e
74
74
  @logger&.error(
75
75
  message: "Error while serving request: #{e.message}",
76
76
  method: req.method,
77
77
  path: req.path,
78
78
  error: e
79
- )
79
+ ) if Error.log_error?(e)
80
80
  error_handler = get_error_handler(route)
81
81
  error_handler.(req, e)
82
82
  end
@@ -8,7 +8,7 @@ module Syntropy
8
8
  Status = Qeweney::Status
9
9
 
10
10
  # By default, the HTTP status for errors is 500 Internal Server Error
11
- DEFAULT_STATUS = Qeweney::Status::INTERNAL_SERVER_ERROR
11
+ DEFAULT_STATUS = Status::INTERNAL_SERVER_ERROR
12
12
 
13
13
  # Returns the HTTP status for the given exception
14
14
  #
@@ -18,6 +18,10 @@ module Syntropy
18
18
  err.respond_to?(:http_status) ? err.http_status : DEFAULT_STATUS
19
19
  end
20
20
 
21
+ def self.log_error?(err)
22
+ http_status(err) != Status::NOT_FOUND
23
+ end
24
+
21
25
  # Creates an error with status 404 Not Found
22
26
  #
23
27
  # @return [Syntropy::Error]
@@ -49,14 +53,14 @@ module Syntropy
49
53
  #
50
54
  # @return [Integer, String] HTTP status
51
55
  def http_status
52
- @http_status || Qeweney::Status::INTERNAL_SERVER_ERROR
56
+ @http_status || Status::INTERNAL_SERVER_ERROR
53
57
  end
54
58
  end
55
59
 
56
60
  # ValidationError is raised when a validation has failed.
57
61
  class ValidationError < Error
58
62
  def initialize(msg)
59
- super(msg, Qeweney::Status::BAD_REQUEST)
63
+ super(msg, Status::BAD_REQUEST)
60
64
  end
61
65
  end
62
66
  end
@@ -170,12 +170,6 @@ module Syntropy
170
170
  m.instance_eval(code, fn)
171
171
  env[:logger]&.info(message: "Loaded module at #{fn}")
172
172
  m
173
- rescue StandardError => e
174
- env[:logger]&.error(
175
- message: "Error while loading module #{fn}",
176
- error: e
177
- )
178
- raise
179
173
  end
180
174
 
181
175
  # Initializes a module with the given environment hash.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Syntropy
4
- VERSION = '0.27.2'
4
+ VERSION = '0.27.3'
5
5
  end
data/syntropy.gemspec CHANGED
@@ -21,16 +21,16 @@ Gem::Specification.new do |s|
21
21
  s.required_ruby_version = '>= 3.4'
22
22
  s.executables = ['syntropy']
23
23
 
24
- s.add_dependency 'extralite', '2.13'
25
- s.add_dependency 'json', '2.13.2'
26
- s.add_dependency 'papercraft', '3.0.1'
27
- s.add_dependency 'qeweney', '0.24'
28
- s.add_dependency 'tp2', '0.19'
29
- s.add_dependency 'uringmachine', '0.18'
24
+ s.add_dependency 'extralite', '~>2.13'
25
+ s.add_dependency 'json', '~>2.15.1'
26
+ s.add_dependency 'papercraft', '~>3.0.2'
27
+ s.add_dependency 'qeweney', '~>0.24'
28
+ s.add_dependency 'tp2', '~>0.19'
29
+ s.add_dependency 'uringmachine', '~>0.18'
30
30
 
31
- s.add_dependency 'listen', '3.9.0'
32
- s.add_dependency 'logger', '1.7.0'
31
+ s.add_dependency 'listen', '~>3.9.0'
32
+ s.add_dependency 'logger', '~>1.7.0'
33
33
 
34
- s.add_development_dependency 'minitest', '5.25.5'
35
- s.add_development_dependency 'rake', '13.3.0'
34
+ s.add_development_dependency 'minitest', '~>5.26.0'
35
+ s.add_development_dependency 'rake', '~>13.3.0'
36
36
  end
@@ -0,0 +1,3 @@
1
+ ? export ->(req) {
2
+ req.respond('foobar')
3
+ }
data/test/test_app.rb CHANGED
@@ -117,6 +117,9 @@ class AppTest < Minitest::Test
117
117
 
118
118
  req = make_request(':method' => 'GET', ':path' => '/test/rss')
119
119
  assert_equal '<link>foo</link>', req.response_body
120
+
121
+ req = make_request(':method' => 'GET', ':path' => '/test/bad_mod')
122
+ assert_equal Status::INTERNAL_SERVER_ERROR, req.response_status
120
123
  end
121
124
 
122
125
  def test_app_file_watching
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: syntropy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.27.2
4
+ version: 0.27.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sharon Rosner
@@ -13,140 +13,140 @@ dependencies:
13
13
  name: extralite
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
- - - '='
16
+ - - "~>"
17
17
  - !ruby/object:Gem::Version
18
18
  version: '2.13'
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
- - - '='
23
+ - - "~>"
24
24
  - !ruby/object:Gem::Version
25
25
  version: '2.13'
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: json
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
- - - '='
30
+ - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: 2.13.2
32
+ version: 2.15.1
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - '='
37
+ - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 2.13.2
39
+ version: 2.15.1
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: papercraft
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - '='
44
+ - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: 3.0.1
46
+ version: 3.0.2
47
47
  type: :runtime
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - '='
51
+ - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: 3.0.1
53
+ version: 3.0.2
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: qeweney
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - '='
58
+ - - "~>"
59
59
  - !ruby/object:Gem::Version
60
60
  version: '0.24'
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
67
  version: '0.24'
68
68
  - !ruby/object:Gem::Dependency
69
69
  name: tp2
70
70
  requirement: !ruby/object:Gem::Requirement
71
71
  requirements:
72
- - - '='
72
+ - - "~>"
73
73
  - !ruby/object:Gem::Version
74
74
  version: '0.19'
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
81
  version: '0.19'
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: uringmachine
84
84
  requirement: !ruby/object:Gem::Requirement
85
85
  requirements:
86
- - - '='
86
+ - - "~>"
87
87
  - !ruby/object:Gem::Version
88
88
  version: '0.18'
89
89
  type: :runtime
90
90
  prerelease: false
91
91
  version_requirements: !ruby/object:Gem::Requirement
92
92
  requirements:
93
- - - '='
93
+ - - "~>"
94
94
  - !ruby/object:Gem::Version
95
95
  version: '0.18'
96
96
  - !ruby/object:Gem::Dependency
97
97
  name: listen
98
98
  requirement: !ruby/object:Gem::Requirement
99
99
  requirements:
100
- - - '='
100
+ - - "~>"
101
101
  - !ruby/object:Gem::Version
102
102
  version: 3.9.0
103
103
  type: :runtime
104
104
  prerelease: false
105
105
  version_requirements: !ruby/object:Gem::Requirement
106
106
  requirements:
107
- - - '='
107
+ - - "~>"
108
108
  - !ruby/object:Gem::Version
109
109
  version: 3.9.0
110
110
  - !ruby/object:Gem::Dependency
111
111
  name: logger
112
112
  requirement: !ruby/object:Gem::Requirement
113
113
  requirements:
114
- - - '='
114
+ - - "~>"
115
115
  - !ruby/object:Gem::Version
116
116
  version: 1.7.0
117
117
  type: :runtime
118
118
  prerelease: false
119
119
  version_requirements: !ruby/object:Gem::Requirement
120
120
  requirements:
121
- - - '='
121
+ - - "~>"
122
122
  - !ruby/object:Gem::Version
123
123
  version: 1.7.0
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: minitest
126
126
  requirement: !ruby/object:Gem::Requirement
127
127
  requirements:
128
- - - '='
128
+ - - "~>"
129
129
  - !ruby/object:Gem::Version
130
- version: 5.25.5
130
+ version: 5.26.0
131
131
  type: :development
132
132
  prerelease: false
133
133
  version_requirements: !ruby/object:Gem::Requirement
134
134
  requirements:
135
- - - '='
135
+ - - "~>"
136
136
  - !ruby/object:Gem::Version
137
- version: 5.25.5
137
+ version: 5.26.0
138
138
  - !ruby/object:Gem::Dependency
139
139
  name: rake
140
140
  requirement: !ruby/object:Gem::Requirement
141
141
  requirements:
142
- - - '='
142
+ - - "~>"
143
143
  - !ruby/object:Gem::Version
144
144
  version: 13.3.0
145
145
  type: :development
146
146
  prerelease: false
147
147
  version_requirements: !ruby/object:Gem::Requirement
148
148
  requirements:
149
- - - '='
149
+ - - "~>"
150
150
  - !ruby/object:Gem::Version
151
151
  version: 13.3.0
152
152
  email: sharon@noteflakes.com
@@ -236,6 +236,7 @@ files:
236
236
  - test/app/about/raise.rb
237
237
  - test/app/api+.rb
238
238
  - test/app/assets/style.css
239
+ - test/app/bad_mod.rb
239
240
  - test/app/bar.rb
240
241
  - test/app/baz.rb
241
242
  - test/app/index.html