pry-remote-reloaded 1.2.0 → 3.0.0
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 +4 -4
- data/CHANGELOG.md +16 -0
- data/lib/pry-remote-reloaded.rb +52 -51
- metadata +8 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 38f0e97fed566e5ed687b4795bfcdfc283bdb0b735edea3f2b1d3169e2838244
|
4
|
+
data.tar.gz: 3f235f316d76c8909f1ddfadae37466e03d5b24afe1144ee9474b2215a3a917f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d4c3b3cca08b280632864eef241a58010bd53fd1812cd6649f1b506de820eb81025c619a089b4b97e16f1b61ee7fae4d22590bbd26a43b0cee940178b0dc3157
|
7
|
+
data.tar.gz: 5e659b7d3dae7bdc9791dc330f14a4e98696a2947805347d393f3f5ed2481476fb504aa77cd050e515847c19b3f314cf57180417470cd1f04f98b1a2b83a7d9b
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,19 @@
|
|
1
|
+
## 3.0.0 (2025-08-20)
|
2
|
+
|
3
|
+
* Allow configuring server URI instead of host and port (#4)
|
4
|
+
* The CLI still allows to configure server/port, but allows to pass the
|
5
|
+
URI which takes precedence
|
6
|
+
* This is a breaking change for `Object#remote_pry` as its signature is
|
7
|
+
changed to keyword arguments (`uri:, **options`)
|
8
|
+
* The `PryRemoteReloaded::Server.new` and `PryRemoteReloaded::Server.run`
|
9
|
+
signatures also changed to keyword arguments,
|
10
|
+
but thats only for internal use
|
11
|
+
|
12
|
+
## 2.0.0 (205-08-19)
|
13
|
+
|
14
|
+
* Upgraded to slop 4.x (#3)
|
15
|
+
* Require Pry >= 0.15 (#3)
|
16
|
+
|
1
17
|
## 1.2.0 (2025-01-24)
|
2
18
|
|
3
19
|
* Added the drb dependency
|
data/lib/pry-remote-reloaded.rb
CHANGED
@@ -7,6 +7,8 @@ require 'open3'
|
|
7
7
|
module PryRemoteReloaded
|
8
8
|
DefaultHost = ENV['PRY_REMOTE_DEFAULT_HOST'] || "127.0.0.1"
|
9
9
|
DefaultPort = ENV['PRY_REMOTE_DEFAULT_PORT'] || 9876
|
10
|
+
DefaultURI = ENV.fetch('PRY_REMOTE_DEFAULT_URI',
|
11
|
+
"druby://#{DefaultHost}:#{DefaultPort}")
|
10
12
|
|
11
13
|
# A class to represent an input object created from DRb. This is used because
|
12
14
|
# Pry checks for arity to know if a prompt should be passed to the object.
|
@@ -140,13 +142,12 @@ module PryRemoteReloaded
|
|
140
142
|
end
|
141
143
|
|
142
144
|
class Server
|
143
|
-
def self.run(object,
|
144
|
-
new(object,
|
145
|
+
def self.run(object, uri: DefaultURI, **options)
|
146
|
+
new(object, uri:, **options).run
|
145
147
|
end
|
146
148
|
|
147
|
-
def initialize(object,
|
148
|
-
@
|
149
|
-
@port = port
|
149
|
+
def initialize(object, uri: DefaultURI, **options)
|
150
|
+
@uri = uri
|
150
151
|
|
151
152
|
@object = object
|
152
153
|
@options = options
|
@@ -154,7 +155,7 @@ module PryRemoteReloaded
|
|
154
155
|
@client = PryRemoteReloaded::Client.new
|
155
156
|
DRb.start_service uri, @client
|
156
157
|
rescue Errno::EADDRINUSE => e
|
157
|
-
puts "[pry-remote]
|
158
|
+
puts "[pry-remote] Address already in use: #{e.message}"
|
158
159
|
end
|
159
160
|
|
160
161
|
# Code that has to be called for Pry-remote to work properly
|
@@ -249,59 +250,60 @@ module PryRemoteReloaded
|
|
249
250
|
# @return [PryServer::Client] Client connecting to the pry-remote server
|
250
251
|
attr_reader :client
|
251
252
|
|
252
|
-
# @return [String] Host of the server
|
253
|
-
attr_reader :host
|
254
|
-
|
255
|
-
# @return [Integer] Port of the server
|
256
|
-
attr_reader :port
|
257
|
-
|
258
253
|
# @return [String] URI for DRb
|
259
|
-
|
260
|
-
"druby://#{host}:#{port}"
|
261
|
-
end
|
254
|
+
attr_reader :uri
|
262
255
|
end
|
263
256
|
|
264
257
|
# Parses arguments and allows to start the client.
|
265
258
|
class CLI
|
266
259
|
def initialize(args = ARGV)
|
267
|
-
|
268
|
-
banner "#$PROGRAM_NAME [OPTIONS]"
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
260
|
+
opts = Slop.parse do |conf|
|
261
|
+
conf.banner = "#$PROGRAM_NAME [OPTIONS]"
|
262
|
+
conf.separator
|
263
|
+
|
264
|
+
conf.string '-s', '--server', "Host of the server (#{DefaultHost})",
|
265
|
+
default: DefaultHost
|
266
|
+
conf.int '-p', '--port', "Port of the server (#{DefaultPort})",
|
267
|
+
default: DefaultPort
|
268
|
+
conf.string '-u', '--uri', 'URI of the server, instead of ' \
|
269
|
+
"server/port (#{DefaultURI})"
|
270
|
+
|
271
|
+
conf.bool '-w', '--wait', 'Wait for the pry server to come up',
|
272
|
+
default: false
|
273
|
+
conf.bool '-r', '--persist', 'Persist the client to wait for the ' \
|
274
|
+
'pry server to come up each time',
|
275
|
+
default: false
|
276
|
+
conf.bool '-c', '--capture', 'Captures $stdout and $stderr from ' \
|
277
|
+
'the server (true)',
|
278
|
+
default: true
|
279
|
+
conf.bool '-f', 'Disables loading of .pryrc and its plugins, ' \
|
280
|
+
'requires, and command history',
|
281
|
+
default: false
|
282
|
+
|
283
|
+
conf.on '-h', '--help' do
|
284
|
+
puts conf
|
285
|
+
exit
|
286
|
+
end
|
281
287
|
end
|
282
288
|
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
289
|
+
if opts[:uri]
|
290
|
+
@uri = opts[:uri]
|
291
|
+
else
|
292
|
+
@uri = "druby://#{opts[:server]}:#{opts[:port]}"
|
293
|
+
end
|
287
294
|
|
288
|
-
@wait =
|
289
|
-
@persist =
|
290
|
-
@capture =
|
295
|
+
@wait = opts[:wait]
|
296
|
+
@persist = opts[:persist]
|
297
|
+
@capture = opts[:capture]
|
291
298
|
|
292
|
-
Pry.initial_session_setup unless
|
299
|
+
Pry.initial_session_setup unless opts[:f]
|
300
|
+
rescue Slop::UnknownOption => e
|
301
|
+
$stderr.puts(e)
|
302
|
+
exit 1
|
293
303
|
end
|
294
304
|
|
295
|
-
# @return [String] Host of the server
|
296
|
-
attr_reader :host
|
297
|
-
|
298
|
-
# @return [Integer] Port of the server
|
299
|
-
attr_reader :port
|
300
|
-
|
301
305
|
# @return [String] URI for DRb
|
302
|
-
|
303
|
-
"druby://#{host}:#{port}"
|
304
|
-
end
|
306
|
+
attr_reader :uri
|
305
307
|
|
306
308
|
attr_reader :wait
|
307
309
|
attr_reader :persist
|
@@ -375,11 +377,10 @@ end
|
|
375
377
|
class Object
|
376
378
|
# Starts a remote Pry session
|
377
379
|
#
|
378
|
-
# @param [String]
|
379
|
-
# @param [
|
380
|
-
|
381
|
-
|
382
|
-
PryRemoteReloaded::Server.new(self, host, port, options).run
|
380
|
+
# @param uri [String] URI for DRb server
|
381
|
+
# @param options [Hash{Symbol => Mixed}] options to be passed to Pry.start
|
382
|
+
def remote_pry(uri: PryRemoteReloaded::DefaultURI, **options)
|
383
|
+
PryRemoteReloaded::Server.new(self, uri:, **options).run
|
383
384
|
end
|
384
385
|
|
385
386
|
# a handy alias as many people may think the method is named after the gem
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pry-remote-reloaded
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mon ouie
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: slop
|
@@ -16,28 +15,28 @@ dependencies:
|
|
16
15
|
requirements:
|
17
16
|
- - "~>"
|
18
17
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
18
|
+
version: '4.10'
|
20
19
|
type: :runtime
|
21
20
|
prerelease: false
|
22
21
|
version_requirements: !ruby/object:Gem::Requirement
|
23
22
|
requirements:
|
24
23
|
- - "~>"
|
25
24
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
25
|
+
version: '4.10'
|
27
26
|
- !ruby/object:Gem::Dependency
|
28
27
|
name: pry
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
30
29
|
requirements:
|
31
30
|
- - ">="
|
32
31
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0.
|
32
|
+
version: '0.15'
|
34
33
|
type: :runtime
|
35
34
|
prerelease: false
|
36
35
|
version_requirements: !ruby/object:Gem::Requirement
|
37
36
|
requirements:
|
38
37
|
- - ">="
|
39
38
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0.
|
39
|
+
version: '0.15'
|
41
40
|
- !ruby/object:Gem::Dependency
|
42
41
|
name: drb
|
43
42
|
requirement: !ruby/object:Gem::Requirement
|
@@ -67,7 +66,6 @@ files:
|
|
67
66
|
homepage: https://github.com/Jack12816/pry-remote-reloaded
|
68
67
|
licenses: []
|
69
68
|
metadata: {}
|
70
|
-
post_install_message:
|
71
69
|
rdoc_options: []
|
72
70
|
require_paths:
|
73
71
|
- lib
|
@@ -75,15 +73,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
75
73
|
requirements:
|
76
74
|
- - ">="
|
77
75
|
- !ruby/object:Gem::Version
|
78
|
-
version: '
|
76
|
+
version: '3.1'
|
79
77
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
80
78
|
requirements:
|
81
79
|
- - ">="
|
82
80
|
- !ruby/object:Gem::Version
|
83
81
|
version: '0'
|
84
82
|
requirements: []
|
85
|
-
rubygems_version: 3.
|
86
|
-
signing_key:
|
83
|
+
rubygems_version: 3.6.9
|
87
84
|
specification_version: 4
|
88
85
|
summary: Connect to Pry remotely
|
89
86
|
test_files: []
|