remote_executor 0.1.0 → 0.2.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.
- data/README.rdoc +25 -0
- data/bin/remote_executor +14 -6
- data/lib/remote_executor/config.rb +21 -1
- data/lib/remote_executor/options_parser.rb +2 -3
- data/lib/remote_executor/version.rb +3 -3
- data/lib/remote_executor.rb +10 -3
- metadata +40 -13
- data/README +0 -0
data/README.rdoc
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
= Remote Executor: A simplistic remote command launcher over SSH conections
|
2
|
+
|
3
|
+
== Installing
|
4
|
+
|
5
|
+
The latest stable version is published in gemcutter.
|
6
|
+
|
7
|
+
gem source --add http://gemcutter.org
|
8
|
+
gem install remote_executor
|
9
|
+
|
10
|
+
|
11
|
+
== Notes
|
12
|
+
|
13
|
+
At the moment the gem have a strong dependency of your local SSH configuration, commonly located at ${HOME}/.ssh/config, this is only a
|
14
|
+
very simple mechanism for keep safe your private data, but this need a ugly configuration with a fake user name in the connection
|
15
|
+
process. I provide a basic SSH config if your aren´t familiar with this configuration stuff
|
16
|
+
|
17
|
+
|
18
|
+
== TODO
|
19
|
+
|
20
|
+
* Document all stuff in english... I promise ;)
|
21
|
+
* Write some test...
|
22
|
+
|
23
|
+
== License
|
24
|
+
|
25
|
+
Copyright © 2007-2010 Javier Juarez, released under the MIT license.
|
data/bin/remote_executor
CHANGED
@@ -1,15 +1,23 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
$:.unshift
|
3
|
+
$:.unshift File.join( File.dirname( __FILE__ ), %w[.. lib] )
|
4
4
|
|
5
5
|
require 'rubygems'
|
6
6
|
require 'remote_executor'
|
7
7
|
|
8
|
+
module CLIApplication
|
9
|
+
|
10
|
+
NAME = "RemoteExecutor"
|
11
|
+
|
12
|
+
def self.execute
|
13
|
+
RemoteExecutor::Cli::execute(
|
14
|
+
Choice.choices[:environment],
|
15
|
+
Choice.choices[:system],
|
16
|
+
Choice.choices[:command]
|
17
|
+
)
|
18
|
+
end
|
19
|
+
end
|
8
20
|
|
9
21
|
##
|
10
22
|
# ::Main::
|
11
|
-
|
12
|
-
Choice.choices[:environment],
|
13
|
-
Choice.choices[:system],
|
14
|
-
Choice.choices[:command]
|
15
|
-
)
|
23
|
+
CLIApplication.execute
|
@@ -1,9 +1,29 @@
|
|
1
1
|
module RemoteExecutor
|
2
|
+
class YAMLFileNotFound < Exception
|
3
|
+
end
|
4
|
+
|
2
5
|
class Config
|
3
6
|
include Singleton
|
4
7
|
|
8
|
+
##
|
9
|
+
# Get the default configuration over Choice, environment and user default settings
|
10
|
+
def self.get_config_file( config_key )
|
11
|
+
|
12
|
+
return Choice.choices[:config] if Choice.choices[:config]
|
13
|
+
|
14
|
+
environment_var = ENV["#{config_key.upcase}"]
|
15
|
+
return environment_var if environment_var
|
16
|
+
|
17
|
+
default_user_config_file = "#{ENV['HOME']}/.#{config_key.downcase}rc"
|
18
|
+
return default_user_config_file if File.exist?( default_user_config_file )
|
19
|
+
|
20
|
+
raise YAMLFileNotFound.new( "Configuration file not found" )
|
21
|
+
end
|
22
|
+
|
5
23
|
def initialize()
|
6
|
-
@config = YAML.load_file(
|
24
|
+
@config = YAML.load_file( Config.get_config_file( CLIApplication::NAME ) )
|
25
|
+
rescue Exception => e
|
26
|
+
raise YAMLFileNotFound.new( e.message )
|
7
27
|
end
|
8
28
|
|
9
29
|
def [](key)
|
data/lib/remote_executor.rb
CHANGED
@@ -1,6 +1,13 @@
|
|
1
1
|
begin
|
2
2
|
%w[rubygems yaml singleton choice net/ssh].each { |gem| require gem }
|
3
|
-
|
4
|
-
|
5
|
-
$stderr.puts e.message
|
3
|
+
rescue LoadError => e
|
4
|
+
fail "Some gem dependencies can´t be loaded: #{e.message}"
|
6
5
|
end
|
6
|
+
|
7
|
+
$:.unshift File.join( File.dirname( __FILE__), 'remote_executor' )
|
8
|
+
|
9
|
+
begin
|
10
|
+
%w[version config options_parser cli].each { |lib| require lib }
|
11
|
+
rescue LoadError => e
|
12
|
+
fail "Some lib dependencies can´t be loaded: #{e.message}"
|
13
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: remote_executor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 2
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 0.2.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Javier Juarez
|
@@ -15,18 +15,45 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-11-
|
18
|
+
date: 2010-11-20 00:00:00 +01:00
|
19
19
|
default_executable: remote_executor
|
20
|
-
dependencies:
|
21
|
-
|
22
|
-
|
23
|
-
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: choice
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 3
|
30
|
+
segments:
|
31
|
+
- 0
|
32
|
+
version: "0"
|
33
|
+
type: :runtime
|
34
|
+
version_requirements: *id001
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: net-ssh
|
37
|
+
prerelease: false
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
hash: 3
|
44
|
+
segments:
|
45
|
+
- 0
|
46
|
+
version: "0"
|
47
|
+
type: :runtime
|
48
|
+
version_requirements: *id002
|
49
|
+
description: A little remote command launcher over SSH connections
|
50
|
+
email: javier.juarez_AT_ gmail_DOT_com
|
24
51
|
executables:
|
25
52
|
- remote_executor
|
26
53
|
extensions: []
|
27
54
|
|
28
55
|
extra_rdoc_files:
|
29
|
-
- README
|
56
|
+
- README.rdoc
|
30
57
|
files:
|
31
58
|
- bin/remote_executor
|
32
59
|
- lib/remote_executor.rb
|
@@ -34,11 +61,11 @@ files:
|
|
34
61
|
- lib/remote_executor/config.rb
|
35
62
|
- lib/remote_executor/options_parser.rb
|
36
63
|
- lib/remote_executor/version.rb
|
37
|
-
- README
|
64
|
+
- README.rdoc
|
38
65
|
has_rdoc: true
|
39
66
|
homepage: http://github.com/jjuarez/remote_executor
|
40
|
-
licenses:
|
41
|
-
|
67
|
+
licenses:
|
68
|
+
- MIT
|
42
69
|
post_install_message:
|
43
70
|
rdoc_options: []
|
44
71
|
|
@@ -64,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
64
91
|
version: "0"
|
65
92
|
requirements: []
|
66
93
|
|
67
|
-
rubyforge_project:
|
94
|
+
rubyforge_project: http://github.com/jjuarez/remote_executor
|
68
95
|
rubygems_version: 1.3.7
|
69
96
|
signing_key:
|
70
97
|
specification_version: 3
|
data/README
DELETED
File without changes
|