rye 0.3 → 0.3.1
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/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:
|