webget_ruby_ramp 1.7.8 → 1.8.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/lib/webget_ruby_ramp/array.rb +6 -15
- data/lib/webget_ruby_ramp/enumerable.rb +2 -2
- data/lib/webget_ruby_ramp/fixnum.rb +37 -0
- data/lib/webget_ruby_ramp/hash.rb +1 -1
- data/lib/webget_ruby_ramp/integer.rb +1 -22
- data/lib/webget_ruby_ramp/kernel.rb +18 -3
- data/lib/webget_ruby_ramp/process.rb +134 -115
- data/lib/webget_ruby_ramp/string.rb +2 -25
- data/lib/webget_ruby_ramp.rb +10 -4
- data/test/webget_ruby_ramp/date_test.rb +14 -0
- data/test/webget_ruby_ramp/enumerable_test.rb +3 -3
- data/test/webget_ruby_ramp/fixnum_test.rb +24 -0
- data/test/webget_ruby_ramp/hash_test.rb +16 -0
- data/test/webget_ruby_ramp/integer_test.rb +1 -16
- data/test/webget_ruby_ramp/kernel_test.rb +18 -6
- data/test/webget_ruby_ramp/process_test.rb +42 -0
- data/test/webget_ruby_ramp/string_test.rb +10 -0
- data/test/webget_ruby_ramp/xml_test.rb +33 -9
- data.tar.gz.sig +2 -1
- metadata +4 -2
- metadata.gz.sig +1 -1
@@ -292,20 +292,16 @@ class Array
|
|
292
292
|
# This implementation is optimized for speed, not for memory use.
|
293
293
|
# See http://codeidol.com/other/rubyckbk/Arrays/Shuffling-an-Array/
|
294
294
|
#
|
295
|
-
# This method definition is skipped if Array#shuffle! is already defined.
|
296
|
-
#
|
297
295
|
# ==Example
|
298
296
|
# list=
|
299
297
|
# list=['a','b','c']
|
300
298
|
# list.shuffle!
|
301
299
|
# list => ['c','a','b']
|
302
300
|
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
self[j], self[i] = self[i], self[j]
|
308
|
-
end
|
301
|
+
def shuffle!
|
302
|
+
each_index do |i|
|
303
|
+
j = rand(length-i) + i
|
304
|
+
self[j], self[i] = self[i], self[j]
|
309
305
|
end
|
310
306
|
end
|
311
307
|
|
@@ -314,19 +310,14 @@ class Array
|
|
314
310
|
# This implementation is optimized for speed, not for memory use.
|
315
311
|
# See http://codeidol.com/other/rubyckbk/Arrays/Shuffling-an-Array/
|
316
312
|
#
|
317
|
-
# This method definition is skipped if Array#shuffle is already defined.
|
318
|
-
# For example, Ruby 1.8.7 Array#shuffle is already defined.
|
319
|
-
#
|
320
313
|
# ==Example
|
321
314
|
# list=
|
322
315
|
# list=['a','b','c']
|
323
316
|
# list.shuffle!
|
324
317
|
# list => ['c','a','b']
|
325
318
|
|
326
|
-
|
327
|
-
|
328
|
-
dup.shuffle!
|
329
|
-
end
|
319
|
+
def shuffle
|
320
|
+
dup.shuffle!
|
330
321
|
end
|
331
322
|
|
332
323
|
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
# Fixnum extensions
|
4
|
+
|
5
|
+
class Fixnum
|
6
|
+
|
7
|
+
|
8
|
+
# Return true if the number is even
|
9
|
+
#
|
10
|
+
# ==Example
|
11
|
+
# 2.even? => true
|
12
|
+
# 3.even? => false
|
13
|
+
#
|
14
|
+
# From http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/4516
|
15
|
+
|
16
|
+
def even?
|
17
|
+
return self & 1 == 0
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
# Return true if the number is odd
|
22
|
+
#
|
23
|
+
# ==Example
|
24
|
+
# 2.odd? => false
|
25
|
+
# 3.odd? => true
|
26
|
+
#
|
27
|
+
# n.b. we test to see if this method already exists,
|
28
|
+
# because this method is defined in Ruby 1.8.7 onward.
|
29
|
+
#
|
30
|
+
# From http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/4516
|
31
|
+
|
32
|
+
def odd?
|
33
|
+
return self & 1 != 0
|
34
|
+
end
|
35
|
+
|
36
|
+
|
37
|
+
end
|
@@ -228,7 +228,7 @@ class Hash
|
|
228
228
|
case direction_name.to_s
|
229
229
|
when 'key','keys','up','left','out' then return true
|
230
230
|
when 'val','vals','down','right','in' then return false
|
231
|
-
else raise ArgumentError
|
231
|
+
else raise ArgumentError.new('Pivot direction must be either: key/keys/up/left/out or val/vals/down/right/in')
|
232
232
|
end
|
233
233
|
end
|
234
234
|
|
@@ -18,29 +18,8 @@ class Integer
|
|
18
18
|
# returned to the calling code.
|
19
19
|
|
20
20
|
def maps
|
21
|
-
(0...self).map{|item| yield item}
|
21
|
+
return (0...self).map{|item| yield item}
|
22
22
|
end
|
23
23
|
|
24
24
|
|
25
|
-
# Return true if the number is even
|
26
|
-
#
|
27
|
-
# ==Example
|
28
|
-
# 2.even? => true
|
29
|
-
# 3.even? => false
|
30
|
-
|
31
|
-
def even?
|
32
|
-
self % 2 == 0
|
33
|
-
end
|
34
|
-
|
35
|
-
|
36
|
-
# Return true if the number is odd
|
37
|
-
#
|
38
|
-
# ==Example
|
39
|
-
# 2.odd? => false
|
40
|
-
# 3.odd? => true
|
41
|
-
|
42
|
-
def odd?
|
43
|
-
self %2 == 1
|
44
|
-
end
|
45
|
-
|
46
25
|
end
|
@@ -11,13 +11,28 @@ module Kernel
|
|
11
11
|
# - http://www.ruby-forum.com/topic/75258
|
12
12
|
# - In 1.9 (Ruby CVS HEAD) there is #__method__ and #__callee__
|
13
13
|
# - http://eigenclass.org/hiki.rb?Changes+in+Ruby+1.9#l90
|
14
|
+
#-
|
15
|
+
# Make this fast because its often doing logging & reporting.
|
16
|
+
# Inline this and use $1 because it's empirically faster than /1
|
14
17
|
|
15
|
-
def
|
16
|
-
|
17
|
-
|
18
|
+
def my_method_name
|
19
|
+
caller[0] =~ /`([^']*)'/ and $1
|
20
|
+
end
|
21
|
+
|
22
|
+
|
23
|
+
# See:
|
24
|
+
# - http://www.ruby-forum.com/topic/75258
|
25
|
+
# - In 1.9 (Ruby CVS HEAD) there is #__method__ and #__callee__
|
26
|
+
# - http://eigenclass.org/hiki.rb?Changes+in+Ruby+1.9#l90
|
27
|
+
#-
|
28
|
+
# Make this fast because its often doing logging & reporting.
|
29
|
+
# Inline this and use $1 because it's empirically faster than /1
|
30
|
+
|
31
|
+
def caller_method_name(caller_index=0)
|
18
32
|
caller[caller_index] =~ /`([^']*)'/ and $1
|
19
33
|
end
|
20
34
|
|
35
|
+
|
21
36
|
# Pretty print to a string.
|
22
37
|
#
|
23
38
|
# Created by Graeme Mathieson.
|
@@ -20,136 +20,155 @@
|
|
20
20
|
module Process
|
21
21
|
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
23
|
+
# Get the 'ps' command as one long text string.
|
24
|
+
#
|
25
|
+
# This is typically useful for logging to a text file.
|
26
|
+
|
27
|
+
def self.ps(pid=Process.pid)
|
28
|
+
`#{self.ps_command} #{pid.to_i}`
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
# Get the 'ps' command as a hash of keys and values.
|
33
|
+
# -
|
34
|
+
# OPTIMIZE: add dates, times
|
35
|
+
|
36
|
+
def self.pss(pid=Process.pid)
|
37
|
+
ps=self.ps(pid)
|
38
|
+
h=Hash[*self.ps_keys.zip(ps.split).flatten]
|
39
|
+
h['c'] =h['c'].to_i
|
40
|
+
h['cp'] =h['cp'].to_f
|
41
|
+
h['egid'] =h['egid'].to_i
|
42
|
+
h['egroup'] =h['egroup'].to_i
|
43
|
+
h['uid'] =h['uid'].to_i
|
44
|
+
h['fgid'] =h['fgid'].to_i
|
45
|
+
h['lwp'] =h['lwp'].to_i
|
46
|
+
h['ni'] =h['ni'].to_i
|
47
|
+
h['nlwp'] =h['nlwp'].to_i
|
48
|
+
h['pcpu'] =h['pcpu'].to_f
|
49
|
+
h['pgid'] =h['pgid'].to_i
|
50
|
+
h['pid'] =h['pid'].to_i
|
51
|
+
h['pmem'] =h['pmem'].to_f
|
52
|
+
h['ppid'] =h['ppid'].to_i
|
53
|
+
h['rgid'] =h['rgid'].to_i
|
54
|
+
h['rss'] =h['rss'].to_i
|
55
|
+
h['ruid'] =h['ruid'].to_i
|
56
|
+
h['sid'] =h['sid'].to_i
|
57
|
+
h['sgid'] =h['sgid'].to_i
|
58
|
+
h['suid'] =h['suid'].to_i
|
59
|
+
self.ps_aliases.each_pair{|key,val| h[key]=h[val]}
|
60
|
+
return h
|
61
|
+
end
|
62
|
+
|
63
|
+
# Get the list of process alias keywords as typically defined by the shell.
|
64
|
+
#
|
65
|
+
# For example, a shell may consider "%cpu" and "pcpu" to be identical.
|
66
|
+
|
67
|
+
PS_ALIASES_DEFAULT={
|
68
|
+
'%cpu'=>'pcpu',
|
69
|
+
'%mem'=>'pmem',
|
70
|
+
'sig_block'=>'blocked',
|
71
|
+
'sigmask'=>'blocked',
|
72
|
+
'sig_catch'=>'caught',
|
73
|
+
'sigcatch'=>'caught',
|
74
|
+
'cls'=>'class',
|
75
|
+
'cls'=>'policy',
|
76
|
+
'cputime'=>'time',
|
77
|
+
'gid'=>'egid',
|
78
|
+
'group'=>'egroup',
|
79
|
+
'uid'=>'euid',
|
80
|
+
'uname'=>'euser',
|
81
|
+
'user'=>'euser',
|
82
|
+
'flag'=>'f',
|
83
|
+
'flags'=>'f',
|
84
|
+
'fsuid'=>'fuid',
|
85
|
+
'sig_ignore'=>'ignored',
|
86
|
+
'sigignore'=>'ignored',
|
87
|
+
'spid'=>'lwp',
|
88
|
+
'tid'=>'lwp',
|
89
|
+
'nice'=>'ni',
|
90
|
+
'thcount'=>'nlwp',
|
91
|
+
'sig'=>'pending',
|
92
|
+
'sig_pend'=>'pending',
|
93
|
+
'pgrp'=>'pgid',
|
94
|
+
'rssize'=>'rss',
|
95
|
+
'rsz'=>'rss',
|
96
|
+
'state'=>'s',
|
97
|
+
'sess'=>'sid',
|
98
|
+
'session'=>'sid',
|
99
|
+
'svgid'=>'sgid',
|
100
|
+
'tt'=>'tname',
|
101
|
+
'tty'=>'tname',
|
102
|
+
'vsz'=>'vsize'
|
103
|
+
}
|
104
|
+
|
62
105
|
|
63
106
|
# Get the list of process alias keywords as typically defined by the shell.
|
64
107
|
#
|
65
108
|
# For example, a shell may consider "%cpu" and "pcpu" to be identical.
|
66
109
|
|
67
110
|
def self.ps_aliases
|
68
|
-
@@ps_aliases||=
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
pgrp pgid
|
95
|
-
rssize rss
|
96
|
-
rsz rss
|
97
|
-
state s
|
98
|
-
sess sid
|
99
|
-
session sid
|
100
|
-
svgid sgid
|
101
|
-
tt tname
|
102
|
-
tty tname
|
103
|
-
vsz vsize
|
104
|
-
']
|
105
|
-
end
|
106
|
-
|
107
|
-
|
108
|
-
# Set the list of process alias keywords.
|
109
|
-
|
110
|
-
def self.ps_aliases=(aliases)
|
111
|
-
@@ps_aliases=aliases
|
112
|
-
end
|
113
|
-
|
114
|
-
|
115
|
-
# Get the list of process keywords.
|
116
|
-
#
|
117
|
-
# ==Example
|
118
|
-
# Process.ps_keys => ["blocked","group","pending","size"]
|
119
|
-
|
120
|
-
def self.ps_keys
|
121
|
-
@@ps_keys||=%w'blocked bsdtime c caught class cp egid egroup eip esp etime euid euser f fgid fgroup fuid fuser group ignored label lwp ni nlwp nwchan pending pcpu pgid pid pmem ppid pri psr rgid rgroup rss rtprio ruid ruser s sched sgi_p sgid sgroup sid sig size stackp start_time stat suid suser sz time tname tpgid vsize wchan'
|
122
|
-
end
|
111
|
+
@@ps_aliases||=PS_ALIASES_DEFAULT
|
112
|
+
end
|
113
|
+
|
114
|
+
|
115
|
+
# Set the list of process alias keywords.
|
116
|
+
#
|
117
|
+
# For example, a shell may consider "%cpu" and "pcpu" to be identical.
|
118
|
+
|
119
|
+
def self.ps_aliases=(aliases)
|
120
|
+
@@ps_aliases=aliases
|
121
|
+
end
|
122
|
+
|
123
|
+
|
124
|
+
# The list of process keywords.
|
125
|
+
|
126
|
+
PS_KEYS_DEFAULT=%w'blocked bsdtime c caught class cp egid egroup eip esp etime euid euser f fgid fgroup fuid fuser group ignored label lwp ni nlwp nwchan pending pcpu pgid pid pmem ppid pri psr rgid rgroup rss rtprio ruid ruser s sched sgi_p sgid sgroup sid sig size stackp start_time stat suid suser sz time tname tpgid vsize wchan'
|
127
|
+
|
128
|
+
|
129
|
+
# Get the list of process keywords.
|
130
|
+
#
|
131
|
+
# ==Example
|
132
|
+
# Process.ps_keys => ["blocked","group","pending","size"]
|
133
|
+
|
134
|
+
def self.ps_keys
|
135
|
+
@@ps_keys||=PS_KEYS_DEFAULT
|
136
|
+
end
|
123
137
|
|
124
138
|
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
139
|
+
# Set the list of process keywords.
|
140
|
+
#
|
141
|
+
# ==Example
|
142
|
+
# Process.ps_keys = ["blocked","group","pending","size"]
|
143
|
+
|
144
|
+
def self.ps_keys=(keys)
|
145
|
+
@@ps_keys=keys
|
146
|
+
end
|
147
|
+
|
129
148
|
|
130
|
-
|
131
|
-
@@ps_keys=keys
|
132
|
-
end
|
149
|
+
# The process command, i.e. what the sytem will call for the "ps" command.
|
133
150
|
|
151
|
+
PS_COMMAND_DEFAULT='ps h ww -o "'+self.ps_keys.join(',')+'"'
|
134
152
|
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
153
|
+
|
154
|
+
# Get the process command, i.e. what the sytem will call for the "ps" command.
|
155
|
+
#
|
156
|
+
# ==Example
|
157
|
+
# Process.ps_command => "ps h ww -o blocked,group,pending,size"
|
139
158
|
|
140
|
-
|
141
|
-
|
142
|
-
|
159
|
+
def self.ps_command
|
160
|
+
@@ps_command||=PS_COMMAND_DEFAULT
|
161
|
+
end
|
143
162
|
|
144
163
|
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
164
|
+
# Set the process command, i.e. what the sytem will call for the "ps" command.
|
165
|
+
#
|
166
|
+
# ==Example
|
167
|
+
# Process.ps_command = "ps h ww -o blocked,group,pending,size"
|
149
168
|
|
150
|
-
|
151
|
-
|
152
|
-
|
169
|
+
def self.ps_command=(command)
|
170
|
+
@@ps_command=command
|
171
|
+
end
|
153
172
|
|
154
173
|
|
155
174
|
end
|
@@ -4,31 +4,8 @@
|
|
4
4
|
|
5
5
|
class String
|
6
6
|
|
7
|
-
ACCENTS = Hash[*'
|
8
|
-
|
9
|
-
æ ae
|
10
|
-
ď d đ d
|
11
|
-
ç c ć c č c ĉ c ċ c
|
12
|
-
è e é e ê e ë e ē e ę e ě e ĕ e ė e
|
13
|
-
ƒ f
|
14
|
-
ĝ g ğ g ġ g ģ g
|
15
|
-
ĥ h ħ h
|
16
|
-
ì i ì i í i î i ï i ī i ĩ i ĭ i
|
17
|
-
į j ı j ij j ĵ j
|
18
|
-
ķ k ĸ k
|
19
|
-
ł l ľ l ĺ l ļ l ŀ l
|
20
|
-
ñ n ń n ň n ņ n ʼn n ŋ n
|
21
|
-
ò o ó o ô o õ o ö o ø o ō o ő o ŏ o ŏ o
|
22
|
-
œ oek
|
23
|
-
ą q
|
24
|
-
ŕ r ř r ŗ r
|
25
|
-
ś s š s ş s ŝ s ș s
|
26
|
-
ť t ţ t ŧ t ț t
|
27
|
-
ù u ú u û u ü u ū u ů u ű u ŭ u ũ u ų u
|
28
|
-
ŵ w
|
29
|
-
ý y ÿ y ŷ y
|
30
|
-
ž z ż z ź z
|
31
|
-
'.split]
|
7
|
+
ACCENTS = Hash[*'à a á a â a ã a ä a å a ā a ă a æ ae ď d đ d ç c ć c č c ĉ c ċ c è e é e ê e ë e ē e ę e ě e ĕ e ė e ƒ f ĝ g ğ g ġ g ģ g ĥ h ħ h ì i ì i í i î i ï i ī i ĩ i ĭ i į j ı j ij j ĵ j ķ k ĸ k ł l ľ l ĺ l ļ l ŀ l
|
8
|
+
ñ n ń n ň n ņ n ʼn n ŋ n ò o ó o ô o õ o ö o ø o ō o ő o ŏ o ŏ o œ oek ą q ŕ r ř r ŗ r ś s š s ş s ŝ s ș s ť t ţ t ŧ t ț t ù u ú u û u ü u ū u ů u ű u ŭ u ũ u ų u ŵ w ý y ÿ y ŷ y ž z ż z ź z'.split]
|
32
9
|
|
33
10
|
|
34
11
|
# Return the string with words capitalized
|
data/lib/webget_ruby_ramp.rb
CHANGED
@@ -73,6 +73,12 @@ Testing:
|
|
73
73
|
* File.joindir: wrapper for File.join(File.dirname(...),string,...)
|
74
74
|
|
75
75
|
|
76
|
+
== Fixnum
|
77
|
+
|
78
|
+
* even?: is the number even?
|
79
|
+
* odd?: is the number odd?
|
80
|
+
|
81
|
+
|
76
82
|
== Hash
|
77
83
|
|
78
84
|
* size?: return true if hash has any keys
|
@@ -87,7 +93,6 @@ Testing:
|
|
87
93
|
|
88
94
|
== Integer
|
89
95
|
|
90
|
-
* even?: is the number even?
|
91
96
|
* maps: syntactic sugar to yield n times to a block, returning an array of any results (e.g. 3.maps{rand} => [0.4351325,0.7778625,0.158613534])
|
92
97
|
* odd?: is the number odd?
|
93
98
|
|
@@ -100,8 +105,8 @@ Testing:
|
|
100
105
|
|
101
106
|
== Kernel
|
102
107
|
|
103
|
-
*
|
104
|
-
*
|
108
|
+
* my_method_name: returns the name of the current method
|
109
|
+
* caller_method_name: returns the name of the caller method, or the Nth parent up the call stack if the optional caller_index parameter is passed.
|
105
110
|
|
106
111
|
|
107
112
|
== Math
|
@@ -194,6 +199,7 @@ Extensions that help debug Ruby programs.
|
|
194
199
|
|
195
200
|
== Changes
|
196
201
|
|
202
|
+
- 1.8.0 100% rcov coverage
|
197
203
|
- 1.7.8 Add rcov testing
|
198
204
|
- 1.7.4 Add Class#publicize_methods, Integer#even?, Integer#odd?
|
199
205
|
- 1.7.3 Refactor Rails classes to their own gem, add README, LICENSE
|
@@ -236,7 +242,7 @@ Extensions that help debug Ruby programs.
|
|
236
242
|
|
237
243
|
=end
|
238
244
|
|
239
|
-
['array','class','csv','date','enumerable','file','hash','integer','io','kernel','math','nil','numeric','object','process','string','symbol','time','xml','yaml'].map{|x|
|
245
|
+
['array','class','csv','date','enumerable','file','fixnum','hash','integer','io','kernel','math','nil','numeric','object','process','string','symbol','time','xml','yaml'].map{|x|
|
240
246
|
require File.dirname(__FILE__) + "/webget_ruby_ramp/#{x}.rb"
|
241
247
|
}
|
242
248
|
|
@@ -40,6 +40,20 @@ class DateTest < Test::Unit::TestCase
|
|
40
40
|
end
|
41
41
|
|
42
42
|
|
43
|
+
def test_between
|
44
|
+
d1= Date.parse('2008-01-01')
|
45
|
+
d2= Date.parse('2009-01-01')
|
46
|
+
d3= Date.between(d1,d2)
|
47
|
+
assert(d3>=d1)
|
48
|
+
assert(d3<=d2)
|
49
|
+
end
|
50
|
+
|
51
|
+
|
52
|
+
def self.between(min,max)
|
53
|
+
min+rand(max-min)
|
54
|
+
end
|
55
|
+
|
56
|
+
|
43
57
|
# for test_age_years and test_age_days
|
44
58
|
BIRTHDATE = Date.new(1980,10,31)
|
45
59
|
VALENTINES = Date.new(2008,02,14)
|
@@ -180,17 +180,17 @@ class EnumerableTest < Test::Unit::TestCase
|
|
180
180
|
|
181
181
|
|
182
182
|
def test_join_0
|
183
|
-
a=
|
183
|
+
a='a'..'c'
|
184
184
|
assert_equal("abc",a.join,"join()")
|
185
185
|
end
|
186
186
|
|
187
187
|
def test_join_1
|
188
|
-
a=
|
188
|
+
a='a'..'c'
|
189
189
|
assert_equal("a+b+c",a.join('+'),"join('+')")
|
190
190
|
end
|
191
191
|
|
192
192
|
def test_join_2
|
193
|
-
a=
|
193
|
+
a='a'..'c'
|
194
194
|
assert_equal("+a-+b-+c-",a.join("+","-"),"join('+','-')")
|
195
195
|
end
|
196
196
|
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'webget_ruby_ramp'
|
3
|
+
|
4
|
+
|
5
|
+
class FixnumTest < Test::Unit::TestCase
|
6
|
+
|
7
|
+
def test_even_with_true
|
8
|
+
assert(2.even?)
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_even_with_false
|
12
|
+
assert(!3.even?)
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_odd_with_true
|
16
|
+
assert(3.odd?)
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_odd_with_false
|
20
|
+
assert(!2.odd?)
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
@@ -64,6 +64,22 @@ class HashTest < Test::Unit::TestCase
|
|
64
64
|
end
|
65
65
|
|
66
66
|
|
67
|
+
def test_each_pair_bang_with_same_key_different_value
|
68
|
+
actual = { "a" => "b", "c" => "d" }
|
69
|
+
expect = { "a" => "B", "c" => "D" }
|
70
|
+
actual.each_pair! {|key,value| [key, value.upcase] }
|
71
|
+
assert_equal(expect,actual)
|
72
|
+
end
|
73
|
+
|
74
|
+
|
75
|
+
def test_each_pair_bang_with_same_key_same_value
|
76
|
+
actual = { "a" => "b", "c" => "d" }
|
77
|
+
expect = { "a" => "b", "c" => "d" }
|
78
|
+
actual.each_pair! {|key,value| [key, value] }
|
79
|
+
assert_equal(expect,actual)
|
80
|
+
end
|
81
|
+
|
82
|
+
|
67
83
|
def test_each_value_bang
|
68
84
|
actual = { "a" => "b", "c" => "d" }
|
69
85
|
expect = { "a" => "B", "c" => "D" }
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'test/unit'
|
2
2
|
require 'webget_ruby_ramp'
|
3
3
|
|
4
|
+
|
4
5
|
class IntegerTest < Test::Unit::TestCase
|
5
6
|
|
6
7
|
def test_maps
|
@@ -15,21 +16,5 @@ class IntegerTest < Test::Unit::TestCase
|
|
15
16
|
assert_equal(expect,actual)
|
16
17
|
end
|
17
18
|
|
18
|
-
def test_even_with_true
|
19
|
-
assert(2.even?)
|
20
|
-
end
|
21
|
-
|
22
|
-
def test_even_with_false
|
23
|
-
assert(!3.even?)
|
24
|
-
end
|
25
|
-
|
26
|
-
def test_odd_with_true
|
27
|
-
assert(3.odd?)
|
28
|
-
end
|
29
|
-
|
30
|
-
def test_odd_with_false
|
31
|
-
assert(!2.odd?)
|
32
|
-
end
|
33
|
-
|
34
19
|
end
|
35
20
|
|
@@ -3,13 +3,25 @@ require 'webget_ruby_ramp'
|
|
3
3
|
|
4
4
|
class KernelTest < Test::Unit::TestCase
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
def test_my_method_name
|
7
|
+
assert_equal('test_my_method_name', my_method_name)
|
8
|
+
end
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
def test_caller_method_name
|
11
|
+
assert_equal('test_caller_method_name', caller_method_name)
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_caller_method_name_with_index_0
|
15
|
+
assert_equal('test_caller_method_name_with_index_0', caller_method_name(0))
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_caller_method_name_with_index_1
|
19
|
+
assert_equal('__send__', caller_method_name(1))
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_pp_s
|
23
|
+
assert_equal(":foo\n",pp_s(:foo))
|
24
|
+
end
|
13
25
|
|
14
26
|
end
|
15
27
|
|
@@ -19,6 +19,48 @@ class ProcessTest < Test::Unit::TestCase
|
|
19
19
|
assert(p.size>0,"pss size > 0")
|
20
20
|
assert(p['pcpu']!=nil,"ps_hash pcpu != nil")
|
21
21
|
end
|
22
|
+
|
23
|
+
def test_ps_aliases
|
24
|
+
assert(Process.ps_aliases.is_a?Hash)
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_ps_aliases_default
|
28
|
+
assert(Process::PS_ALIASES_DEFAULT.is_a?Hash)
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_ps_aliases_eq
|
32
|
+
Process.ps_aliases={'a'=>'b', 'c'=>'d'}
|
33
|
+
assert_equal({'a'=>'b', 'c'=>'d'}, Process.ps_aliases)
|
34
|
+
Process.ps_aliases=Process::PS_ALIASES_DEFAULT
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_ps_command
|
38
|
+
assert(Process.ps_command.is_a?String)
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_ps_command_default
|
42
|
+
assert(Process::PS_COMMAND_DEFAULT.is_a?String)
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_ps_command_eq
|
46
|
+
Process.ps_command='abc'
|
47
|
+
assert_equal('abc', Process.ps_command)
|
48
|
+
Process.ps_command=Process::PS_COMMAND_DEFAULT
|
49
|
+
end
|
50
|
+
|
51
|
+
def test_ps_keys
|
52
|
+
assert(Process.ps_keys.is_a?Array)
|
53
|
+
end
|
54
|
+
|
55
|
+
def test_ps_keys_default
|
56
|
+
assert(Process::PS_KEYS_DEFAULT.is_a?Array)
|
57
|
+
end
|
58
|
+
|
59
|
+
def test_ps_keys_eq
|
60
|
+
Process.ps_keys=['a','b','c']
|
61
|
+
assert_equal(['a','b','c'], Process.ps_keys)
|
62
|
+
Process.ps_keys=Process::PS_KEYS_DEFAULT
|
63
|
+
end
|
22
64
|
|
23
65
|
end
|
24
66
|
|
@@ -5,6 +5,11 @@ require 'webget_ruby_ramp'
|
|
5
5
|
class StringTest < Test::Unit::TestCase
|
6
6
|
|
7
7
|
|
8
|
+
def test_accents
|
9
|
+
assert(String::ACCENTS.is_a?Hash)
|
10
|
+
end
|
11
|
+
|
12
|
+
|
8
13
|
def test_capitalize_words
|
9
14
|
assert_equal("Foo Goo Hoo","foo goo hoo".capitalize_words)
|
10
15
|
end
|
@@ -25,6 +30,11 @@ class StringTest < Test::Unit::TestCase
|
|
25
30
|
end
|
26
31
|
|
27
32
|
|
33
|
+
def test_xid
|
34
|
+
assert_equal('foo_goo_hoo',"Foo GOO**_**Hoo".to_xid)
|
35
|
+
end
|
36
|
+
|
37
|
+
|
28
38
|
def test_lowcase
|
29
39
|
assert_equal('foo_goo_hoo',"Foo GOO**_**Hoo".lowcase)
|
30
40
|
end
|
@@ -7,18 +7,42 @@ class XMLTest < Test::Unit::TestCase
|
|
7
7
|
@@formatter=REXML::Formatters::Default.new
|
8
8
|
|
9
9
|
def test_load_dir_files
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
10
|
+
dirpath=File.join(MYDIR,'xml_test_*.xml')
|
11
|
+
expect=[File.join(MYDIR,'xml_test_1.xml'),File.join(MYDIR,'xml_test_2.xml')]
|
12
|
+
actual=Dir[dirpath].sort
|
13
|
+
assert_equal(expect,actual,"Dir[#{dirpath}] expects test data files")
|
14
14
|
end
|
15
15
|
|
16
16
|
def test_load_dir
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
17
|
+
dirpath=File.join(MYDIR,'xml_test_*.xml')
|
18
|
+
expect="abcdef"
|
19
|
+
actual=''
|
20
|
+
XML.load_dir(dirpath){|doc| doc.elements.each('foo/bar'){|e| actual+=e.attributes['x']}}
|
21
|
+
assert_equal(expect,actual,'XML.load_dir')
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_load_elements
|
25
|
+
dirpath=File.join(MYDIR,'xml_test_*.xml')
|
26
|
+
expect="<bar x='a'/><bar x='b'/><bar x='c'/><bar x='d'/><bar x='e'/><bar x='f'/>"
|
27
|
+
actual=''
|
28
|
+
XML.load_elements(dirpath,'foo/bar'){|elem| actual+=elem.to_s }
|
29
|
+
assert_equal(expect,actual,'XML.load_elements')
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_load_attributes
|
33
|
+
dirpath=File.join(MYDIR,'xml_test_*.xml')
|
34
|
+
expect="xaxbxcxdxexf"
|
35
|
+
actual=''
|
36
|
+
XML.load_attributes(dirpath,'foo/bar'){|attributes| actual+=attributes.sort.to_s }
|
37
|
+
assert_equal(expect,actual,'XML.load_attributes')
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_load_attributes_hash
|
41
|
+
dirpath=File.join(MYDIR,'xml_test_*.xml')
|
42
|
+
expect="xaxbxcxdxexf"
|
43
|
+
actual=''
|
44
|
+
XML.load_attributes_hash(dirpath,'foo/bar'){|attributes_hash| actual+=attributes_hash.to_s }
|
45
|
+
assert_equal(expect,actual,'XML.load_attributes_hash')
|
22
46
|
end
|
23
47
|
|
24
48
|
def test_attributes_to_hash
|
data.tar.gz.sig
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
�
|
1
|
+
0��壳>m%ka eB��_���E���o���LjPV���n�pZae/��������������}��9G��H����AI�4(M�*ʆ�/"I��$��Y�9
|
2
|
+
Y(��Oo!Y�&�͒Vijv�
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: webget_ruby_ramp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- WebGet
|
@@ -32,7 +32,7 @@ cert_chain:
|
|
32
32
|
DXnLFY0cVuBnNDMOOFl8vk1qIcZjcTovhzgcixpG6Uk5qmUsKHRLQf4oQJx7TfLK
|
33
33
|
-----END CERTIFICATE-----
|
34
34
|
|
35
|
-
date: 2010-03-
|
35
|
+
date: 2010-03-05 00:00:00 -08:00
|
36
36
|
default_executable:
|
37
37
|
dependencies: []
|
38
38
|
|
@@ -54,6 +54,7 @@ files:
|
|
54
54
|
- lib/webget_ruby_ramp/date.rb
|
55
55
|
- lib/webget_ruby_ramp/enumerable.rb
|
56
56
|
- lib/webget_ruby_ramp/file.rb
|
57
|
+
- lib/webget_ruby_ramp/fixnum.rb
|
57
58
|
- lib/webget_ruby_ramp/hash.rb
|
58
59
|
- lib/webget_ruby_ramp/integer.rb
|
59
60
|
- lib/webget_ruby_ramp/io.rb
|
@@ -110,6 +111,7 @@ test_files:
|
|
110
111
|
- test/webget_ruby_ramp/date_test.rb
|
111
112
|
- test/webget_ruby_ramp/enumerable_test.rb
|
112
113
|
- test/webget_ruby_ramp/file_test.rb
|
114
|
+
- test/webget_ruby_ramp/fixnum_test.rb
|
113
115
|
- test/webget_ruby_ramp/hash_test.rb
|
114
116
|
- test/webget_ruby_ramp/integer_test.rb
|
115
117
|
- test/webget_ruby_ramp/io_test.rb
|
metadata.gz.sig
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
���D�h6�y2P�`eF��=Y}��DPh#ZZ���fY�_�]^��.����y��h���E�G�i�EPÆI<���.&���X���2�`Z��U����2��hy;Z�^f}���m�p�f��
|