expressir 2.4.30 → 2.4.31
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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 061350f84465e77142b15dc708e0773f77626084711b2ae46e859775d0c07c5d
|
|
4
|
+
data.tar.gz: 41101569510c6b020847410ab0bc83cf403163d04b78743bfc8085ca863b80f3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 739f6f3d5ea7d153b0e701204d1390710e1ec99bd3602a3d934df28aa6d8f6df407f8a1d83e799f8ba5f93b65bdffa891f1b6abba1965da955ef8f782deae39e
|
|
7
|
+
data.tar.gz: 87c334b0480296cc1b6f8161c0b91fbb9b2d5641d537f6e4f129eb0780fab9361254ff6708e20ecc186342a1ee2c3b0877f82d2debde038740952ec8bc938603
|
|
@@ -113,7 +113,12 @@ module Expressir
|
|
|
113
113
|
# Nearest ancestor directory NAMED `schemas`, or nil.
|
|
114
114
|
def ancestor_schemas_dir(root_path)
|
|
115
115
|
dir = File.dirname(File.expand_path(root_path))
|
|
116
|
-
|
|
116
|
+
# dirname reaches a fixed point at the filesystem root: "/" on
|
|
117
|
+
# POSIX, "D:/" (or a UNC root) on windows. Comparing against "/"
|
|
118
|
+
# alone spun forever on windows - every rake run since this
|
|
119
|
+
# shipped (e0f6651, 2026-09-24) burned the full 6h runner
|
|
120
|
+
# budget in the first expand example (#487).
|
|
121
|
+
until dir == "/" || dir == File.dirname(dir)
|
|
117
122
|
return dir if File.basename(dir) == "schemas"
|
|
118
123
|
|
|
119
124
|
dir = File.dirname(dir)
|
|
@@ -41,7 +41,13 @@ module Expressir
|
|
|
41
41
|
# ("RULE r FOR" parsed as one simpleId). simpleId additionally
|
|
42
42
|
# matches as a single quantified Re, which needs no exemption;
|
|
43
43
|
# the two mechanisms agree and stay for defense in depth.
|
|
44
|
-
|
|
44
|
+
# The whitespace/remark rules manage their own trivia end to end
|
|
45
|
+
# (they ARE the trivia surface for remarks); injection around
|
|
46
|
+
# them breaks consecutive remark lines on the Ruby engine
|
|
47
|
+
# ("-- X\n--\nSCHEMA ..." failed - the #487 windows follow-up,
|
|
48
|
+
# parsanol-ruby#195 family).
|
|
49
|
+
skip(:trivia, whitespace: :space,
|
|
50
|
+
exempt: %i[simpleId digits spaces space embeddedRemark tailRemark])
|
|
45
51
|
|
|
46
52
|
# Get cached parser instance (thread-safe)
|
|
47
53
|
# Reusing the parser avoids the overhead of reinitializing all rule definitions
|
data/lib/expressir/version.rb
CHANGED