rbtrace 0.4.12 → 0.4.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/rbtrace.c +20 -8
- data/lib/rbtrace/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 942f750987d2faf32e6d104d097bb8dfa68dda43644750259a1bc0d3a23a47d6
|
4
|
+
data.tar.gz: 1fb44c1bbf4936871cef319331d27f9743debe12d28ca05235fc1750e70aa261
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df57be716aff5cc91cd2ce54e3bb55015b76a4390fe86b7f68b91a63794364387cd9edae630f6f83584c5288f8d2fcdd3a191c6c43e75a1cdabfb064ae5cd0be
|
7
|
+
data.tar.gz: 60cf530a8271c124dd1cd8df54761812e951aa9a722df89da12c5be163a87838b7fcce03b12244699df732424a5eeaf26e6ac80270f4afaa79f756875654521a
|
data/ext/rbtrace.c
CHANGED
@@ -862,13 +862,11 @@ msgq_setup()
|
|
862
862
|
#endif
|
863
863
|
}
|
864
864
|
|
865
|
+
static VALUE rbtrace_module;
|
866
|
+
|
865
867
|
static VALUE
|
866
868
|
eval_inspect(VALUE rb_code) {
|
867
|
-
|
868
|
-
|
869
|
-
binding = rb_eval_string("$rbtrace_binding ||= binding");
|
870
|
-
result = rb_funcall(binding, rb_intern("eval"), 1, rb_code);
|
871
|
-
return rb_funcall(result, rb_intern("inspect"), 0);
|
869
|
+
return rb_funcall(rbtrace_module, rb_intern("eval_and_inspect"), 1, rb_code);
|
872
870
|
}
|
873
871
|
|
874
872
|
static VALUE
|
@@ -1028,7 +1026,7 @@ rbtrace__process_event(msgpack_object cmd)
|
|
1028
1026
|
strncpy(query, str.ptr, str.size);
|
1029
1027
|
query[str.size] = 0;
|
1030
1028
|
|
1031
|
-
VALUE rb_code
|
1029
|
+
VALUE rb_code;
|
1032
1030
|
rb_code = rb_str_new2(query);
|
1033
1031
|
|
1034
1032
|
val = rb_rescue(eval_inspect, rb_code, rescue_inspect, Qnil);
|
@@ -1134,11 +1132,25 @@ send_write(VALUE klass, VALUE val) {
|
|
1134
1132
|
void
|
1135
1133
|
Init_rbtrace()
|
1136
1134
|
{
|
1137
|
-
|
1138
|
-
VALUE output = rb_define_module_under(
|
1135
|
+
rbtrace_module = rb_define_module("RBTrace");
|
1136
|
+
VALUE output = rb_define_module_under(rbtrace_module, "OUT");
|
1139
1137
|
|
1140
1138
|
rb_define_singleton_method(output, "write", send_write, 1);
|
1141
1139
|
|
1140
|
+
rb_eval_string(
|
1141
|
+
"module RBTrace\n"
|
1142
|
+
" def self.eval_context\n"
|
1143
|
+
" @eval_context ||= binding\n"
|
1144
|
+
" end\n"
|
1145
|
+
|
1146
|
+
" def self.eval_and_inspect(code)\n"
|
1147
|
+
" t = Thread.new { Thread.current[:output] = eval_context.eval(code).inspect }\n"
|
1148
|
+
" t.join\n"
|
1149
|
+
" t[:output]\n"
|
1150
|
+
" end\n"
|
1151
|
+
"end\n"
|
1152
|
+
);
|
1153
|
+
|
1142
1154
|
// hook into the gc
|
1143
1155
|
gc_hook = Data_Wrap_Struct(rb_cObject, rbtrace_gc_mark, NULL, NULL);
|
1144
1156
|
rb_global_variable(&gc_hook);
|
data/lib/rbtrace/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbtrace
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aman Gupta
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-05-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|