binding_of_caller 0.2.0 → 0.7.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 +7 -0
- data/.gemtest +0 -0
- data/.gitignore +8 -0
- data/.travis.yml +23 -0
- data/.yardopts +1 -0
- data/Gemfile +2 -0
- data/LICENSE +25 -0
- data/README.md +42 -10
- data/Rakefile +134 -99
- data/binding_of_caller.gemspec +37 -0
- data/examples/example.rb +41 -0
- data/ext/binding_of_caller/binding_of_caller.c +138 -37
- data/ext/binding_of_caller/extconf.rb +29 -10
- data/ext/binding_of_caller/ruby_headers/192/version.h +0 -8
- data/lib/binding_of_caller/mri2.rb +69 -0
- data/lib/binding_of_caller/rubinius.rb +74 -0
- data/lib/binding_of_caller/version.rb +3 -3
- data/lib/binding_of_caller.rb +11 -19
- data/test/test_binding_of_caller.rb +161 -0
- metadata +86 -52
- data/ext/binding_of_caller/compat.h +0 -57
- data/test/test.rb +0 -12
- /data/ext/binding_of_caller/ruby_headers/192/{gc.h → rubys_gc.h} +0 -0
- /data/ext/binding_of_caller/ruby_headers/193/{gc.h → rubys_gc.h} +0 -0
metadata
CHANGED
|
@@ -1,43 +1,81 @@
|
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: binding_of_caller
|
|
3
|
-
version: !ruby/object:Gem::Version
|
|
4
|
-
|
|
5
|
-
version: 0.2.0
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.7.2
|
|
6
5
|
platform: ruby
|
|
7
|
-
authors:
|
|
6
|
+
authors:
|
|
8
7
|
- John Mair (banisterfiend)
|
|
9
8
|
autorequire:
|
|
10
9
|
bindir: bin
|
|
11
10
|
cert_chain: []
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
date: 2013-06-07 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: debug_inspector
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - '>='
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: 0.0.1
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - '>='
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: 0.0.1
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
16
28
|
name: bacon
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - '>='
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '0'
|
|
34
|
+
type: :development
|
|
17
35
|
prerelease: false
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - '>='
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '0'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: rake
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - '>='
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '0'
|
|
24
48
|
type: :development
|
|
25
|
-
|
|
26
|
-
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - '>='
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '0'
|
|
55
|
+
description: Retrieve the binding of a method's caller. Can also retrieve bindings
|
|
56
|
+
even further up the stack.
|
|
27
57
|
email: jrmair@gmail.com
|
|
28
58
|
executables: []
|
|
29
|
-
|
|
30
|
-
extensions:
|
|
59
|
+
extensions:
|
|
31
60
|
- ext/binding_of_caller/extconf.rb
|
|
32
61
|
extra_rdoc_files: []
|
|
33
|
-
|
|
34
|
-
|
|
62
|
+
files:
|
|
63
|
+
- .gemtest
|
|
64
|
+
- .gitignore
|
|
65
|
+
- .travis.yml
|
|
66
|
+
- .yardopts
|
|
67
|
+
- Gemfile
|
|
68
|
+
- HISTORY
|
|
69
|
+
- LICENSE
|
|
70
|
+
- README.md
|
|
71
|
+
- Rakefile
|
|
72
|
+
- binding_of_caller.gemspec
|
|
73
|
+
- examples/example.rb
|
|
74
|
+
- ext/binding_of_caller/binding_of_caller.c
|
|
35
75
|
- ext/binding_of_caller/extconf.rb
|
|
36
|
-
- ext/binding_of_caller/compat.h
|
|
37
76
|
- ext/binding_of_caller/ruby_headers/192/debug.h
|
|
38
77
|
- ext/binding_of_caller/ruby_headers/192/dln.h
|
|
39
78
|
- ext/binding_of_caller/ruby_headers/192/eval_intern.h
|
|
40
|
-
- ext/binding_of_caller/ruby_headers/192/gc.h
|
|
41
79
|
- ext/binding_of_caller/ruby_headers/192/id.h
|
|
42
80
|
- ext/binding_of_caller/ruby_headers/192/iseq.h
|
|
43
81
|
- ext/binding_of_caller/ruby_headers/192/method.h
|
|
@@ -45,6 +83,7 @@ files:
|
|
|
45
83
|
- ext/binding_of_caller/ruby_headers/192/regenc.h
|
|
46
84
|
- ext/binding_of_caller/ruby_headers/192/regint.h
|
|
47
85
|
- ext/binding_of_caller/ruby_headers/192/regparse.h
|
|
86
|
+
- ext/binding_of_caller/ruby_headers/192/rubys_gc.h
|
|
48
87
|
- ext/binding_of_caller/ruby_headers/192/thread_pthread.h
|
|
49
88
|
- ext/binding_of_caller/ruby_headers/192/thread_win32.h
|
|
50
89
|
- ext/binding_of_caller/ruby_headers/192/timev.h
|
|
@@ -61,7 +100,6 @@ files:
|
|
|
61
100
|
- ext/binding_of_caller/ruby_headers/193/dln.h
|
|
62
101
|
- ext/binding_of_caller/ruby_headers/193/encdb.h
|
|
63
102
|
- ext/binding_of_caller/ruby_headers/193/eval_intern.h
|
|
64
|
-
- ext/binding_of_caller/ruby_headers/193/gc.h
|
|
65
103
|
- ext/binding_of_caller/ruby_headers/193/id.h
|
|
66
104
|
- ext/binding_of_caller/ruby_headers/193/internal.h
|
|
67
105
|
- ext/binding_of_caller/ruby_headers/193/iseq.h
|
|
@@ -72,6 +110,7 @@ files:
|
|
|
72
110
|
- ext/binding_of_caller/ruby_headers/193/regint.h
|
|
73
111
|
- ext/binding_of_caller/ruby_headers/193/regparse.h
|
|
74
112
|
- ext/binding_of_caller/ruby_headers/193/revision.h
|
|
113
|
+
- ext/binding_of_caller/ruby_headers/193/rubys_gc.h
|
|
75
114
|
- ext/binding_of_caller/ruby_headers/193/thread_pthread.h
|
|
76
115
|
- ext/binding_of_caller/ruby_headers/193/thread_win32.h
|
|
77
116
|
- ext/binding_of_caller/ruby_headers/193/timev.h
|
|
@@ -82,39 +121,34 @@ files:
|
|
|
82
121
|
- ext/binding_of_caller/ruby_headers/193/vm_exec.h
|
|
83
122
|
- ext/binding_of_caller/ruby_headers/193/vm_insnhelper.h
|
|
84
123
|
- ext/binding_of_caller/ruby_headers/193/vm_opts.h
|
|
85
|
-
- ext/binding_of_caller/binding_of_caller.c
|
|
86
|
-
- lib/binding_of_caller/version.rb
|
|
87
124
|
- lib/binding_of_caller.rb
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
-
|
|
91
|
-
-
|
|
92
|
-
homepage: http://
|
|
125
|
+
- lib/binding_of_caller/mri2.rb
|
|
126
|
+
- lib/binding_of_caller/rubinius.rb
|
|
127
|
+
- lib/binding_of_caller/version.rb
|
|
128
|
+
- test/test_binding_of_caller.rb
|
|
129
|
+
homepage: http://github.com/banister/binding_of_caller
|
|
93
130
|
licenses: []
|
|
94
|
-
|
|
131
|
+
metadata: {}
|
|
95
132
|
post_install_message:
|
|
96
133
|
rdoc_options: []
|
|
97
|
-
|
|
98
|
-
require_paths:
|
|
134
|
+
require_paths:
|
|
99
135
|
- lib
|
|
100
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
- !ruby/object:Gem::Version
|
|
111
|
-
version: "0"
|
|
136
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
137
|
+
requirements:
|
|
138
|
+
- - '>='
|
|
139
|
+
- !ruby/object:Gem::Version
|
|
140
|
+
version: '0'
|
|
141
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
142
|
+
requirements:
|
|
143
|
+
- - '>='
|
|
144
|
+
- !ruby/object:Gem::Version
|
|
145
|
+
version: '0'
|
|
112
146
|
requirements: []
|
|
113
|
-
|
|
114
147
|
rubyforge_project:
|
|
115
|
-
rubygems_version:
|
|
148
|
+
rubygems_version: 2.0.3
|
|
116
149
|
signing_key:
|
|
117
|
-
specification_version:
|
|
118
|
-
summary:
|
|
119
|
-
|
|
120
|
-
|
|
150
|
+
specification_version: 4
|
|
151
|
+
summary: Retrieve the binding of a method's caller. Can also retrieve bindings even
|
|
152
|
+
further up the stack.
|
|
153
|
+
test_files:
|
|
154
|
+
- test/test_binding_of_caller.rb
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/* contains basic macros to facilitate ruby 1.8 and ruby 1.9 compatibility */
|
|
2
|
-
|
|
3
|
-
#ifndef GUARD_COMPAT_H
|
|
4
|
-
#define GUARD_COMPAT_H
|
|
5
|
-
|
|
6
|
-
#include <ruby.h>
|
|
7
|
-
|
|
8
|
-
/* test for 1.9 */
|
|
9
|
-
#if !defined(RUBY_19) && defined(ROBJECT_EMBED_LEN_MAX)
|
|
10
|
-
# define RUBY_19
|
|
11
|
-
#endif
|
|
12
|
-
|
|
13
|
-
/* macros for backwards compatibility with 1.8 */
|
|
14
|
-
#ifndef RUBY_19
|
|
15
|
-
# define RCLASS_M_TBL(c) (RCLASS(c)->m_tbl)
|
|
16
|
-
# define RCLASS_SUPER(c) (RCLASS(c)->super)
|
|
17
|
-
# define RCLASS_IV_TBL(c) (RCLASS(c)->iv_tbl)
|
|
18
|
-
# define OBJ_UNTRUSTED OBJ_TAINTED
|
|
19
|
-
# include "st.h"
|
|
20
|
-
#endif
|
|
21
|
-
|
|
22
|
-
#ifdef RUBY_19
|
|
23
|
-
inline static VALUE
|
|
24
|
-
class_alloc(VALUE flags, VALUE klass)
|
|
25
|
-
{
|
|
26
|
-
rb_classext_t *ext = ALLOC(rb_classext_t);
|
|
27
|
-
NEWOBJ(obj, struct RClass);
|
|
28
|
-
OBJSETUP(obj, klass, flags);
|
|
29
|
-
obj->ptr = ext;
|
|
30
|
-
RCLASS_IV_TBL(obj) = 0;
|
|
31
|
-
RCLASS_M_TBL(obj) = 0;
|
|
32
|
-
RCLASS_SUPER(obj) = 0;
|
|
33
|
-
RCLASS_IV_INDEX_TBL(obj) = 0;
|
|
34
|
-
return (VALUE)obj;
|
|
35
|
-
}
|
|
36
|
-
#endif
|
|
37
|
-
|
|
38
|
-
inline static VALUE
|
|
39
|
-
create_class(VALUE flags, VALUE klass)
|
|
40
|
-
{
|
|
41
|
-
#ifdef RUBY_19
|
|
42
|
-
VALUE new_klass = class_alloc(flags, klass);
|
|
43
|
-
#else
|
|
44
|
-
NEWOBJ(new_klass, struct RClass);
|
|
45
|
-
OBJSETUP(new_klass, klass, flags);
|
|
46
|
-
#endif
|
|
47
|
-
|
|
48
|
-
return (VALUE)new_klass;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
# define FALSE 0
|
|
52
|
-
# define TRUE 1
|
|
53
|
-
|
|
54
|
-
/* a useful macro. cannot use ordinary CLASS_OF as it does not return an lvalue */
|
|
55
|
-
#define KLASS_OF(c) (RBASIC(c)->klass)
|
|
56
|
-
|
|
57
|
-
#endif
|
data/test/test.rb
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
direc = File.dirname(__FILE__)
|
|
2
|
-
|
|
3
|
-
require 'rubygems'
|
|
4
|
-
require "#{direc}/../lib/binding_of_caller"
|
|
5
|
-
require 'bacon'
|
|
6
|
-
|
|
7
|
-
puts "Testing binding_of_caller version #{BindingOfCaller::VERSION}..."
|
|
8
|
-
puts "Ruby version: #{RUBY_VERSION}"
|
|
9
|
-
|
|
10
|
-
describe BindingOfCaller do
|
|
11
|
-
end
|
|
12
|
-
|
|
File without changes
|
|
File without changes
|