rye 0.3 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES.txt +6 -0
- data/README.rdoc +2 -2
- data/lib/rye/set.rb +3 -1
- data/rye.gemspec +2 -2
- metadata +3 -3
data/CHANGES.txt
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
RYE, CHANGES
|
2
2
|
|
3
|
+
|
4
|
+
#### 0.3.1 (2009-04-05) #############################
|
5
|
+
|
6
|
+
* FIXED: Module.instance_methods bug. In Ruby 1.9 it's Symbols (1.8 was Strings).
|
7
|
+
|
8
|
+
|
3
9
|
#### 0.3 (2009-04-05) ###############################
|
4
10
|
|
5
11
|
* ADDED: Rye::Set supports executing commands parallel
|
data/README.rdoc
CHANGED
@@ -137,13 +137,13 @@ One of:
|
|
137
137
|
In safe-mode:
|
138
138
|
|
139
139
|
* You can't use file globs. This means you can't do this: <tt>rbox.ls('*.rb')</tt>.
|
140
|
-
*
|
140
|
+
* Command arguments cannot contain environment variables. However, environment variables are available to the commands you run. This means you can't do this: <tt>rbox.echo('$HOME')</tt>.
|
141
141
|
* Pipes and operators don't work: <tt>|, &&, >, <, ||</tt>, etc...
|
142
142
|
* Backticks don't work either: <tt>procs=`ps aux`</tt>
|
143
143
|
|
144
144
|
Why? In safe-mode, all command arguments are escaped which turns all arguments into their literal values.
|
145
145
|
|
146
|
-
Using a Ruby interface to execute shell commands is pretty awesome, particularly to run them on several machines simultaneously. That's a lot of power and it's potentially very dangerous. That's why
|
146
|
+
Using a Ruby interface to execute shell commands is pretty awesome, particularly to run them on several machines simultaneously. That's a lot of power and it's potentially very dangerous. That's why Rye disables this stuff by default. There's probably a way to do it safely but it's not obvious yet (to me). If you have any ideas, I'd love to hear them!
|
147
147
|
|
148
148
|
|
149
149
|
== Credits
|
data/lib/rye/set.rb
CHANGED
@@ -91,8 +91,10 @@ module Rye
|
|
91
91
|
#
|
92
92
|
# Returns a Rye::Rap object containing the responses from each Rye::Box.
|
93
93
|
def method_missing(meth, *args)
|
94
|
+
# Ruby 1.8 populates Module.instance_methods with Strings. 1.9 uses Symbols.
|
95
|
+
meth = (Rye.sysinfo.ruby[1] == 8) ? meth.to_s : meth.to_sym
|
94
96
|
raise Rye::NoBoxes if @boxes.empty?
|
95
|
-
raise Rye::CommandNotFound, meth.to_s unless Rye::Cmd.instance_methods.member?(meth
|
97
|
+
raise Rye::CommandNotFound, meth.to_s unless Rye::Cmd.instance_methods.member?(meth)
|
96
98
|
run_command(meth, *args)
|
97
99
|
end
|
98
100
|
|
data/rye.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
@spec = Gem::Specification.new do |s|
|
2
2
|
s.name = "rye"
|
3
3
|
s.rubyforge_project = "rye"
|
4
|
-
s.version = "0.3"
|
4
|
+
s.version = "0.3.1"
|
5
5
|
s.summary = "Rye: Run system commands via SSH locally and remotely in a Ruby way."
|
6
6
|
s.description = s.summary
|
7
7
|
s.author = "Delano Mandelbaum"
|
@@ -39,7 +39,7 @@
|
|
39
39
|
# = EXECUTABLES =
|
40
40
|
# The list of executables in your project (if any). Don't include the path,
|
41
41
|
# just the base filename.
|
42
|
-
s.executables = %w[
|
42
|
+
#s.executables = %w[]
|
43
43
|
|
44
44
|
|
45
45
|
s.extra_rdoc_files = %w[README.rdoc LICENSE.txt]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rye
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Delano Mandelbaum
|
@@ -34,8 +34,8 @@ dependencies:
|
|
34
34
|
version:
|
35
35
|
description: "Rye: Run system commands via SSH locally and remotely in a Ruby way."
|
36
36
|
email: delano@solutious.com
|
37
|
-
executables:
|
38
|
-
|
37
|
+
executables: []
|
38
|
+
|
39
39
|
extensions: []
|
40
40
|
|
41
41
|
extra_rdoc_files:
|