evalhook 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +4 -0
- data/Rakefile +1 -1
- data/ext/evalhook_base/evalhook_base.c +13 -6
- metadata +4 -4
data/CHANGELOG
CHANGED
data/Rakefile
CHANGED
@@ -112,14 +112,21 @@ void process_individual_node(NODE* node, VALUE handler) {
|
|
112
112
|
case NODE_CVASGN:
|
113
113
|
case NODE_CVDECL:*/
|
114
114
|
case NODE_GASGN: {
|
115
|
-
NODE* args1 = NEW_LIST(NEW_LIT(ID2SYM(node->nd_entry->id)));
|
116
|
-
NODE* args2 = NEW_LIST(node->nd_value);
|
117
115
|
|
118
|
-
|
119
|
-
|
120
|
-
node->nd_args = args2;
|
116
|
+
NODE* args1;
|
117
|
+
NODE* args2 = NEW_LIST(node->nd_value);
|
121
118
|
|
122
|
-
|
119
|
+
if (node->nd_entry != 0) {
|
120
|
+
args1 = NEW_LIST(NEW_LIT(ID2SYM(node->nd_entry->id)));
|
121
|
+
} else {
|
122
|
+
args1 = NEW_LIST(NEW_LIT(ID2SYM(rb_intern("unknown_global"))));
|
123
|
+
}
|
124
|
+
|
125
|
+
node->nd_recv = NEW_CALL(NEW_LIT(handler), rb_intern("hooked_gasgn"), args1);
|
126
|
+
node->nd_mid = rb_intern("set_value");
|
127
|
+
node->nd_args = args2;
|
128
|
+
|
129
|
+
nd_set_type(node, NODE_CALL);
|
123
130
|
break;
|
124
131
|
}
|
125
132
|
case NODE_CDECL: {
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: evalhook
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 29
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 3
|
10
|
+
version: 0.1.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Dario Seminara
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-12-
|
18
|
+
date: 2010-12-28 00:00:00 -03:00
|
19
19
|
default_executable:
|
20
20
|
dependencies: []
|
21
21
|
|