binding_of_caller 0.8.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/test.yml +103 -0
  3. data/.gitignore +12 -7
  4. data/Gemfile +6 -1
  5. data/README.md +14 -5
  6. data/Rakefile +4 -132
  7. data/binding_of_caller.gemspec +33 -37
  8. data/lib/binding_of_caller.rb +7 -8
  9. data/lib/binding_of_caller/{mri2.rb → mri.rb} +0 -0
  10. data/lib/binding_of_caller/version.rb +1 -1
  11. metadata +26 -103
  12. data/.travis.yml +0 -35
  13. data/examples/benchmark.rb +0 -63
  14. data/examples/example.rb +0 -41
  15. data/ext/binding_of_caller/binding_of_caller.c +0 -225
  16. data/ext/binding_of_caller/extconf.rb +0 -28
  17. data/ext/binding_of_caller/ruby_headers/192/debug.h +0 -36
  18. data/ext/binding_of_caller/ruby_headers/192/dln.h +0 -41
  19. data/ext/binding_of_caller/ruby_headers/192/eval_intern.h +0 -232
  20. data/ext/binding_of_caller/ruby_headers/192/id.h +0 -173
  21. data/ext/binding_of_caller/ruby_headers/192/iseq.h +0 -104
  22. data/ext/binding_of_caller/ruby_headers/192/method.h +0 -103
  23. data/ext/binding_of_caller/ruby_headers/192/node.h +0 -483
  24. data/ext/binding_of_caller/ruby_headers/192/regenc.h +0 -211
  25. data/ext/binding_of_caller/ruby_headers/192/regint.h +0 -841
  26. data/ext/binding_of_caller/ruby_headers/192/regparse.h +0 -354
  27. data/ext/binding_of_caller/ruby_headers/192/rubys_gc.h +0 -77
  28. data/ext/binding_of_caller/ruby_headers/192/thread_pthread.h +0 -27
  29. data/ext/binding_of_caller/ruby_headers/192/thread_win32.h +0 -33
  30. data/ext/binding_of_caller/ruby_headers/192/timev.h +0 -21
  31. data/ext/binding_of_caller/ruby_headers/192/transcode_data.h +0 -109
  32. data/ext/binding_of_caller/ruby_headers/192/version.h +0 -55
  33. data/ext/binding_of_caller/ruby_headers/192/vm_core.h +0 -703
  34. data/ext/binding_of_caller/ruby_headers/192/vm_exec.h +0 -184
  35. data/ext/binding_of_caller/ruby_headers/192/vm_insnhelper.h +0 -208
  36. data/ext/binding_of_caller/ruby_headers/192/vm_opts.h +0 -51
  37. data/ext/binding_of_caller/ruby_headers/193/addr2line.h +0 -21
  38. data/ext/binding_of_caller/ruby_headers/193/atomic.h +0 -56
  39. data/ext/binding_of_caller/ruby_headers/193/constant.h +0 -34
  40. data/ext/binding_of_caller/ruby_headers/193/debug.h +0 -41
  41. data/ext/binding_of_caller/ruby_headers/193/dln.h +0 -50
  42. data/ext/binding_of_caller/ruby_headers/193/encdb.h +0 -167
  43. data/ext/binding_of_caller/ruby_headers/193/eval_intern.h +0 -234
  44. data/ext/binding_of_caller/ruby_headers/193/id.h +0 -175
  45. data/ext/binding_of_caller/ruby_headers/193/internal.h +0 -227
  46. data/ext/binding_of_caller/ruby_headers/193/iseq.h +0 -125
  47. data/ext/binding_of_caller/ruby_headers/193/method.h +0 -105
  48. data/ext/binding_of_caller/ruby_headers/193/node.h +0 -503
  49. data/ext/binding_of_caller/ruby_headers/193/parse.h +0 -186
  50. data/ext/binding_of_caller/ruby_headers/193/regenc.h +0 -219
  51. data/ext/binding_of_caller/ruby_headers/193/regint.h +0 -851
  52. data/ext/binding_of_caller/ruby_headers/193/regparse.h +0 -362
  53. data/ext/binding_of_caller/ruby_headers/193/revision.h +0 -1
  54. data/ext/binding_of_caller/ruby_headers/193/rubys_gc.h +0 -98
  55. data/ext/binding_of_caller/ruby_headers/193/thread_pthread.h +0 -51
  56. data/ext/binding_of_caller/ruby_headers/193/thread_win32.h +0 -40
  57. data/ext/binding_of_caller/ruby_headers/193/timev.h +0 -21
  58. data/ext/binding_of_caller/ruby_headers/193/transcode_data.h +0 -117
  59. data/ext/binding_of_caller/ruby_headers/193/transdb.h +0 -189
  60. data/ext/binding_of_caller/ruby_headers/193/version.h +0 -52
  61. data/ext/binding_of_caller/ruby_headers/193/vm_core.h +0 -755
  62. data/ext/binding_of_caller/ruby_headers/193/vm_exec.h +0 -184
  63. data/ext/binding_of_caller/ruby_headers/193/vm_insnhelper.h +0 -220
  64. data/ext/binding_of_caller/ruby_headers/193/vm_opts.h +0 -51
  65. data/test/test_binding_of_caller.rb +0 -161
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 3ca118584b33771699ce8297cafc573b9f1d2d80
4
- data.tar.gz: cdfcd664fd08599e4f4826862fb49f8d4eecc992
2
+ SHA256:
3
+ metadata.gz: 25a588cad50a78180a488286806d6b5c8d0f2864426d4b496046fdbe6af8a102
4
+ data.tar.gz: dc2c3f0ca27db62f5ea170ee471c4a1342f955b7f3e0f7fdfdaef2492c984031
5
5
  SHA512:
