pryx 0.6.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 83cd7279138aacd2a29d974c18db5fd6d1a6bd6aa9ed6012167e88771c50d13e
4
- data.tar.gz: 5d34a1c16ccaa9abfed32635614262e44414d5bd48b26e5ffc25614b1bf623c8
3
+ metadata.gz: 76fdf9e7d782f22dc0456d28a788c919e2d4747bbbd5e291e82de79e7b9d97ad
4
+ data.tar.gz: 14ecbce0582117218559250839b4d7c8a90266c73a940108ca209a28ed9219e9
5
5
  SHA512:
6
- metadata.gz: 96c64a8e59687991d2c9ede2973ef32f97549c4b8aaa8e60f0993fa5202ec6dc62267e73e3bfb88404fe1b0424622a4224c60b2ce2d604799c4d2b50128d911b
7
- data.tar.gz: 27b2f23ad20df15b0330cb929def9ead48d725c0743ad2174521dae7622e97ad8aed6329df162138443f18ab6c590f972d952b6dd431b5102888cbb1eff4b7a7
6
+ metadata.gz: e89e4c497c13332305da1dbd0da59412befb4ce394a7f9847b9b1b8fc94a2fbae705813b51e304d7f800d6319babb68acb399196b52e6c0ac1d6f5aa0373242c
7
+ data.tar.gz: 6943f56b628aad6ec753eb8a2a61aaff4de87e765a5cc52e26a1764e43db7fc38df00c2672de28a50b57cbdd55f30cf75005ab65776d88496400b5323bc7e9c3
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Pryx [![Build Status](https://travis-ci.com/zw963/pryx.svg?branch=master)](https://travis-ci.com/zw963/pryx) [![Gem Version](https://badge.fury.io/rb/pryx.svg)](http://badge.fury.io/rb/pryx)
1
+ # Pryx [![Build Status](https://travis-ci.com/zw963/pryx.svg?branch=master)](https://app.travis-ci.com/github/zw963/pryx)[![Gem Version](https://badge.fury.io/rb/pryx.svg)](http://badge.fury.io/rb/pryx)![](https://ruby-gem-downloads-badge.herokuapp.com/pryx?type=total)
2
2
 
3
3
  Three Virtues of a Programmer: Laziness, Impatience, and Hubris. -- Larry Wall, the author of Perl Programming language.
4
4
 
@@ -55,6 +55,18 @@ use http connection.
55
55
  Until now, you've only seen the tip of the iceberg, please have a try.
56
56
 
57
57
 
58
+ If you prefer to use IRB over Pry, use can add following code instead.
59
+
60
+ ```sh
61
+ $: export RUBYOPT+=' -rpryx_irb'
62
+ $: ruby your_file.rb # add pry! in your_file for start pry session
63
+ ```
64
+
65
+ __WARN__: `require 'pryx_irb'` will enable many gems by default in your's ruby code.
66
+ so, prefer to use `require 'pryx'`, because latter almost not affect your's code,
67
+ only several methods added into Kernel#, and gems only be require if you run invoke
68
+ those added methods.
69
+
58
70
  ## useful command which added directly to Kernel#
59
71
 
60
72
  ### Kernel#pry!
@@ -70,7 +82,7 @@ $: RUBYOPT+='-rpryx_irb' ruby your_file.rb # add irb! in your_file for start pry
70
82
 
71
83
  Following feature both available when start a Pry or IRB session:
72
84
 
73
- 1. Add `next/step/up/down` command for debug, use [break](https://github.com/gsamokovarov/break)
85
+ 1. Add `next/step/up/down` command for debug, use [break](https://github.com/gsamokovarov/break) [pry-stack_explorer](https://github.com/pry/pry-stack_explorer)
74
86
  2. Add `Kernel#ls1`(use ls1 to avoid conflict with pry builtin ls command), see [looksee](https://github.com/oggy/looksee)
75
87
  3. Use `ap` for pretty print. see [awesome-print](https://github.com/awesome-print/awesome_print)
76
88
  4. Use `Clipboard.copy` or `Clipboard.paste` to interactive with system clipboard. see [clipboard](https://github.com/janlelis/clipboard)
@@ -86,7 +98,8 @@ Following is pry command available only after start a Pry session:
86
98
  5. Add `pry-aa_ancestors` command for print the class hierarchy, see [pry-aa_ancestors](https://github.com/tbpgr/pry-aa_ancestors)
87
99
  6. Add `up/down/frame/stack` command, see [pry-stack_explorer](https://github.com/pry/pry-stack_explorer)
88
100
  7. Add `yes` or `y` command, see [pry-yes](https://github.com/christofferh/pry-yes)
89
- 8. Add `pry-disam`, Check following screenshot for a example:
101
+ 8. Add `reload!` command , see [pry-reload](https://github.com/runa/pry-reload)
102
+ 9. Add `pry-disam`, Check following screenshot for a example:
90
103
 
91
104
  ![pry-disasm](images/disasm.png)
92
105
 
@@ -138,13 +151,10 @@ namespace/variables etc.
138
151
 
139
152
  But, you should only use it in development, though, it was tested is run in container(alpine) too.
140
153
 
141
-
142
154
  ## Limit
143
155
 
144
156
  1. `break` not work well if you add more than one break point, but still use `next` goto the next break point,
145
157
  See https://github.com/gsamokovarov/break/issues/12
146
- 2. because `pry!` use binding.of\_caller, when work with pry-stack\_explorer up command, you can see two
147
- more stack get pushed. so, you have to up 3 times instead 1 time in normal case.
148
158
 
149
159
  ## Support
150
160
 
@@ -0,0 +1,12 @@
1
+ module PryStackExplorer
2
+ module FrameManagerHack
3
+ def initialize(bindings, _pry)
4
+ super
5
+ self.bindings = bindings.reject do |b|
6
+ b.source_location[0].match? %r{/pryx/pry_hack.rb}
7
+ end
8
+ end
9
+ end
10
+
11
+ FrameManager.prepend FrameManagerHack
12
+ end
data/lib/pryx/pry_hack.rb CHANGED
@@ -59,7 +59,7 @@ module Kernel
59
59
  # 1. 单独运行 pry2, 永远不会被拦截,
60
60
  # 2. 如果之前运行过 pry1, 此时 pry2 将被拦截, 且只会被拦截一次.
61
61
 
62
- def pry2(caller=1, remote: nil, port: 9876)
62
+ def pry2(remote: nil, port: 9876)
63
63
  if ENV['Pry2_should_start'] == 'true'
64
64
  ENV['Pry2_should_start'] = nil
65
65
  pry3(2, remote: remote, port: port)
@@ -1,9 +1,9 @@
1
+ # power_assert is ruby 3 builtin gem
1
2
  require 'pry-power_assert'
2
3
 
3
4
  require 'pry-doc'
4
5
 
5
6
  require 'pry-yes'
6
- Pry.commands.alias_command 'y', 'yes'
7
7
 
8
8
  require 'pry-hier'
9
9
 
@@ -12,9 +12,12 @@ require 'pry-disasm'
12
12
  require 'pry-aa_ancestors'
13
13
  Pry::Commands.alias_command 'aa', 'aa_ancestors'
14
14
 
15
- # 这个必须在最后才有效, 但是目前存在一个问题,就是会将 pry3, pry! 加入 stacks
16
- # stack 显示 stack 的列表,frame 显示当前所在 stack, stack N 也可以根据数字跳转到 N
17
- require 'pry-stack_explorer' # Support: up, down, bottom, top, stack, frame
15
+ # stack 显示 stack 的列表,
16
+ # frame 显示当前所在 stack, frame N 也可以根据数字跳转到 N
17
+ require 'pry-stack_explorer'
18
+ require 'pryx/pry-stack_explorer_hack'
19
+
20
+ require 'pry-reload'
18
21
 
19
22
  Pry::Commands.block_command 'cc', 'Continue, but stop in pry! breakpoint' do
20
23
  Pry.instance_variable_set(:@initial_session, true)
data/lib/pryx/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Pryx
4
- VERSION = [0, 6, 0]
4
+ VERSION = [0, 7, 2]
5
5
 
6
6
  class << VERSION
7
7
  include Comparable
data/lib/pryx.rb CHANGED
@@ -9,7 +9,7 @@ require 'pryx/irb_hack'
9
9
 
10
10
  # Add the non-bundler managermented gems back
11
11
  # this step is necessory when install pryx in docker-compose
12
- ENV['RUBYLIB'] = $LOAD_PATH.grep(/gems/).join(':')
12
+ ENV['RUBYLIB'] = "#{ENV['RUBYLIB']}:#{$LOAD_PATH.grep(/gems/).join(':')}"
13
13
 
14
14
  # set export RUBYOPT+=" -rpryx" to work with pryx.
15
15
  module Pryx
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pryx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Billy.Zheng(zw963)
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-23 00:00:00.000000000 Z
11
+ date: 2022-05-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: awesome_print
@@ -39,33 +39,33 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0.30'
41
41
  - !ruby/object:Gem::Dependency
42
- name: looksee
42
+ name: clipboard
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '4.4'
47
+ version: '1.3'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '4.4'
54
+ version: '1.3'
55
55
  - !ruby/object:Gem::Dependency
56
- name: clipboard
56
+ name: looksee
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.3'
61
+ version: '4.4'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.3'
68
+ version: '4.4'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: pry
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -81,33 +81,33 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0.14'
83
83
  - !ruby/object:Gem::Dependency
84
- name: pry-doc
84
+ name: pry-aa_ancestors
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '1.3'
89
+ version: 0.0.1
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '1.3'
96
+ version: 0.0.1
97
97
  - !ruby/object:Gem::Dependency
98
- name: pry-power_assert
98
+ name: pry-doc
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 0.0.2
103
+ version: '1.3'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 0.0.2
110
+ version: '1.3'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: pry-hier
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -123,33 +123,33 @@ dependencies:
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0.1'
125
125
  - !ruby/object:Gem::Dependency
126
- name: pry-aa_ancestors
126
+ name: pry-power_assert
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 0.0.1
131
+ version: 0.0.2
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 0.0.1
138
+ version: 0.0.2
139
139
  - !ruby/object:Gem::Dependency
140
- name: pry-stack_explorer
140
+ name: pry-reload
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: '0.6'
145
+ version: '0.3'
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: '0.6'
152
+ version: '0.3'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: pry-rescue
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -165,19 +165,19 @@ dependencies:
165
165
  - !ruby/object:Gem::Version
166
166
  version: '1.5'
167
167
  - !ruby/object:Gem::Dependency
168
- name: minitest
168
+ name: pry-stack_explorer
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - ">="
171
+ - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: '0'
174
- type: :development
173
+ version: '0.6'
174
+ type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - ">="
178
+ - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: '0'
180
+ version: '0.6'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: m
183
183
  requirement: !ruby/object:Gem::Requirement
@@ -192,6 +192,20 @@ dependencies:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
194
  version: '1.6'
195
+ - !ruby/object:Gem::Dependency
196
+ name: minitest
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
195
209
  - !ruby/object:Gem::Dependency
196
210
  name: ritual
197
211
  requirement: !ruby/object:Gem::Requirement
@@ -243,6 +257,7 @@ files:
243
257
  - lib/pryx/drip.wav
244
258
  - lib/pryx/irb_hack.rb
245
259
  - lib/pryx/looksee_hack.rb
260
+ - lib/pryx/pry-stack_explorer_hack.rb
246
261
  - lib/pryx/pry_hack.rb
247
262
  - lib/pryx/pry_plugins.rb
248
263
  - lib/pryx/trap_backtrace.rb