audition 0.2.1 → 0.2.2

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: e82f1a081cebcd3209cfbced17ecb539949cf4590c785e1b6873535473090756
4
- data.tar.gz: 7d6c4358bae0e8514e15452c0f0dba8bde7a53a9dd342ec9b96e9cf53a4c853f
3
+ metadata.gz: ffdbe2eefef3af0a17fba242519ba4816609fe9447869c39e71a48a7737dbd0d
4
+ data.tar.gz: 84c792ede67f91c87253f73a8e55d4ca6d7bd08eef4cf7c7aa0d742cefb6aa51
5
5
  SHA512:
6
- metadata.gz: e1ddb8750389aa6734d895a4a84e32fb8a0cb0feca7d26c83e0803e8f28abfd6f16fd3255f352ba3e4d3534192636da3d6f73f651fd90dff8d18654384f779bf
7
- data.tar.gz: dfe09ec14b4f3058f2df766129a78d6cfed1dfd65bd72ce512a6cfeea65e1ae42ef01bf0cb9d0c9f1d890973dcbcc052396dbca9cf445e0bf79d08676d8f3c45
6
+ metadata.gz: 45393085ad096c90da3218561537b6dd0825eecb82a03f08c22757ab4abd7e1f765936e2dc81015501285b1348272e87830f6af60a00dc46ac05599c7096d6d0
7
+ data.tar.gz: f587211f3f9e4a4c72b4719611359ae32a6219271183a17fa2a5be5f8ba80195e0aa7233c435e793bdf5e9eee23da49ce4f0261c6dc6d68111d87aa4b504c158
@@ -89,18 +89,44 @@ module Audition
89
89
  visit(node.receiver) if node.receiver
90
90
  end
91
91
 
92
- %i[
93
- visit_local_variable_read_node
94
- visit_local_variable_write_node
95
- visit_local_variable_operator_write_node
96
- visit_local_variable_or_write_node
97
- visit_local_variable_and_write_node
98
- visit_local_variable_target_node
99
- ].each do |method|
100
- define_method(method) do |node| # audition:disable unsafe-calls
101
- @names << node.name.to_s if node.depth > @level
102
- super(node)
103
- end
92
+ # Plain defs, not a define_method loop: the parallel
93
+ # scan calls these from worker Ractors, and a method
94
+ # born from define_method carries an un-shareable Proc
95
+ # that raises when dispatched from another Ractor.
96
+ def visit_local_variable_read_node(node)
97
+ note(node)
98
+ super
99
+ end
100
+
101
+ def visit_local_variable_write_node(node)
102
+ note(node)
103
+ super
104
+ end
105
+
106
+ def visit_local_variable_operator_write_node(node)
107
+ note(node)
108
+ super
109
+ end
110
+
111
+ def visit_local_variable_or_write_node(node)
112
+ note(node)
113
+ super
114
+ end
115
+
116
+ def visit_local_variable_and_write_node(node)
117
+ note(node)
118
+ super
119
+ end
120
+
121
+ def visit_local_variable_target_node(node)
122
+ note(node)
123
+ super
124
+ end
125
+
126
+ private
127
+
128
+ def note(node)
129
+ @names << node.name.to_s if node.depth > @level
104
130
  end
105
131
  end
106
132
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Audition
4
- VERSION = "0.2.1"
4
+ VERSION = "0.2.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: audition
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yaroslav Markin