ruby_ex 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +177 -0
- data/NEWS +20 -11
- data/SPEC.dyn.yml +4 -4
- data/SPEC.gemspec +4 -4
- data/SPEC.yml +4 -1
- data/lib/cache.rb +2 -2
- data/lib/commands.rb +19 -1
- data/lib/commands/command.rb +5 -5
- data/lib/commands/datas/composite.rb +26 -4
- data/lib/commands/datas/data.rb +6 -5
- data/lib/commands/pipe.rb +55 -14
- data/lib/commands/runners/fork.rb +6 -2
- data/lib/commands/runners/{mock.rb → mockable.rb} +21 -22
- data/lib/commands/runners/runner.rb +13 -1
- data/lib/d_logger.rb +11 -5
- data/lib/diff_tools.rb +141 -0
- data/lib/drb/insecure_protected_methods.rb +2 -2
- data/lib/file_type.rb +29 -21
- data/lib/hookable.rb +17 -2
- data/lib/md5sum.rb +2 -2
- data/lib/module/autoload_tree.rb +2 -2
- data/lib/ordered_hash.rb +28 -1
- data/lib/regex_list.rb +192 -0
- data/lib/ruby_ex.rb +8 -5
- data/lib/sendmail.rb +8 -1
- data/lib/sym_tbl_gsub.rb +44 -18
- data/lib/uri/file.rb +2 -2
- data/lib/uri/ftp_ex.rb +2 -2
- data/lib/uri/http_ex.rb +2 -2
- data/lib/uri/ssh.rb +1 -1
- data/lib/uri/svn.rb +2 -2
- data/lib/uri_ex.rb +4 -7
- data/lib/yaml/chop_header.rb +1 -1
- data/test/check-pkg-ruby_ex.yml +5 -7
- data/test/check-ruby_ex.yml +6 -10
- data/test/{resources → fixtures}/autoload_tree/A.rb +0 -0
- data/test/{resources → fixtures}/autoload_tree/B.rb +0 -0
- data/test/{resources → fixtures}/autoload_tree/foo/C.rb +0 -0
- data/test/fixtures/foo.bz2 +0 -0
- data/test/fixtures/foo.gz.zip +0 -0
- data/test/fixtures/foo.rb.gz +0 -0
- data/test/fixtures/foo.tar +0 -0
- data/test/fixtures/foo.tar.bz2 +0 -0
- data/test/{resources → fixtures}/foo.tar.gz +0 -0
- data/test/{resources → fixtures}/foo.txt +0 -0
- data/test/fixtures/my_diff.patch +164 -0
- data/test/{resources → fixtures}/tar.gz.log +0 -0
- data/test/sanity/multiple-requires.yml +1 -1
- data/test/sanity/single-requires.yml +1 -1
- metadata +23 -16
data/lib/uri/file.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# License: Gnu General Public License.
|
4
4
|
|
5
5
|
# $LastChangedBy: ertai $
|
6
|
-
# $Id: file.rb
|
6
|
+
# $Id: file.rb 385 2005-10-02 17:05:35Z ertai $
|
7
7
|
|
8
8
|
require 'uri_ex'
|
9
9
|
|
@@ -53,7 +53,7 @@ module URI
|
|
53
53
|
cmd = GZIP['-c', p] > out
|
54
54
|
end
|
55
55
|
cmd.run(self.runner)
|
56
|
-
out
|
56
|
+
[out, nil]
|
57
57
|
end
|
58
58
|
|
59
59
|
end # class File
|
data/lib/uri/ftp_ex.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# License: Gnu General Public License.
|
4
4
|
|
5
5
|
# $LastChangedBy: ertai $
|
6
|
-
# $Id: ftp_ex.rb
|
6
|
+
# $Id: ftp_ex.rb 385 2005-10-02 17:05:35Z ertai $
|
7
7
|
|
8
8
|
require 'uri_ex'
|
9
9
|
require 'uri/ftp'
|
@@ -28,7 +28,7 @@ module URI
|
|
28
28
|
raise CheckoutError, "Cannot checkout #{to_s} (error: #{ex.short_pp})"
|
29
29
|
end
|
30
30
|
|
31
|
-
tmp
|
31
|
+
[tmp, nil]
|
32
32
|
end
|
33
33
|
|
34
34
|
end # class FTP
|
data/lib/uri/http_ex.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# License: Gnu General Public License.
|
4
4
|
|
5
5
|
# $LastChangedBy: ertai $
|
6
|
-
# $Id: http_ex.rb
|
6
|
+
# $Id: http_ex.rb 385 2005-10-02 17:05:35Z ertai $
|
7
7
|
|
8
8
|
require 'uri_ex'
|
9
9
|
require 'uri/http'
|
@@ -33,7 +33,7 @@ module URI
|
|
33
33
|
raise CheckoutError, "Cannot checkout #{to_s} (error: #{ex.short_pp})"
|
34
34
|
end
|
35
35
|
|
36
|
-
tmp
|
36
|
+
[tmp, nil]
|
37
37
|
end
|
38
38
|
|
39
39
|
end # class HTTP
|
data/lib/uri/ssh.rb
CHANGED
data/lib/uri/svn.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# License: Gnu General Public License.
|
4
4
|
|
5
5
|
# $LastChangedBy: ertai $
|
6
|
-
# $Id: svn.rb
|
6
|
+
# $Id: svn.rb 363 2005-09-24 17:15:50Z ertai $
|
7
7
|
|
8
8
|
require 'uri_ex'
|
9
9
|
|
@@ -32,7 +32,7 @@ module URI
|
|
32
32
|
tmp.mkpath
|
33
33
|
target = to_s.sub(/^svn\./, '')
|
34
34
|
tmp += pathname.basename
|
35
|
-
SVN['checkout', target, tmp].run(self.runner)
|
35
|
+
[tmp, SVN['checkout', target, tmp].run(self.runner)]
|
36
36
|
end
|
37
37
|
|
38
38
|
def save
|
data/lib/uri_ex.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# Copyright:: Copyright (c) 2005 Nicolas Pouillard. All rights reserved.
|
2
2
|
# Author:: Nicolas Pouillard <ertai@lrde.epita.fr>.
|
3
3
|
# License:: Gnu General Public License.
|
4
|
-
# Revision:: $Id: uri_ex.rb
|
4
|
+
# Revision:: $Id: uri_ex.rb 363 2005-09-24 17:15:50Z ertai $
|
5
5
|
|
6
6
|
require 'uri'
|
7
7
|
|
@@ -20,6 +20,7 @@ module URI
|
|
20
20
|
end
|
21
21
|
|
22
22
|
class Generic
|
23
|
+
have YamlExtension, :uri, :url
|
23
24
|
|
24
25
|
#
|
25
26
|
# To make all uris command verbose you can change or modify the global
|
@@ -38,12 +39,8 @@ module URI
|
|
38
39
|
self.path = path.to_s
|
39
40
|
end
|
40
41
|
|
41
|
-
def
|
42
|
-
|
43
|
-
end
|
44
|
-
|
45
|
-
def to_yaml ( opts={} )
|
46
|
-
"!uri #{to_s}"
|
42
|
+
def to_yaml_string
|
43
|
+
to_s
|
47
44
|
end
|
48
45
|
|
49
46
|
def checkout
|
data/lib/yaml/chop_header.rb
CHANGED
data/test/check-pkg-ruby_ex.yml
CHANGED
@@ -1,15 +1,13 @@
|
|
1
1
|
---
|
2
2
|
|
3
|
-
# Run this suite with -S 'url: scheme://the/url/to/the/
|
4
|
-
RubyEx Package Test Suite:
|
5
|
-
strategy: Suite
|
3
|
+
# Run this suite with -S 'url: scheme://the/url/to/the/ruby_ex/package'
|
4
|
+
RubyEx Package Test Suite: !S::Suite
|
6
5
|
contents:
|
7
6
|
|
8
|
-
- Checkout:
|
9
|
-
strategy: Checkout
|
7
|
+
- Checkout: !S::Checkout
|
10
8
|
url: <<url>>
|
11
9
|
fatal: true
|
10
|
+
weight: 0
|
12
11
|
|
13
|
-
- Check the package:
|
14
|
-
strategy: Import
|
12
|
+
- Check the package: !S::Import
|
15
13
|
import: <<checkout_dir>>/test/check-ruby_ex.yml
|
data/test/check-ruby_ex.yml
CHANGED
@@ -1,12 +1,8 @@
|
|
1
1
|
---
|
2
2
|
|
3
|
-
RubyEx Main Test Suite:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
test:
|
10
|
-
<<match>>:
|
11
|
-
strategy: Import
|
12
|
-
import : <<path>>
|
3
|
+
RubyEx Main Test Suite: !S::Iterate
|
4
|
+
over: !pathlist <<pwd>>/(*-suite).yml
|
5
|
+
iter: [it_path, it_name]
|
6
|
+
test:
|
7
|
+
<<it_name>>: !S::Import
|
8
|
+
import: <<it_path>>
|
File without changes
|
File without changes
|
File without changes
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
File without changes
|
File without changes
|
@@ -0,0 +1,164 @@
|
|
1
|
+
Index: core_ex/lib/core_ex.rb
|
2
|
+
===================================================================
|
3
|
+
--- core_ex/lib/core_ex.rb (revision 361)
|
4
|
+
+++ core_ex/lib/core_ex.rb (working copy)
|
5
|
+
@@ -3,6 +3,17 @@
|
6
|
+
# License:: Gnu General Public License.
|
7
|
+
# Revision:: $Id$
|
8
|
+
|
9
|
+
+min_release = "1.8.2 (2004-12-25)"
|
10
|
+
+ruby_release = "#{RUBY_VERSION} (#{RUBY_RELEASE_DATE})"
|
11
|
+
+if ruby_release < min_release
|
12
|
+
+ abort <<-end_message
|
13
|
+
+
|
14
|
+
+ CoreEx requires Ruby version #{min_release} or later.
|
15
|
+
+ You're running #{ruby_release}; please upgrade to continue.
|
16
|
+
+
|
17
|
+
+ end_message
|
18
|
+
+end
|
19
|
+
+
|
20
|
+
unless defined? CORE_EX_LOADED and CORE_EX_LOADED
|
21
|
+
CORE_EX_LOADED = true
|
22
|
+
$LOADED_FEATURES << 'core_ex.rb' unless $LOADED_FEATURES.include? 'core_ex.rb'
|
23
|
+
Index: core_ex/NEWS
|
24
|
+
===================================================================
|
25
|
+
--- core_ex/NEWS (revision 361)
|
26
|
+
+++ core_ex/NEWS (working copy)
|
27
|
+
@@ -53,8 +53,8 @@
|
28
|
+
= New in 0.1, 2005-05-31:
|
29
|
+
|
30
|
+
CoreEx is designed to provides a simple but quite useful extension of the
|
31
|
+
- standard library of Ruby. So some classes and modules like Pathname, Time,
|
32
|
+
- Enumerable, Exception, FileUtils, String, and YAML are extended. There is
|
33
|
+
+ standard library of Ruby. Thus some classes and modules like Pathname, Time,
|
34
|
+
+ Enumerable, Exception, FileUtils, String, and YAML are extended. There are
|
35
|
+
also some new features like attr_once, DTime, TempPath, Version,
|
36
|
+
embedded_tests, filelist (almost from rake), a common Rakefile, and an
|
37
|
+
extension of the require system.
|
38
|
+
Index: core_ex/README
|
39
|
+
===================================================================
|
40
|
+
--- core_ex/README (revision 361)
|
41
|
+
+++ core_ex/README (working copy)
|
42
|
+
@@ -1,7 +1,7 @@
|
43
|
+
CoreEx is designed to provides a simple but quite useful extension of the
|
44
|
+
-standard library of Ruby. So some classes and modules like Pathname,
|
45
|
+
+standard library of Ruby. Thus some classes and modules like Pathname,
|
46
|
+
Enumerable, Exception, FileUtils, String, YAML, Module, Class and Object are
|
47
|
+
-extended. There is also some new features like DTime, TempPath, Version,
|
48
|
+
-embedded_tests, FileList (almost from rake), a common Rakefile.
|
49
|
+
+extended. There are also some new features like DTime, TempPath, Version,
|
50
|
+
+embedded_tests, FileList (almost from rake), and a common Rakefile.
|
51
|
+
|
52
|
+
Coming Soon.
|
53
|
+
Index: lib/commands.rb
|
54
|
+
===================================================================
|
55
|
+
--- lib/commands.rb (revision 361)
|
56
|
+
+++ lib/commands.rb (working copy)
|
57
|
+
@@ -12,6 +12,24 @@
|
58
|
+
require 'commands/runners'
|
59
|
+
|
60
|
+
|
61
|
+
+# Provides an object oriented way to manage, combine and run your commands.
|
62
|
+
+#
|
63
|
+
+# Example:
|
64
|
+
+# require 'rubygems' ; require_gem 'ruby_ex' ; require 'ruby_ex'
|
65
|
+
+# Commands.import!
|
66
|
+
+# ls, wc, out = 'ls'.to_cmd, 'wc'.to_cmd, 'out'.to_path
|
67
|
+
+#
|
68
|
+
+# data = ls.system # other runners exist (exec, fork, sh...)
|
69
|
+
+#
|
70
|
+
+# p data.status
|
71
|
+
+# puts data.output.read
|
72
|
+
+#
|
73
|
+
+# (ls > STDOUT).system
|
74
|
+
+#
|
75
|
+
+# cmd = ls['*.rb'] | wc['-l'] > out
|
76
|
+
+# cmd.system
|
77
|
+
+#
|
78
|
+
+# puts out.read
|
79
|
+
module Commands
|
80
|
+
|
81
|
+
autoloaded_module(__FILE__, false)
|
82
|
+
Index: lib/ruby_ex.rb
|
83
|
+
===================================================================
|
84
|
+
--- lib/ruby_ex.rb (revision 361)
|
85
|
+
+++ lib/ruby_ex.rb (working copy)
|
86
|
+
@@ -35,7 +35,7 @@
|
87
|
+
|
88
|
+
|
89
|
+
unless defined? CoreEx
|
90
|
+
- file = Pathname.glob("#{dir}/../{core_ex/lib/core_ex,vendor/core_ex*/core_ex}").first
|
91
|
+
+ file = Pathname.glob("#{dir}/../{core_ex/lib/core_ex,vendor/core_ex*/lib/core_ex}").first
|
92
|
+
if file.nil?
|
93
|
+
require 'rubygems'
|
94
|
+
require_gem 'core_ex'
|
95
|
+
Index: NEWS
|
96
|
+
===================================================================
|
97
|
+
--- NEWS (revision 361)
|
98
|
+
+++ NEWS (working copy)
|
99
|
+
@@ -1,14 +1,12 @@
|
100
|
+
= New in 0.2, 2005-09-16:
|
101
|
+
|
102
|
+
- * Many many changes and new things for RubyEx.
|
103
|
+
-
|
104
|
+
- * Remove many requires which are now useless, many are not yet
|
105
|
+
+ * Remove many requires which are now useless; many are not yet
|
106
|
+
suppressed.
|
107
|
+
|
108
|
+
- * Renaming to follow the camelize/underscore convention.
|
109
|
+
+ * Rename classes and modules to follow the camelize/underscore convention.
|
110
|
+
|
111
|
+
* Commands:
|
112
|
+
- Provides a object oriented way to manage, combine and run your commands.
|
113
|
+
+ Provides an object oriented way to manage, combine and run your commands.
|
114
|
+
|
115
|
+
Example:
|
116
|
+
require 'rubygems' ; require_gem 'ruby_ex' ; require 'ruby_ex'
|
117
|
+
@@ -21,13 +19,13 @@
|
118
|
+
puts data.output.read
|
119
|
+
|
120
|
+
(ls > STDOUT).system
|
121
|
+
-
|
122
|
+
+
|
123
|
+
cmd = ls['*.rb'] | wc['-l'] > out
|
124
|
+
cmd.system
|
125
|
+
|
126
|
+
puts out.read
|
127
|
+
|
128
|
+
- * RPath: Add RPath, a basic (but powerful) way to search your ruby data.
|
129
|
+
+ * RPath: Add RPath, a simple way to search your ruby data.
|
130
|
+
|
131
|
+
* BlankSlate, Mocks, VerboseObject, and AutoObject:
|
132
|
+
|
133
|
+
@@ -40,7 +38,7 @@
|
134
|
+
- VerboseObject: Proxies that display received method calls and verbosify
|
135
|
+
objects recursivly.
|
136
|
+
- AutoObject: It's like a verbose object without a real object inside.
|
137
|
+
-
|
138
|
+
+
|
139
|
+
* Text:
|
140
|
+
A little text manipulation class.
|
141
|
+
Transformation available are:
|
142
|
+
@@ -57,19 +55,19 @@
|
143
|
+
- Add many unit tests.
|
144
|
+
- Add gem filetype support (with the install method).
|
145
|
+
|
146
|
+
- * MetaFactory: A class that help to produce objects that
|
147
|
+
+ * MetaFactory: A class that help to produce objects which
|
148
|
+
share the same initializion step.
|
149
|
+
|
150
|
+
* Html encode: Support accent encoding for the iso latin1 charset.
|
151
|
+
|
152
|
+
- * URI: Support for Mysql and Pgsql.
|
153
|
+
+ * URI: Support for MySQL and PgSQL.
|
154
|
+
|
155
|
+
* HashEval:
|
156
|
+
Provides a block in which methods name are keys and arguments/blocks
|
157
|
+
are values.
|
158
|
+
|
159
|
+
* SymTbl (Symbol Table):
|
160
|
+
- Add symtbl_gsub methods to provide a global substitution sheme over any
|
161
|
+
+ Add symtbl_gsub methods which provide a global substitution sheme over any
|
162
|
+
objects.
|
163
|
+
|
164
|
+
= New in 0.1, 2005-05-31:
|
File without changes
|
metadata
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.8.
|
2
|
+
rubygems_version: 0.8.10
|
3
3
|
specification_version: 1
|
4
4
|
name: ruby_ex
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.
|
7
|
-
date: 2005-
|
6
|
+
version: 0.3.0
|
7
|
+
date: 2005-10-03
|
8
8
|
summary: RubyEx contains general purpose Ruby extensions.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -26,8 +26,6 @@ required_ruby_version: !ruby/object:Gem::Version::Requirement
|
|
26
26
|
version: 0.0.0
|
27
27
|
version:
|
28
28
|
platform: ruby
|
29
|
-
signing_key:
|
30
|
-
cert_chain:
|
31
29
|
authors:
|
32
30
|
- Nicolas Despr�s
|
33
31
|
- Nicolas Pouillard
|
@@ -45,6 +43,7 @@ files:
|
|
45
43
|
- lib/d_logger.rb
|
46
44
|
- lib/daemon.rb
|
47
45
|
- lib/diff.rb
|
46
|
+
- lib/diff_tools.rb
|
48
47
|
- lib/drb_ex.rb
|
49
48
|
- lib/file_type.rb
|
50
49
|
- lib/generate_id.rb
|
@@ -73,6 +72,7 @@ files:
|
|
73
72
|
- lib/pp_hierarchy.rb
|
74
73
|
- lib/r_path.rb
|
75
74
|
- lib/random_generators.rb
|
75
|
+
- lib/regex_list.rb
|
76
76
|
- lib/regex_path.rb
|
77
77
|
- lib/ruby_ex.rb
|
78
78
|
- lib/safe_eval.rb
|
@@ -103,7 +103,7 @@ files:
|
|
103
103
|
- lib/commands/datas/temp.rb
|
104
104
|
- lib/commands/runners/exec.rb
|
105
105
|
- lib/commands/runners/fork.rb
|
106
|
-
- lib/commands/runners/
|
106
|
+
- lib/commands/runners/mockable.rb
|
107
107
|
- lib/commands/runners/runner.rb
|
108
108
|
- lib/commands/runners/system.rb
|
109
109
|
- lib/drb/drb_observable.rb
|
@@ -136,21 +136,28 @@ files:
|
|
136
136
|
- test/algorithms
|
137
137
|
- test/check-pkg-ruby_ex.yml
|
138
138
|
- test/check-ruby_ex.yml
|
139
|
-
- test/
|
139
|
+
- test/fixtures
|
140
|
+
- test/functional
|
140
141
|
- test/sanity
|
141
142
|
- test/sanity-suite.yml
|
142
143
|
- test/stress-tests
|
143
144
|
- test/test-unit-setup.rb
|
144
145
|
- test/unit-suite.yml
|
145
146
|
- test/algorithms/simulated_annealing_test.rb
|
146
|
-
- test/
|
147
|
-
- test/
|
148
|
-
- test/
|
149
|
-
- test/
|
150
|
-
- test/
|
151
|
-
- test/
|
152
|
-
- test/
|
153
|
-
- test/
|
147
|
+
- test/fixtures/autoload_tree
|
148
|
+
- test/fixtures/foo.bz2
|
149
|
+
- test/fixtures/foo.gz.zip
|
150
|
+
- test/fixtures/foo.rb.gz
|
151
|
+
- test/fixtures/foo.tar
|
152
|
+
- test/fixtures/foo.tar.bz2
|
153
|
+
- test/fixtures/foo.tar.gz
|
154
|
+
- test/fixtures/foo.txt
|
155
|
+
- test/fixtures/my_diff.patch
|
156
|
+
- test/fixtures/tar.gz.log
|
157
|
+
- test/fixtures/autoload_tree/A.rb
|
158
|
+
- test/fixtures/autoload_tree/B.rb
|
159
|
+
- test/fixtures/autoload_tree/foo
|
160
|
+
- test/fixtures/autoload_tree/foo/C.rb
|
154
161
|
- test/sanity/multiple-requires.yml
|
155
162
|
- test/sanity/single-requires.yml
|
156
163
|
- test/stress-tests/threads_and_exceptions.yml
|
@@ -187,5 +194,5 @@ dependencies:
|
|
187
194
|
-
|
188
195
|
- "~>"
|
189
196
|
- !ruby/object:Gem::Version
|
190
|
-
version: 0.
|
197
|
+
version: 0.4.0
|
191
198
|
version:
|