rexec 1.5.1 → 1.5.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 +7 -0
- data/.travis.yml +7 -0
- data/Gemfile +3 -4
- data/README.md +35 -20
- data/lib/rexec/connection.rb +2 -2
- data/lib/rexec/version.rb +1 -7
- data/rakefile.rb +2 -3
- data/rexec.gemspec +30 -0
- metadata +64 -26
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: eeac2d77b24b91623ceb1e3ba60b8241458e99ab
|
4
|
+
data.tar.gz: 8139f4e5be7d952b8c852515b44e15ef8f7414c4
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 858b77f57fad5dc074c993bc36a68831bd48d9975c472ad7f0d2855c1c9da8f1bc4422c703aa1f649eb352f1a0e23e22fa33d3e2b8e52d13e16c3b149b7b1193
|
7
|
+
data.tar.gz: 957c3d06a7632c233a71509e01f7ff39a83734f264556f61c2f8f5b4e99d462babf825fcadc15ceff0256c9ccc16568a9efd527cb4b428e89ff5b05ae6382d96
|
data/.travis.yml
ADDED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,13 +1,6 @@
|
|
1
|
-
RExec
|
2
|
-
=====
|
1
|
+
# RExec
|
3
2
|
|
4
|
-
|
5
|
-
* Copyright (C) 2007, 2009, 2011 Samuel G. D. Williams.
|
6
|
-
* Released under the MIT license.
|
7
|
-
|
8
|
-
RExec stands for Remote Execute and provides support for executing processes
|
9
|
-
both locally and remotely. It provides a number of different tools to assist
|
10
|
-
with running Ruby code:
|
3
|
+
RExec stands for Remote Execute and provides support for executing processes both locally and remotely. It provides a number of different tools to assist with running Ruby code:
|
11
4
|
|
12
5
|
* A framework to send Ruby code to a remote server for execution.
|
13
6
|
* A framework for writing command line daemons (i.e. `start`, `restart`, `stop`, `status`).
|
@@ -18,24 +11,37 @@ with running Ruby code:
|
|
18
11
|
|
19
12
|
For more information please see the [project page][1].
|
20
13
|
|
21
|
-
[1]: http://www.
|
14
|
+
[1]: http://www.codeotaku.com/projects/rexec
|
15
|
+
|
16
|
+
## Installation
|
17
|
+
|
18
|
+
Add this line to your application's Gemfile:
|
19
|
+
|
20
|
+
gem 'rexec'
|
21
|
+
|
22
|
+
And then execute:
|
23
|
+
|
24
|
+
$ bundle
|
22
25
|
|
23
|
-
|
24
|
-
|
26
|
+
Or install it yourself as:
|
27
|
+
|
28
|
+
$ gem install rexec
|
29
|
+
|
30
|
+
## Usage
|
31
|
+
|
32
|
+
### Comprehensive process management
|
25
33
|
|
26
34
|
`RExec::Task` provides a comprehensive wrapper for low level process execution
|
27
35
|
and life-cycle management. You can easy spawn new child processes, background
|
28
36
|
processes and execute Ruby code in a child instance.
|
29
37
|
|
30
|
-
Light weight bi-directional communication
|
31
|
-
-----------------------------------------
|
38
|
+
### Light weight bi-directional communication
|
32
39
|
|
33
40
|
The `RExec::Connection` provides a simple process based API for communicating
|
34
41
|
with distant instances of Ruby. These can either be local or remote, such
|
35
42
|
as over SSH.
|
36
43
|
|
37
|
-
Simple daemonization
|
38
|
-
--------------------
|
44
|
+
### Simple daemonization
|
39
45
|
|
40
46
|
The `RExec::Daemon` module provides the foundation to develop long-running
|
41
47
|
background processes. Simply create a daemon class which inherits from
|
@@ -46,10 +52,19 @@ and `stop`.
|
|
46
52
|
Along with this, a executable is included called `daemon-exec` which allows
|
47
53
|
for any standard shell script to be run as a background process.
|
48
54
|
|
49
|
-
|
50
|
-
|
55
|
+
## Contributing
|
56
|
+
|
57
|
+
1. Fork it
|
58
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
59
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
60
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
61
|
+
5. Create new Pull Request
|
62
|
+
|
63
|
+
## License
|
64
|
+
|
65
|
+
Released under the MIT license.
|
51
66
|
|
52
|
-
Copyright
|
67
|
+
Copyright, 2012, by [Samuel G. D. Williams](http://www.codeotaku.com/samuel-williams).
|
53
68
|
|
54
69
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
55
70
|
of this software and associated documentation files (the "Software"), to deal
|
@@ -67,4 +82,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
67
82
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
68
83
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
69
84
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
70
|
-
THE SOFTWARE.
|
85
|
+
THE SOFTWARE.
|
data/lib/rexec/connection.rb
CHANGED
@@ -50,10 +50,10 @@ module RExec
|
|
50
50
|
end
|
51
51
|
|
52
52
|
# The object that will handle remote proxy invocations.
|
53
|
-
|
53
|
+
attr_accessor :handler
|
54
54
|
|
55
55
|
# Whether to send exceptions across the wire, or handle normally (e.g. print to stdout):
|
56
|
-
|
56
|
+
attr_accessor :exceptions
|
57
57
|
|
58
58
|
# The proxy object that will dispatch RPCs.
|
59
59
|
attr :proxy
|
data/lib/rexec/version.rb
CHANGED
data/rakefile.rb
CHANGED
data/rexec.gemspec
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'rexec/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "rexec"
|
8
|
+
spec.version = RExec::VERSION
|
9
|
+
spec.authors = ["Samuel Williams"]
|
10
|
+
spec.email = ["samuel.williams@oriontransfer.co.nz"]
|
11
|
+
spec.description = <<-EOF
|
12
|
+
RExec stands for Remote Execute and provides support for executing processes
|
13
|
+
both locally and remotely. It provides a number of different tools to assist
|
14
|
+
with running Ruby code, including remote code execution, daemonization, task
|
15
|
+
management and priviledge management.
|
16
|
+
EOF
|
17
|
+
spec.summary = "RExec assists with and manages the execution of child and daemon tasks."
|
18
|
+
spec.homepage = "http://www.codeotaku.com/projects/rexec"
|
19
|
+
spec.license = "MIT"
|
20
|
+
|
21
|
+
spec.files = `git ls-files`.split($/)
|
22
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
23
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
24
|
+
spec.require_paths = ["lib"]
|
25
|
+
|
26
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
27
|
+
spec.add_development_dependency "rake"
|
28
|
+
|
29
|
+
spec.add_dependency "rainbow"
|
30
|
+
end
|
metadata
CHANGED
@@ -1,46 +1,79 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rexec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
5
|
-
prerelease:
|
4
|
+
version: 1.5.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Samuel Williams
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2013-08-18 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.3'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.3'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
14
41
|
- !ruby/object:Gem::Dependency
|
15
42
|
name: rainbow
|
16
43
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
44
|
requirements:
|
19
|
-
- -
|
45
|
+
- - '>='
|
20
46
|
- !ruby/object:Gem::Version
|
21
47
|
version: '0'
|
22
48
|
type: :runtime
|
23
49
|
prerelease: false
|
24
50
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
51
|
requirements:
|
27
|
-
- -
|
52
|
+
- - '>='
|
28
53
|
- !ruby/object:Gem::Version
|
29
54
|
version: '0'
|
30
|
-
description:
|
31
|
-
|
55
|
+
description: "\t\tRExec stands for Remote Execute and provides support for executing
|
56
|
+
processes\n\t\tboth locally and remotely. It provides a number of different tools
|
57
|
+
to assist\n\t\twith running Ruby code, including remote code execution, daemonization,
|
58
|
+
task\n\t\tmanagement and priviledge management.\n"
|
59
|
+
email:
|
60
|
+
- samuel.williams@oriontransfer.co.nz
|
32
61
|
executables:
|
33
62
|
- daemon-exec
|
34
63
|
extensions: []
|
35
64
|
extra_rdoc_files: []
|
36
65
|
files:
|
66
|
+
- .travis.yml
|
67
|
+
- Gemfile
|
68
|
+
- README.md
|
37
69
|
- bin/daemon-exec
|
70
|
+
- lib/rexec.rb
|
38
71
|
- lib/rexec/client.rb
|
39
72
|
- lib/rexec/connection.rb
|
73
|
+
- lib/rexec/daemon.rb
|
40
74
|
- lib/rexec/daemon/base.rb
|
41
75
|
- lib/rexec/daemon/controller.rb
|
42
76
|
- lib/rexec/daemon/process_file.rb
|
43
|
-
- lib/rexec/daemon.rb
|
44
77
|
- lib/rexec/environment.rb
|
45
78
|
- lib/rexec/priviledges.rb
|
46
79
|
- lib/rexec/reverse_io.rb
|
@@ -48,7 +81,8 @@ files:
|
|
48
81
|
- lib/rexec/task.rb
|
49
82
|
- lib/rexec/to_cmd.rb
|
50
83
|
- lib/rexec/version.rb
|
51
|
-
-
|
84
|
+
- rakefile.rb
|
85
|
+
- rexec.gemspec
|
52
86
|
- test/client.rb
|
53
87
|
- test/daemon.rb
|
54
88
|
- test/helper.rb
|
@@ -59,34 +93,38 @@ files:
|
|
59
93
|
- test/test_remote_server.rb
|
60
94
|
- test/test_server.rb
|
61
95
|
- test/test_task.rb
|
62
|
-
|
63
|
-
|
64
|
-
-
|
65
|
-
|
66
|
-
licenses: []
|
96
|
+
homepage: http://www.codeotaku.com/projects/rexec
|
97
|
+
licenses:
|
98
|
+
- MIT
|
99
|
+
metadata: {}
|
67
100
|
post_install_message:
|
68
101
|
rdoc_options: []
|
69
102
|
require_paths:
|
70
103
|
- lib
|
71
104
|
required_ruby_version: !ruby/object:Gem::Requirement
|
72
|
-
none: false
|
73
105
|
requirements:
|
74
|
-
- -
|
106
|
+
- - '>='
|
75
107
|
- !ruby/object:Gem::Version
|
76
108
|
version: '0'
|
77
|
-
segments:
|
78
|
-
- 0
|
79
|
-
hash: 3629144491147234128
|
80
109
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
110
|
requirements:
|
83
|
-
- -
|
111
|
+
- - '>='
|
84
112
|
- !ruby/object:Gem::Version
|
85
113
|
version: '0'
|
86
114
|
requirements: []
|
87
115
|
rubyforge_project:
|
88
|
-
rubygems_version:
|
116
|
+
rubygems_version: 2.0.6
|
89
117
|
signing_key:
|
90
|
-
specification_version:
|
118
|
+
specification_version: 4
|
91
119
|
summary: RExec assists with and manages the execution of child and daemon tasks.
|
92
|
-
test_files:
|
120
|
+
test_files:
|
121
|
+
- test/client.rb
|
122
|
+
- test/daemon.rb
|
123
|
+
- test/helper.rb
|
124
|
+
- test/interrupt.rb
|
125
|
+
- test/listing_example.rb
|
126
|
+
- test/task.rb
|
127
|
+
- test/test_daemon.rb
|
128
|
+
- test/test_remote_server.rb
|
129
|
+
- test/test_server.rb
|
130
|
+
- test/test_task.rb
|