syntropy 0.21 → 0.23

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: 8069c4fe6a21289babda24dae14b580c5ea476a5d77bdcb09e31ae72d751459c
4
- data.tar.gz: de80dbc652706f64819cef25d23ca81f19ed0e628d2860ae01a0e5792ea1bc6d
3
+ metadata.gz: 44069c4735b487d31b7aa35515174fc48530ce11dfeb5a1fbe83d40b3788ca69
4
+ data.tar.gz: 893cf933d5bd4466d02ef34b561f2e993653b35a5d2f94c134e0fac130c16867
5
5
  SHA512:
6
- metadata.gz: ec0769f1619a71b926a19c56499b28c4e2331d05d417c8d0d6d3b21c1804a2ea2e52c93307a716c289c381b617bb66fcd174bb92b0c9b612f80f7561b32f0bba
7
- data.tar.gz: b836b5a0bd012ae3a179c515cb177959723da53e99c0bb2212a1b5caab6270b38a9a33282b73279a6915ac768324cd61604ce6db02237f33b55980145c87f5e8
6
+ metadata.gz: 66e03a3a6435d6fc746f1a22aeae4c62d51c5a93ad52b25ef07ff08c40d580338f69cf6e63afc310ab9fe479f1b9945f6515c0745570e93072fa4166c18fee49
7
+ data.tar.gz: 56ab5530e451a72a133b01b571b93861427519a24e23a0278a42fe9f4922d9562ff2f0038d9e88e95ab057228988312c73ecc637ebb8cd48db5b211c5060bce3
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ # 0.23 2025-10-02
2
+
3
+ - Update dependencies
4
+
5
+ # 0.22 2025-09-29
6
+
7
+ - Fix `@ref` for index modules
8
+
1
9
  # 0.21 2025-09-29
2
10
 
3
11
  - Fix routing with wildcard `index+.rb` modules
data/TODO.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ## Immediate
2
2
 
3
- - [ ] On internal error in module, default action should be to display page
3
+ - [ ] On internal error in module, default response should be to display page
4
4
  showing error, with auto refresh on file change
5
5
  - [ ] Do not log error backtrace for 404 errors (or other )
6
6
  - [ ] Collection - treat directories and files as collections of data.
@@ -98,7 +98,7 @@ module Syntropy
98
98
 
99
99
  @fn_map[fn] = ref
100
100
  code = IO.read(fn)
101
- env = @env.merge(module_loader: self, ref: ref)
101
+ env = @env.merge(module_loader: self, ref: clean_ref(ref))
102
102
  m = Syntropy::Module.load(env, code, fn)
103
103
  add_dependencies(ref, m.__dependencies__)
104
104
  export_value = transform_module_export_value(m.__export_value__)
@@ -110,6 +110,12 @@ module Syntropy
110
110
  }
111
111
  end
112
112
 
113
+ def clean_ref(ref)
114
+ return '/' if ref =~ /^index(\+)?$/
115
+
116
+ ref.gsub(/\/index(?:\+)?$/, '')
117
+ end
118
+
113
119
  # Transforms the given export value. If the value is nil, an exception is
114
120
  # raised.
115
121
  #
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Syntropy
4
- VERSION = '0.21'
4
+ VERSION = '0.23'
5
5
  end
data/syntropy.gemspec CHANGED
@@ -23,9 +23,9 @@ Gem::Specification.new do |s|
23
23
 
24
24
  s.add_dependency 'extralite', '2.13'
25
25
  s.add_dependency 'json', '2.13.2'
26
- s.add_dependency 'papercraft', '2.14'
27
- s.add_dependency 'qeweney', '0.22'
28
- s.add_dependency 'tp2', '0.18'
26
+ s.add_dependency 'papercraft', '2.16'
27
+ s.add_dependency 'qeweney', '0.23'
28
+ s.add_dependency 'tp2', '0.19'
29
29
  s.add_dependency 'uringmachine', '0.18'
30
30
 
31
31
  s.add_dependency 'listen', '3.9.0'
@@ -0,0 +1,5 @@
1
+ def env
2
+ @env
3
+ end
4
+
5
+ export self
@@ -0,0 +1,5 @@
1
+ def env
2
+ @env
3
+ end
4
+
5
+ export self
data/test/test_module.rb CHANGED
@@ -43,6 +43,12 @@ class ModuleTest < Minitest::Test
43
43
  assert_equal @machine, mod.machine
44
44
  assert_equal @loader, mod.module_loader
45
45
  assert_equal 42, mod.app
46
+
47
+ assert_equal mod, mod.module_const
48
+ assert_equal @env.merge(module_loader: @loader, ref: '_lib/env'), mod.env
49
+ assert_equal @machine, mod.machine
50
+ assert_equal @loader, mod.module_loader
51
+ assert_equal 42, mod.app
46
52
  end
47
53
 
48
54
  def test_dependency_invalidation
@@ -54,4 +60,12 @@ class ModuleTest < Minitest::Test
54
60
 
55
61
  assert_equal [], @loader.modules.keys
56
62
  end
63
+
64
+ def test_index_module_env
65
+ mod = @loader.load('mod/bar/index+')
66
+ assert_equal 'mod/bar', mod.env[:ref]
67
+
68
+ mod = @loader.load('mod/foo/index')
69
+ assert_equal 'mod/foo', mod.env[:ref]
70
+ end
57
71
  end
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.21'
4
+ version: '0.23'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sharon Rosner
@@ -43,42 +43,42 @@ dependencies:
43
43
  requirements:
44
44
  - - '='
45
45
  - !ruby/object:Gem::Version
46
- version: '2.14'
46
+ version: '2.16'
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: '2.14'
53
+ version: '2.16'
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
- version: '0.22'
60
+ version: '0.23'
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: '0.22'
67
+ version: '0.23'
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
- version: '0.18'
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
- version: '0.18'
81
+ version: '0.19'
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: uringmachine
84
84
  requirement: !ruby/object:Gem::Requirement
@@ -236,6 +236,8 @@ files:
236
236
  - test/app/bar.rb
237
237
  - test/app/baz.rb
238
238
  - test/app/index.html
239
+ - test/app/mod/bar/index+.rb
240
+ - test/app/mod/foo/index.rb
239
241
  - test/app/params/[foo].rb
240
242
  - test/app/rss.rb
241
243
  - test/app/tmp.rb