debug_inspector 1.0.0 → 1.1.0rc1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0a2c3b603eb5eb84457f77ffa41d5b97b05fbd7af4123e860dd9256771ccafad
4
- data.tar.gz: a3f41a30dd19a66078132fee38d2f312d4490432b6e4049c40b89b2629241659
3
+ metadata.gz: ef88a29fcbc378f0b562ce3eaa4030f2ee469a7dcb7ae9a7ad302c72138776ce
4
+ data.tar.gz: 83187ca79ccf05318ada9d7445fb516b0ffa0b2a3903d6d4f6d84145715bd681
5
5
  SHA512:
6
- metadata.gz: 130771aebab383f849366f0d71f5860dd6713d5dc41c0d88ff92c4266c229b0598d60672da325def29cbec66a9b0079806cb05bd74b8ce23e3946e4dbf8578ba
7
- data.tar.gz: 10ebffd9984de140ad6c0fd0700e3a70892559e0f1c665c4b7e6d28f77680694f7ff7b4aaa5d110a8be251c69e38b94914fdfff9000ad6233180116aedce8f3a
6
+ metadata.gz: 1b3b0d06e1e373056f8e9b44f301a6aef08240d129794ed3aadba08e44eae8bc26c05a2fb4f4f690412289a7d8b5693d5fc0f3ddef7e7c23ce153531d37d3196
7
+ data.tar.gz: 278a86dd3372026aa15e63d9a6680556bfef96a617bb0b7259eb9481a36c181d229a1e4561e10355b4c5ff4b1f91e70b3bac166e763b112c9b6193adbd837a34
@@ -34,24 +34,10 @@ jobs:
34
34
 
35
35
  - uses: actions/checkout@v2
36
36
 
37
- - name: Determine ruby version name
38
- id: ruby_version
39
- run: |
40
- if [[ $OS == 'windows-latest' && $RUBY == '3.0' ]]; then
41
- # Windows doesn't have 3.0, so run head there but nowhere else.
42
- echo "::set-output name=release::head"
43
- else
44
- echo "::set-output name=release::$RUBY"
45
- fi
46
- shell: bash
47
- env:
48
- OS: ${{ matrix.os }}
49
- RUBY: ${{ matrix.ruby }}
50
-
51
37
  - name: Set up Ruby
52
38
  uses: ruby/setup-ruby@v1
53
39
  with:
54
- ruby-version: ${{ steps.ruby_version.outputs.release }}
40
+ ruby-version: ${{ matrix.ruby }}
55
41
  bundler-cache: true
56
42
 
57
43
  - name: Test
@@ -68,6 +54,8 @@ jobs:
68
54
  - ubuntu-latest
69
55
  - windows-latest
70
56
  ruby:
57
+ # This includes rubies that are not actually extended by this gem.
58
+ # We want to make sure the gem silently fails to load on those platforms.
71
59
  - "2"
72
60
  - "3.0"
73
61
  - "jruby"
@@ -81,28 +69,17 @@ jobs:
81
69
 
82
70
  - uses: actions/checkout@v2
83
71
 
84
- - name: Determine ruby version name
85
- id: ruby_version
86
- run: |
87
- if [[ $OS == 'windows-latest' && $RUBY == '3.0' ]]; then
88
- # Windows doesn't have 3.0, so run head there but nowhere else.
89
- echo "::set-output name=release::head"
90
- else
91
- echo "::set-output name=release::$RUBY"
92
- fi
93
- shell: bash
94
- env:
95
- OS: ${{ matrix.os }}
96
- RUBY: ${{ matrix.ruby }}
97
-
98
72
  - name: Set up Ruby
99
73
  uses: ruby/setup-ruby@v1
100
74
  with:
101
- ruby-version: ${{ steps.ruby_version.outputs.release }}
75
+ ruby-version: ${{ matrix.ruby }}
102
76
  bundler-cache: true
103
77
 
78
+ - name: Build gem
79
+ run: bundle exec gem build --verbose debug_inspector.gemspec
80
+
104
81
  - name: Install gem
105
- run: bundle exec rake install
82
+ run: gem install --verbose debug_inspector*.gem
106
83
 
107
84
  - name: Create directory for gem test
108
85
  run: mkdir -p tmp/gem-test
@@ -111,9 +88,25 @@ jobs:
111
88
  run: echo "gem 'debug_inspector'" > Gemfile
112
89
  working-directory: ./tmp/gem-test
113
90
 
91
+ - name: Get gem installation path
92
+ id: gem_path
93
+ run: |
94
+ gem_path=$(bundle show debug_inspector)
95
+ echo "gem_path is ${gem_path}"
96
+ echo "::set-output name=path::${gem_path}"
97
+ shell: bash
98
+ working-directory: ./tmp/gem-test
99
+
100
+ - name: List installed gem contents
101
+ run: find .
102
+ shell: bash
103
+ working-directory: ${{ steps.gem_path.outputs.path }}
104
+
114
105
  - name: Test gem load
115
106
  run: bundle exec ruby -e "require 'debug_inspector'"
107
+ working-directory: ./tmp/gem-test
116
108
 
117
109
  - name: Test gem functionality
118
110
  if: ${{ matrix.ruby != 'jruby' && matrix.ruby != 'truffleruby' }}
119
111
  run: bundle exec ruby -e "require 'debug_inspector'; RubyVM::DebugInspector.open { |dc| dc.frame_binding(1) }"
