remote_executor 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|