ruby_ex 0.2.0 → 0.3.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/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:
|