6
- metadata.gz: 21766025ccac08d6f79ba1e5bbef018116b765ca44b98f4fb269e494cf52dfb1066c4deb305eb30ddcdac2edc9e4f041926fe0e77767eb40a7cbd3ac866c00a7
7
- data.tar.gz: 3b23f40eca0b622e89af12c443c54eed869441da9e3f2042b7d57acc77ffee2cd971ac8ee7e3beb9efcd58ce5b33003948f3705f711d928af1eeef3ee370fe3f
6
+ metadata.gz: 5dc8dfc7d1b014e12f0fde271d9822da537d3a3e230bba5569e3cce5af7cc89841bd798a6e03ca6b3d8063d2113621892079a0bdc1f31a2d8cc80fcf5dcaa522
7
+ data.tar.gz: 89d5fc7e71b1138db085625d671b164234832b5942ad5c16e9ead8c20abc2b13caf1fa0ccab64e082e3ddc76af312db4fa778c8c26a52edcad6c91f9359ba45c
@@ -0,0 +1,103 @@
1
+ name: Test
2
+
3
+ on:
4
+ push:
5
+ branches: [ master ]
6
+ schedule:
7
+ - cron: '0 0 11,25 * *' # roughly every two weeks to run on new Ruby versions
8
+ pull_request:
9
+ branches: [ master ]
10
+ workflow_dispatch:
11
+
12
+ jobs:
13
+ test:
14
+ name: "Unit"
15
+ runs-on: ubuntu-latest
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ ruby:
20
+ - "2.1"
21
+ - "2.2"
22
+ - "2.3"
23
+ - "2.4"
24
+ - "2.5"
25
+ - "2.6"
26
+ - "2.7"
27
+ - "3.0"
28
+
29
+ steps:
30
+
31
+ - uses: actions/checkout@v2
32
+
33
+ - name: Set up Ruby
34
+ uses: ruby/setup-ruby@v1
35
+ with:
36
+ ruby-version: ${{ matrix.ruby }}
37
+ bundler-cache: true
38
+
39
+ - name: Test
40
+ run: bundle exec rspec -f doc
41
+
42
+ system:
43
+ name: "System"
44
+ runs-on: ${{ matrix.os }}
45
+ strategy:
46
+ fail-fast: false
47
+ matrix:
48
+ os:
49
+ - macos-latest
50
+ - ubuntu-latest
51
+ - windows-latest
52
+ ruby:
53
+ - "2"
54
+ - "3.0"
55
+ - "jruby"
56
+ - "truffleruby"
57
+ exclude:
58
+ # Windows releases of jruby and truffleruby have issues. Skip them for now.
59
+ - { ruby: "jruby", os: "windows-latest" }
60
+ - { ruby: "truffleruby", os: "windows-latest" }
61
+
62
+ steps:
63
+
64
+ - uses: actions/checkout@v2
65
+
66
+ - name: Determine ruby version name
67
+ id: ruby_version
68
+ run: |
69
+ if [[ $OS == 'windows-latest' && $RUBY == '3.0' ]]; then
70
+ # Windows doesn't have 3.0, so run head there but nowhere else.
71
+ echo "::set-output name=release::head"
72
+ else
73
+ echo "::set-output name=release::$RUBY"
74
+ fi
75
+ shell: bash
76
+ env:
77
+ OS: ${{ matrix.os }}
78
+ RUBY: ${{ matrix.ruby }}
79
+
80
+ - name: Set up Ruby
81
+ uses: ruby/setup-ruby@v1
82
+ with:
83
+ ruby-version: ${{ steps.ruby_version.outputs.release }}
84
+ bundler-cache: true
85
+
86
+ - name: Install gem
87
+ run: bundle exec rake install
88
+
89
+ - name: Create directory for gem test
90
+ run: mkdir -p tmp/gem-test
91
+
92
+ - name: Create test Gemfile
93
+ run: echo "gem 'binding_of_caller'" > Gemfile
94
+ working-directory: ./tmp/gem-test
95
+
96
+ - name: Test gem load
97
+ run: bundle exec ruby -e "require 'binding_of_caller'"
98
+
99
+ - name: Test gem functionality
100
+ if: ${{ matrix.ruby != 'jruby' && matrix.ruby != 'truffleruby' }}
101
+ run: bundle exec ruby -e "require 'binding_of_caller'; binding.of_caller(0).eval('var = :hello')"
102
+ env:
103
+ JRUBY_OPTS: "--dev" # This will support JRuby once the gem is updated to support JRuby 9.x
data/.gitignore CHANGED
@@ -1,8 +1,13 @@
1
- Makefile
2
- *.so
3
- *.o
4
- *.def
5
- doc/
6
- pkg/
7
- .yardoc/
8
1
  Gemfile.lock
