pryx 0.6.0 → 0.7.2

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: 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