112
+ working-directory: ./tmp/gem-test
@@ -2,22 +2,31 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "debug_inspector"
5
- spec.version = "1.0.0"
5
+ spec.version = "1.1.0rc1"
6
6
  spec.authors = ["John Mair (banisterfiend)"]
7
7
  spec.email = ["jrmair@gmail.com"]
8
8
 
9
9
  spec.summary = %q{A Ruby wrapper for the MRI 2.0 debug_inspector API}
10
- spec.description = spec.summary
10
+ spec.description = <<-TXT
11
+ Adds methods to RubyVM::DebugInspector to allow for inspection of backtrace frames.
12
+
13
+ The debug_inspector C extension and API were designed and built by Koichi Sasada, this project is just a gemification of his work.
14
+
15
+ This library makes use of the debug inspector API which was added to MRI 2.0.0.
16
+ Only works on MRI 2 and 3. Requiring it on unsupported Rubies will result in a no-op.
17
+
18
+ Recommended for use only in debugging situations. Do not use this in production apps.
19
+ TXT
11
20
  spec.homepage = "https://github.com/banister/debug_inspector"
12
21
  spec.license = "MIT"
13
22
  spec.required_ruby_version = Gem::Requirement.new(">= 2.0")
14
23
 
15
24
  spec.metadata["homepage_uri"] = spec.homepage
16
- # spec.metadata["source_code_uri"] = "TODO: Put your gem's public repo URL here."
17
- # spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."
25
+ spec.metadata["source_code_uri"] = "https://github.com/banister/debug_inspector"
26
+ spec.metadata["changelog_uri"] = "https://github.com/banister/debug_inspector/releases"
18
27
 
19
28
  spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
20
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^test/}) }
29
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|bin)/}) }
21
30
  end
22
31
 
23
32
  spec.require_paths = ["lib"]
@@ -1,8 +1,17 @@
1
1
  require 'rbconfig'
2
2
  dlext = RbConfig::CONFIG['DLEXT']
3
3
  begin
4
- require_relative "debug_inspector.#{dlext}"
5
- # If the above require fails, we don't want to define any constants.
4
+ # If the installation task did its job, the extension is in lib/ next to this file.
5
+ require "debug_inspector.#{dlext}"
6
+ # We only want to define constants if the extension has loaded.
6
7
  require_relative "rubyvm/debug_inspector/version"
7
8
  rescue LoadError
9
+ begin
10
+ # If not, maybe the extension is in ext/
11
+ require_relative "../ext/debug_inspector/debug_inspector.#{dlext}"
12
+ # We only want to define constants if the extension has loaded.
13
+ require_relative "rubyvm/debug_inspector/version"
14
+ rescue LoadError => e
15
+ puts "debug_inspector extension was not loaded"
16
+ end
8
17
  end
@@ -1,4 +1,4 @@
1
1
  class RubyVM::DebugInspector
2
2
  # Don't forget to update the version string in the gemspec file.
3
- VERSION = "1.0.0"
3
+ VERSION = "1.1.0rc1"
4
4
  end
metadata CHANGED
@@ -1,16 +1,24 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: debug_inspector
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0rc1
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: 2020-12-27 00:00:00.000000000 Z
11
+ date: 2021-03-17 00:00:00.000000000 Z
12
12
  dependencies: []
13
- description: A Ruby wrapper for the MRI 2.0 debug_inspector API
13
+ description: |
14
+ Adds methods to RubyVM::DebugInspector to allow for inspection of backtrace frames.
15
+
16
+ The debug_inspector C extension and API were designed and built by Koichi Sasada, this project is just a gemification of his work.
17
+
18
+ This library makes use of the debug inspector API which was added to MRI 2.0.0.
19
+ Only works on MRI 2 and 3. Requiring it on unsupported Rubies will result in a no-op.
20
+
21
+ Recommended for use only in debugging situations. Do not use this in production apps.
14
22
  email:
15
23
  - jrmair@gmail.com
16
24
  executables: []
@@ -23,8 +31,6 @@ files:
23
31
  - Gemfile
24
32
  - README.md
25
33
  - Rakefile
26
- - bin/console
27
- - bin/setup
28
34
  - debug_inspector.gemspec
29
35
  - ext/debug_inspector/debug_inspector.c
30
36
  - ext/debug_inspector/extconf.rb
@@ -35,7 +41,9 @@ licenses:
35
41
  - MIT
36
42
  metadata:
37
43
  homepage_uri: https://github.com/banister/debug_inspector
38
- post_install_message:
44
+ source_code_uri: https://github.com/banister/debug_inspector
45
+ changelog_uri: https://github.com/banister/debug_inspector/releases
46
+ post_install_message:
39
47
  rdoc_options: []
40
48
  require_paths:
41
49
  - lib
@@ -46,12 +54,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
46
54
  version: '2.0'
47
55
  required_rubygems_version: !ruby/object:Gem::Requirement
48
56
  requirements:
49
- - - ">="
57
+ - - ">"
50
58
  - !ruby/object:Gem::Version
51
- version: '0'
59
+ version: 1.3.1
52
60
  requirements: []
53
61
  rubygems_version: 3.1.4
54
- signing_key:
62
+ signing_key:
55
63
  specification_version: 4
56
64
  summary: A Ruby wrapper for the MRI 2.0 debug_inspector API
57
65
  test_files: []
data/bin/console DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "debug_inspector"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
12
-
13
- require "irb"
14
- IRB.start(__FILE__)
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here