2
+
3
+ /.bundle/
4
+ /.yardoc
5
+ /_yardoc/
6
+ /coverage/
7
+ /doc/
8
+ /pkg/
9
+ /spec/reports/
10
+ /tmp/
11
+
12
+ # rspec failure tracking
13
+ .rspec_status
data/Gemfile CHANGED
@@ -1,2 +1,7 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in binding_of_caller.gemspec
2
4
  gemspec
5
+
6
+ gem "rake"
7
+ gem "rspec"
data/README.md CHANGED
@@ -1,11 +1,12 @@
1
- [![Build Status](https://secure.travis-ci.org/banister/binding_of_caller.png)](http://travis-ci.org/banister/binding_of_caller)
1
+ [![Build Status](https://github.com/banister/binding_of_caller/workflows/Test/badge.svg?branch=master&event=push)](https://github.com/banister/binding_of_caller/actions?query=branch%3Amaster)
2
+ [![Gem Version](https://img.shields.io/gem/v/binding_of_caller.svg)](https://rubygems.org/gems/binding_of_caller)
2
3
 
3
4
  binding_of_caller
4
- ===========
5
+ =================
5
6
 
6
7
  (C) John Mair (banisterfiend) 2012
7
8
 
8
- _Retrieve the binding of a method's caller in MRI (>= 1.9.2) and RBX (Rubinius)_
9
+ _Retrieve the binding of a method's caller in MRI (>= 2.0.0) and RBX (Rubinius)_
9
10
 
10
11
  The `binding_of_caller` gem provides the `Binding#of_caller` method.
11
12
 
@@ -15,7 +16,7 @@ call stack, not limited to just the immediate caller.
15
16
 
16
17
  **Recommended for use only in debugging situations. Do not use this in production apps.**
17
18
 
18
- **Works in MRI Ruby (>= 1.9.2) and RBX (Rubinius)**
19
+ **Works in MRI Ruby (>= 2.0) and RBX (Rubinius)**
19
20
 
20
21
  * Install the [gem](https://rubygems.org/gems/binding_of_caller): `gem install binding_of_caller`
21
22
  * See the [source code](http://github.com/banister/binding_of_caller)
@@ -52,12 +53,20 @@ This project is a spinoff from the [Pry REPL project.](http://pry.github.com)
52
53
  Features and limitations
53
54
  -------------------------
54
55
 
55
- * Works in MRI (>= 1.9.2) and RBX (Rubinius)
56
+ * Works in MRI (>= 2.0.0) and RBX (Rubinius)
57
+ * For MRI 1.9.x, use version "~> 0.8" of the gem, which included support for MRI before 2.0.
56
58
  * Does not work in 1.8.7, but there is a well known (continuation-based) hack to get a `Binding#of_caller` there.
57
59
  * There is experimental support for jruby 1.7.x, but it only works in interpreted
58
60
  mode (i.e. use the option `-Djruby.compile.mode=OFF` or append
59
61
  `compile.mode=OFF` to your `.jrubyrc`)
60
62
 
63
+ Development
64
+ -----------
65
+
66
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
67
+
68
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
69
+
61
70
  Contact
62
71
  -------
63
72
 
data/Rakefile CHANGED
@@ -1,134 +1,6 @@
1
- dlext = RbConfig::CONFIG['DLEXT']
2
- direc = File.dirname(__FILE__)
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
3
 
4
- $:.unshift 'lib'
4
+ RSpec::Core::RakeTask.new(:spec)
5
5
 
6
- require 'rake/clean'
7
- require 'rubygems/package_task'
8
-
9
- require "binding_of_caller/version"
10
-
11
- CLOBBER.include("**/*.#{dlext}", "**/*~", "**/*#*", "**/*.log", "**/*.o")
12
- CLEAN.include("ext/**/*.#{dlext}", "ext/**/*.log", "ext/**/*.o",
13
- "ext/**/*~", "ext/**/*#*", "ext/**/*.obj", "**/*#*", "**/*#*.*",
14
- "ext/**/*.def", "ext/**/*.pdb", "**/*_flymake*.*", "**/*_flymake", "**/*.rbc")
15
-
16
- def mri_2?
17
- defined?(RUBY_ENGINE) && RUBY_ENGINE == "ruby" &&
18
- RUBY_VERSION =~ /^2/
19
- end
20
-
21
- def apply_spec_defaults(s)
22
- s.name = "binding_of_caller"
23
- s.summary = "Retrieve the binding of a method's caller. Can also retrieve bindings even further up the stack."
24
- s.version = BindingOfCaller::VERSION
25
- s.date = Time.now.strftime '%Y-%m-%d'
26
- s.author = "John Mair (banisterfiend)"
27
- s.email = 'jrmair@gmail.com'
28
- s.description = s.summary
29
- s.require_path = 'lib'
30
- s.add_dependency 'debug_inspector', '>= 0.0.1'
31
- s.add_development_dependency 'bacon'
32
- s.add_development_dependency 'rake'
33
- s.homepage = "http://github.com/banister/binding_of_caller"
34
- s.has_rdoc = 'yard'
35
- s.files = `git ls-files`.split("\n")
36
- s.test_files = `git ls-files -- test/*`.split("\n")
37
- end
38
-
39
- desc "Show version"
40
- task :version do
41
- puts "BindingOfCaller version: #{BindingOfCaller::VERSION}"
42
- end
43
-
44
- desc "run tests"
45
- task :default => [:test]
46
-
47
- desc "Run tests"
48
- task :test do
49
- unless defined?(Rubinius) or defined?(JRuby)
50
- Rake::Task['compile'].execute
51
- end
52
-
53
- $stdout.puts("\033[33m")
54
- sh "bacon -Itest -r rubygems -a -q"
55
- $stdout.puts("\033[0m")
56
-
57
- unless defined?(Rubinius)
58
- Rake::Task['cleanup'].execute
59
- end
60
- end
61
-
62
- task :pry do
63
- puts "loading binding_of_caller into pry"
64
- sh "pry -r ./lib/binding_of_caller"
65
- end
66
-
67
- desc "generate gemspec"
68
- task :gemspec => "ruby:gemspec"
69
-
70
- namespace :ruby do
71
- spec = Gem::Specification.new do |s|
72
- apply_spec_defaults(s)
73
- s.platform = Gem::Platform::RUBY
74
- s.extensions = ["ext/binding_of_caller/extconf.rb"]
75
- end
76
-
77
- Gem::PackageTask.new(spec) do |pkg|
78
- pkg.need_zip = false
79
- pkg.need_tar = false
80
- end
81
-
82
- desc "Generate gemspec file"
83
- task :gemspec do
84
- File.open("#{spec.name}.gemspec", "w") do |f|
85
- f << spec.to_ruby
86
- end
87
- end
88
- end
89
-
90
- desc "build the binaries"
91
- task :compile => :cleanup do
92
- if !mri_2?
93
- chdir "./ext/binding_of_caller/" do
94
- sh "ruby extconf.rb"
95
- sh "make"
96
- sh "cp *.#{dlext} ../../lib/"
97
- end
98
- end
99
- end
100
-
101
- desc 'cleanup the extensions'
102
- task :cleanup do
103
- if !mri_2?
104
- sh 'rm -rf lib/binding_of_caller.so'
105
- chdir "./ext/binding_of_caller/" do
106
- sh 'make clean'
107
- end
108
- end
109
- end
110
-
111
- desc "reinstall gem"
112
- task :reinstall => :gems do
113
- sh "gem uninstall binding_of_caller" rescue nil
114
- sh "gem install #{direc}/pkg/binding_of_caller-#{BindingOfCaller::VERSION}.gem"
115
- end
116
-
117
- task :install => :reinstall
118
-
119
- desc "build all platform gems at once"
120
- task :gems => [:clean, :rmgems, "ruby:gem"]
121
-
122
- task :gem => [:gems]
123
-
124
- desc "remove all platform gems"
125
- task :rmgems => ["ruby:clobber_package"]
126
-
127
- desc "build and push latest gems"
128
- task :pushgems => :gems do
129
- chdir("./pkg") do
130
- Dir["*.gem"].each do |gemfile|
131
- sh "gem push #{gemfile}"
132
- end
133
- end
134
- end
6
+ task :default => :spec
@@ -1,39 +1,35 @@
1
- # -*- encoding: utf-8 -*-
2
- # stub: binding_of_caller 0.8.0 ruby lib
3
- # stub: ext/binding_of_caller/extconf.rb
4
-
5
- Gem::Specification.new do |s|
6
- s.name = "binding_of_caller".freeze
7
- s.version = "0.8.0"
8
-
9
- s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
10
- s.require_paths = ["lib".freeze]
11
- s.authors = ["John Mair (banisterfiend)".freeze]
12
- s.date = "2018-01-10"
13
- s.description = "Retrieve the binding of a method's caller. Can also retrieve bindings even further up the stack.".freeze
14
- s.email = "jrmair@gmail.com".freeze
15
- s.extensions = ["ext/binding_of_caller/extconf.rb".freeze]
16
- s.files = [".gemtest".freeze, ".gitignore".freeze, ".travis.yml".freeze, ".yardopts".freeze, "Gemfile".freeze, "HISTORY".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "binding_of_caller.gemspec".freeze, "examples/benchmark.rb".freeze, "examples/example.rb".freeze, "ext/binding_of_caller/binding_of_caller.c".freeze, "ext/binding_of_caller/extconf.rb".freeze, "ext/binding_of_caller/ruby_headers/192/debug.h".freeze, "ext/binding_of_caller/ruby_headers/192/dln.h".freeze, "ext/binding_of_caller/ruby_headers/192/eval_intern.h".freeze, "ext/binding_of_caller/ruby_headers/192/id.h".freeze, "ext/binding_of_caller/ruby_headers/192/iseq.h".freeze, "ext/binding_of_caller/ruby_headers/192/method.h".freeze, "ext/binding_of_caller/ruby_headers/192/node.h".freeze, "ext/binding_of_caller/ruby_headers/192/regenc.h".freeze, "ext/binding_of_caller/ruby_headers/192/regint.h".freeze, "ext/binding_of_caller/ruby_headers/192/regparse.h".freeze, "ext/binding_of_caller/ruby_headers/192/rubys_gc.h".freeze, "ext/binding_of_caller/ruby_headers/192/thread_pthread.h".freeze, "ext/binding_of_caller/ruby_headers/192/thread_win32.h".freeze, "ext/binding_of_caller/ruby_headers/192/timev.h".freeze, "ext/binding_of_caller/ruby_headers/192/transcode_data.h".freeze, "ext/binding_of_caller/ruby_headers/192/version.h".freeze, "ext/binding_of_caller/ruby_headers/192/vm_core.h".freeze, "ext/binding_of_caller/ruby_headers/192/vm_exec.h".freeze, "ext/binding_of_caller/ruby_headers/192/vm_insnhelper.h".freeze, "ext/binding_of_caller/ruby_headers/192/vm_opts.h".freeze, "ext/binding_of_caller/ruby_headers/193/addr2line.h".freeze, "ext/binding_of_caller/ruby_headers/193/atomic.h".freeze, "ext/binding_of_caller/ruby_headers/193/constant.h".freeze, "ext/binding_of_caller/ruby_headers/193/debug.h".freeze, "ext/binding_of_caller/ruby_headers/193/dln.h".freeze, "ext/binding_of_caller/ruby_headers/193/encdb.h".freeze, "ext/binding_of_caller/ruby_headers/193/eval_intern.h".freeze, "ext/binding_of_caller/ruby_headers/193/id.h".freeze, "ext/binding_of_caller/ruby_headers/193/internal.h".freeze, "ext/binding_of_caller/ruby_headers/193/iseq.h".freeze, "ext/binding_of_caller/ruby_headers/193/method.h".freeze, "ext/binding_of_caller/ruby_headers/193/node.h".freeze, "ext/binding_of_caller/ruby_headers/193/parse.h".freeze, "ext/binding_of_caller/ruby_headers/193/regenc.h".freeze, "ext/binding_of_caller/ruby_headers/193/regint.h".freeze, "ext/binding_of_caller/ruby_headers/193/regparse.h".freeze, "ext/binding_of_caller/ruby_headers/193/revision.h".freeze, "ext/binding_of_caller/ruby_headers/193/rubys_gc.h".freeze, "ext/binding_of_caller/ruby_headers/193/thread_pthread.h".freeze, "ext/binding_of_caller/ruby_headers/193/thread_win32.h".freeze, "ext/binding_of_caller/ruby_headers/193/timev.h".freeze, "ext/binding_of_caller/ruby_headers/193/transcode_data.h".freeze, "ext/binding_of_caller/ruby_headers/193/transdb.h".freeze, "ext/binding_of_caller/ruby_headers/193/version.h".freeze, "ext/binding_of_caller/ruby_headers/193/vm_core.h".freeze, "ext/binding_of_caller/ruby_headers/193/vm_exec.h".freeze, "ext/binding_of_caller/ruby_headers/193/vm_insnhelper.h".freeze, "ext/binding_of_caller/ruby_headers/193/vm_opts.h".freeze, "lib/binding_of_caller.rb".freeze, "lib/binding_of_caller/jruby_interpreted.rb".freeze, "lib/binding_of_caller/mri2.rb".freeze, "lib/binding_of_caller/rubinius.rb".freeze, "lib/binding_of_caller/version.rb".freeze, "test/test_binding_of_caller.rb".freeze]
17
- s.homepage = "http://github.com/banister/binding_of_caller".freeze
18
- s.rubygems_version = "2.6.14".freeze
19
- s.summary = "Retrieve the binding of a method's caller. Can also retrieve bindings even further up the stack.".freeze
20
- s.test_files = ["test/test_binding_of_caller.rb".freeze]
21
-
22
- if s.respond_to? :specification_version then
23
- s.specification_version = 4
24
-
25
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
26
- s.add_runtime_dependency(%q<debug_inspector>.freeze, [">= 0.0.1"])
27
- s.add_development_dependency(%q<bacon>.freeze, [">= 0"])
28
- s.add_development_dependency(%q<rake>.freeze, [">= 0"])
29
- else
30
- s.add_dependency(%q<debug_inspector>.freeze, [">= 0.0.1"])
31
- s.add_dependency(%q<bacon>.freeze, [">= 0"])
32
- s.add_dependency(%q<rake>.freeze, [">= 0"])
33
- end
34
- else
35
- s.add_dependency(%q<debug_inspector>.freeze, [">= 0.0.1"])
36
- s.add_dependency(%q<bacon>.freeze, [">= 0"])
37
- s.add_dependency(%q<rake>.freeze, [">= 0"])
1
+ require_relative 'lib/binding_of_caller/version'
2
+
3
+ Gem::Specification.new do |spec|
4
+ spec.name = "binding_of_caller"
5
+ spec.version = BindingOfCaller::VERSION
6
+ spec.authors = ["John Mair (banisterfiend)"]
7
+ spec.email = ["jrmair@gmail.com"]
8
+
9
+ spec.summary = %q{Retrieve the binding of a method's caller, or further up the stack.}
10
+ spec.description = <<-TXT
11
+ Provides the Binding#of_caller method.
12
+
13
+ Using binding_of_caller we can grab bindings from higher up the call stack and evaluate code in that context.
14
+ Allows access to bindings arbitrarily far up the call stack, not limited to just the immediate caller.
15
+
16
+ Recommended for use only in debugging situations. Do not use this in production apps.
17
+ TXT
18
+ spec.homepage = "https://github.com/banister/binding_of_caller"
19
+ spec.license = "MIT"
20
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.0.0")
21
+
22
+ spec.metadata = {
23
+ "changelog_uri" => "https://github.com/banister/binding_of_caller/releases",
24
+ }
25
+
26
+ # Specify which files should be added to the gem when it is released.
27
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
28
+ spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
29
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|examples|bin)/}) }
38
30
  end
31
+
32
+ spec.require_paths = ["lib"]
33
+
34
+ spec.add_dependency "debug_inspector", ">= 0.0.1"
39
35
  end
@@ -1,12 +1,11 @@
1
- dlext = RbConfig::CONFIG['DLEXT']
1
+ require "binding_of_caller/version"
2
2
 
3
- mri_2 = defined?(RUBY_ENGINE) && RUBY_ENGINE == "ruby" &&
4
- RUBY_VERSION =~ /^2/
5
-
6
- if mri_2
7
- require 'binding_of_caller/mri2'
8
- elsif defined?(RUBY_ENGINE) && RUBY_ENGINE == "ruby"
9
- require "binding_of_caller.#{dlext}"
3
+ if defined?(RUBY_ENGINE) && RUBY_ENGINE == "ruby"
4
+ if RUBY_VERSION =~ /^[23]/
5
+ require 'binding_of_caller/mri'
6
+ else
7
+ puts "This version of binding_of_caller doesn't support this version of Ruby"
8
+ end
10
9
  elsif defined?(Rubinius)
11
10
  require 'binding_of_caller/rubinius'
12
11
  elsif defined?(JRuby)
@@ -1,3 +1,3 @@
1
1
  module BindingOfCaller
2
- VERSION = "0.8.0"
2
+ VERSION = "1.0.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: binding_of_caller
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Mair (banisterfiend)
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-10 00:00:00.000000000 Z
11
+ date: 2020-12-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: debug_inspector
@@ -24,45 +24,22 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.0.1
27
- - !ruby/object:Gem::Dependency
28
- name: bacon
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
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'
48
- type: :development
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.
57
- email: jrmair@gmail.com
27
+ description: |
28
+ Provides the Binding#of_caller method.
29
+
30
+ Using binding_of_caller we can grab bindings from higher up the call stack and evaluate code in that context.
31
+ Allows access to bindings arbitrarily far up the call stack, not limited to just the immediate caller.
32
+
33
+ Recommended for use only in debugging situations. Do not use this in production apps.
34
+ email:
35
+ - jrmair@gmail.com
58
36
  executables: []
59
- extensions:
60
- - ext/binding_of_caller/extconf.rb
37
+ extensions: []
61
38
  extra_rdoc_files: []
62
39
  files:
63
40
  - ".gemtest"
41
+ - ".github/workflows/test.yml"
64
42
  - ".gitignore"
65
- - ".travis.yml"
66
43
  - ".yardopts"
67
44
  - Gemfile
68
45
  - HISTORY
@@ -70,68 +47,17 @@ files:
70
47
  - README.md
71
48
  - Rakefile
72
49
  - binding_of_caller.gemspec
73
- - examples/benchmark.rb
74
- - examples/example.rb
75
- - ext/binding_of_caller/binding_of_caller.c
76
- - ext/binding_of_caller/extconf.rb
77
- - ext/binding_of_caller/ruby_headers/192/debug.h
78
- - ext/binding_of_caller/ruby_headers/192/dln.h
79
- - ext/binding_of_caller/ruby_headers/192/eval_intern.h
80
- - ext/binding_of_caller/ruby_headers/192/id.h
81
- - ext/binding_of_caller/ruby_headers/192/iseq.h
82
- - ext/binding_of_caller/ruby_headers/192/method.h
83
- - ext/binding_of_caller/ruby_headers/192/node.h
84
- - ext/binding_of_caller/ruby_headers/192/regenc.h
85
- - ext/binding_of_caller/ruby_headers/192/regint.h
86
- - ext/binding_of_caller/ruby_headers/192/regparse.h
87
- - ext/binding_of_caller/ruby_headers/192/rubys_gc.h
88
- - ext/binding_of_caller/ruby_headers/192/thread_pthread.h
89
- - ext/binding_of_caller/ruby_headers/192/thread_win32.h
90
- - ext/binding_of_caller/ruby_headers/192/timev.h
91
- - ext/binding_of_caller/ruby_headers/192/transcode_data.h
92
- - ext/binding_of_caller/ruby_headers/192/version.h
93
- - ext/binding_of_caller/ruby_headers/192/vm_core.h
94
- - ext/binding_of_caller/ruby_headers/192/vm_exec.h
95
- - ext/binding_of_caller/ruby_headers/192/vm_insnhelper.h
96
- - ext/binding_of_caller/ruby_headers/192/vm_opts.h
97
- - ext/binding_of_caller/ruby_headers/193/addr2line.h
98
- - ext/binding_of_caller/ruby_headers/193/atomic.h
99
- - ext/binding_of_caller/ruby_headers/193/constant.h
100
- - ext/binding_of_caller/ruby_headers/193/debug.h
101
- - ext/binding_of_caller/ruby_headers/193/dln.h
102
- - ext/binding_of_caller/ruby_headers/193/encdb.h
103
- - ext/binding_of_caller/ruby_headers/193/eval_intern.h
104
- - ext/binding_of_caller/ruby_headers/193/id.h
105
- - ext/binding_of_caller/ruby_headers/193/internal.h
106
- - ext/binding_of_caller/ruby_headers/193/iseq.h
107
- - ext/binding_of_caller/ruby_headers/193/method.h
108
- - ext/binding_of_caller/ruby_headers/193/node.h
109
- - ext/binding_of_caller/ruby_headers/193/parse.h
110
- - ext/binding_of_caller/ruby_headers/193/regenc.h
111
- - ext/binding_of_caller/ruby_headers/193/regint.h
112
- - ext/binding_of_caller/ruby_headers/193/regparse.h
113
- - ext/binding_of_caller/ruby_headers/193/revision.h
114
- - ext/binding_of_caller/ruby_headers/193/rubys_gc.h
115
- - ext/binding_of_caller/ruby_headers/193/thread_pthread.h
116
- - ext/binding_of_caller/ruby_headers/193/thread_win32.h
117
- - ext/binding_of_caller/ruby_headers/193/timev.h
118
- - ext/binding_of_caller/ruby_headers/193/transcode_data.h
119
- - ext/binding_of_caller/ruby_headers/193/transdb.h
120
- - ext/binding_of_caller/ruby_headers/193/version.h
121
- - ext/binding_of_caller/ruby_headers/193/vm_core.h
122
- - ext/binding_of_caller/ruby_headers/193/vm_exec.h
123
- - ext/binding_of_caller/ruby_headers/193/vm_insnhelper.h
124
- - ext/binding_of_caller/ruby_headers/193/vm_opts.h
125
50
  - lib/binding_of_caller.rb
126
51
  - lib/binding_of_caller/jruby_interpreted.rb
127
- - lib/binding_of_caller/mri2.rb
52
+ - lib/binding_of_caller/mri.rb
128
53
  - lib/binding_of_caller/rubinius.rb
129
54
  - lib/binding_of_caller/version.rb
130
- - test/test_binding_of_caller.rb
131
- homepage: http://github.com/banister/binding_of_caller
132
- licenses: []
133
- metadata: {}
134
- post_install_message:
55
+ homepage: https://github.com/banister/binding_of_caller
56
+ licenses:
57
+ - MIT
58
+ metadata:
59
+ changelog_uri: https://github.com/banister/binding_of_caller/releases
60
+ post_install_message:
135
61
  rdoc_options: []
136
62
  require_paths:
137
63
  - lib
@@ -139,18 +65,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
139
65
  requirements:
140
66
  - - ">="
141
67
  - !ruby/object:Gem::Version
142
- version: '0'
68
+ version: 2.0.0
143
69
  required_rubygems_version: !ruby/object:Gem::Requirement
144
70
  requirements:
145
71
  - - ">="
146
72
  - !ruby/object:Gem::Version
147
73
  version: '0'
148
74
  requirements: []
149
- rubyforge_project:
150
- rubygems_version: 2.6.14
151
- signing_key:
75
+ rubygems_version: 3.1.4
76
+ signing_key:
152
77
  specification_version: 4
153
- summary: Retrieve the binding of a method's caller. Can also retrieve bindings even
154
- further up the stack.
155
- test_files:
156
- - test/test_binding_of_caller.rb
78
+ summary: Retrieve the binding of a method's caller, or further up the stack.
79
+ test_files: []