parsanol 1.3.38 → 1.3.39
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/parsanol/transform.rb +10 -6
- data/lib/parsanol/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 997c16ae8f260553f62f89bd59cef5c5d483d363dde5c9aac3ae50f2adbc87dd
|
|
4
|
+
data.tar.gz: d11df010ac9badeeb387b2edbe34fde243a1d9198ede4d65ce328f93e644403e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9a37985079b655cc7b42259d73d831869d79cbe9c326569c19b88c5f37cfd1537f0d133cd2dec172e8b3b962bf55d98cb6dcb2b71a7c8dd8b6c29d1f147feee9
|
|
7
|
+
data.tar.gz: 8a46c0695fedc5dc07318b3cd01e68a1ebb2c9b2a350ef5646430cd0cfa08a3e1123b56b56c706f5dc31385712b315b3d8c1ad70fb6adfa036ef8b7d0c555cc5
|
data/lib/parsanol/transform.rb
CHANGED
|
@@ -127,14 +127,18 @@ module Parsanol
|
|
|
127
127
|
# @param block [Proc] transformation block
|
|
128
128
|
# @return [Object] block result
|
|
129
129
|
#
|
|
130
|
+
# Public seam for rule execution: called for every matched rule
|
|
131
|
+
# with the captured bindings. Subclasses override this to
|
|
132
|
+
# post-process each rule result (e.g. source-line injection);
|
|
133
|
+
# the pipeline always routes through it (GH-74).
|
|
134
|
+
#
|
|
135
|
+
# @param bindings [Hash] matched pattern bindings
|
|
136
|
+
# @param block [Proc] the transformation block
|
|
137
|
+
# @return [Object] block result
|
|
130
138
|
def call_on_match(bindings, block)
|
|
131
139
|
return nil unless block
|
|
132
140
|
|
|
133
|
-
|
|
134
|
-
block.call(bindings)
|
|
135
|
-
else
|
|
136
|
-
Context.new(bindings).instance_eval(&block)
|
|
137
|
-
end
|
|
141
|
+
execute_block(block, bindings)
|
|
138
142
|
end
|
|
139
143
|
|
|
140
144
|
private
|
|
@@ -181,7 +185,7 @@ module Parsanol
|
|
|
181
185
|
bindings = pattern.match(node, ctx)
|
|
182
186
|
next unless bindings
|
|
183
187
|
|
|
184
|
-
return
|
|
188
|
+
return call_on_match(bindings, block)
|
|
185
189
|
end
|
|
186
190
|
|
|
187
191
|
# No rule matched
|
data/lib/parsanol/version.rb
CHANGED