pry-drb 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 3616a5090bc974b093ebfcb36f65aa0c9642a9d0
4
+ data.tar.gz: a51d2b6cf21eb21673a8c425334763ea5c1b9505
5
+ SHA512:
6
+ metadata.gz: 0578f96afd91f97159785d300a67159984dc0860136fbcdf58aab8edbdd8d0e33748bbaea59aeca09d641d45804b2cc58b76b29eb40eb536e9198593439299a5
7
+ data.tar.gz: c6d6d45f832baf6e61d7bf2480f45c909b805ea3a7edefddce5a793e8e9c1bda6fce79c5c82cc499395aff53992b098ad8b1bd5346728ecc8a6bbd4c8dadcdf9
@@ -0,0 +1 @@
1
+ *.gem
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2012 Shannon Skipper <shannonskipper@gmail.com>
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in
11
+ all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ THE SOFTWARE.
@@ -0,0 +1,48 @@
1
+ Pry DRb gives you a way to keep variables alive across pry sessions!
2
+
3
+ ## Installation
4
+
5
+ For just vanilla Rubygems: 'gem install pry-drb'
6
+
7
+ If you're using Bundler:
8
+
9
+ ```ruby
10
+ group :development do
11
+ gem 'pry'
12
+ gem 'pry-drb'
13
+ end
14
+ ```
15
+
16
+ ## Usage
17
+
18
+ 1. Run the pry-drb daemon:
19
+
20
+ ```shell
21
+ $ pry-drb
22
+ ```
23
+
24
+ 2. Inside Pry, you can then store values in DRB:
25
+
26
+ ```ruby
27
+ pry(main) [1]> DRB[:awesome] = 5
28
+ => 5
29
+ ```
30
+
31
+ 3. In another Pry, you can then access that value!:
32
+
33
+ ```ruby
34
+ pry(main) [1]> DRB[:awesome]
35
+ => 5
36
+ ```
37
+
38
+ Objects that you put into DRb can be accessed in other Pry sessions running at
39
+ the same time, or even by a Pry that open later in the day!
40
+
41
+ If you need to stop the DRb server you can run `pry-drb stop`. This will throw
42
+ away anything you've stored in `DRB` from within Pry.
43
+
44
+ ## Meta-foo
45
+
46
+ pry-drb is licensed under the MIT licence. See LICENCE.MIT for details.
47
+
48
+ Issues and pull requests are welcome!
@@ -0,0 +1,75 @@
1
+ #!/usr/bin/env ruby
2
+ require 'drb'
3
+ require 'pry-drb'
4
+
5
+ module PryDrb
6
+ class << self
7
+ def call
8
+ setup
9
+
10
+ if @params && @params != 'start'
11
+ if @params == 'stop'
12
+ stop
13
+ elsif @params == 'status'
14
+ status
15
+ elsif @params.include? '-v'
16
+ version
17
+ else
18
+ help
19
+ end
20
+ else
21
+ start
22
+ end
23
+ end
24
+
25
+ private
26
+
27
+ def setup
28
+ @processes = `pgrep -f drb`.split
29
+ @params = ARGV.first
30
+ end
31
+
32
+ def version
33
+ puts PryDrb::VERSION
34
+ end
35
+
36
+ def stop
37
+ if @processes.size > 1
38
+ puts 'Stopping drb service.'
39
+ `kill -9 #{@processes.join ' '}`
40
+ else
41
+ puts 'No drb service running.'
42
+ end
43
+ end
44
+
45
+ def status
46
+ if @processes.size > 1
47
+ puts 'Running.'
48
+ else
49
+ puts 'Stopped.'
50
+ end
51
+ end
52
+
53
+ def help
54
+ puts 'Usage:'
55
+ puts "\tdrb -h/--help"
56
+ puts "\tdrb -v/--version"
57
+ puts "\tdrb [start|stop|status]"
58
+ end
59
+
60
+ def start
61
+ if @processes.size <= 1
62
+ puts 'Starting drb service.'
63
+ fork do
64
+ DRb.start_service 'druby://localhost:55555', {}
65
+ DRb.thread.join
66
+ end
67
+ Process.daemon
68
+ else
69
+ abort "Drb service already running."
70
+ end
71
+ end
72
+ end
73
+ end
74
+
75
+ PryDrb.call
@@ -0,0 +1,2 @@
1
+ require 'drb'
2
+ DRB = DRbObject.new_with_uri 'druby://localhost:55555'
@@ -0,0 +1,3 @@
1
+ module PryDrb
2
+ VERSION = '0.0.1'
3
+ end
@@ -0,0 +1,23 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../lib/pry-drb/version', __FILE__)
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.name = 'pry-drb'
6
+ gem.version = PryDrb::VERSION
7
+
8
+ gem.summary = 'Store objects persistently in your pry session!'
9
+ gem.description = "Uses DRb to let you stash variables across pry sessions."
10
+
11
+ gem.authors = ['Shannon Skipper']
12
+ gem.email = %w(shannonskipper@gmail.com)
13
+ gem.homepage = 'http://github.com/havenwood/pry-drb'
14
+
15
+ gem.license = 'MIT'
16
+
17
+ gem.required_ruby_version = '>= 1.8.7'
18
+
19
+ gem.add_dependency 'pry'
20
+
21
+ gem.files = `git ls-files`.split("\n")
22
+ gem.executables = "pry-drb"
23
+ end
metadata ADDED
@@ -0,0 +1,67 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pry-drb
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Shannon Skipper
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-11-10 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: pry
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ description: Uses DRb to let you stash variables across pry sessions.
28
+ email:
29
+ - shannonskipper@gmail.com
30
+ executables:
31
+ - pry-drb
32
+ extensions: []
33
+ extra_rdoc_files: []
34
+ files:
35
+ - ".gitignore"
36
+ - LICENSE.MIT
37
+ - README.md
38
+ - bin/pry-drb
39
+ - lib/pry-drb.rb
40
+ - lib/pry-drb/version.rb
41
+ - pry-drb.gemspec
42
+ homepage: http://github.com/havenwood/pry-drb
43
+ licenses:
44
+ - MIT
45
+ metadata: {}
46
+ post_install_message:
47
+ rdoc_options: []
48
+ require_paths:
49
+ - lib
50
+ required_ruby_version: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 1.8.7
55
+ required_rubygems_version: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: '0'
60
+ requirements: []
61
+ rubyforge_project:
62
+ rubygems_version: 2.1.10
63
+ signing_key:
64
+ specification_version: 4
65
+ summary: Store objects persistently in your pry session!
66
+ test_files: []
67
+ has_rdoc: