eymiha_util 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/gem_package.rb +1 -1
- data/html/classes/BaseEnvelope.html +202 -203
- data/html/classes/BaseEnvelope.src/M000001.html +15 -15
- data/html/classes/BaseEnvelope.src/M000002.html +15 -15
- data/html/classes/BaseEnvelope.src/M000003.html +15 -15
- data/html/classes/Envelope.html +322 -328
- data/html/classes/Envelope.src/M000015.html +18 -34
- data/html/classes/Envelope.src/M000016.html +18 -18
- data/html/classes/Envelope.src/M000017.html +34 -18
- data/html/classes/Envelope.src/M000018.html +18 -25
- data/html/classes/Envelope.src/{M000013.html → M000019.html} +18 -18
- data/html/classes/Envelope.src/M000020.html +25 -17
- data/html/classes/Envelope.src/{M000014.html → M000022.html} +17 -18
- data/html/classes/EnvelopeException.html +118 -118
- data/html/classes/ForwardReference.html +193 -194
- data/html/classes/ForwardReference.src/{M000021.html → M000023.html} +19 -19
- data/html/classes/ForwardReference.src/{M000022.html → M000024.html} +17 -17
- data/html/classes/ForwardReferencer.html +175 -175
- data/html/classes/ForwardReferencing.html +298 -298
- data/html/classes/ForwardReferencing.src/M000025.html +19 -19
- data/html/classes/ForwardReferencing.src/M000026.html +19 -27
- data/html/classes/ForwardReferencing.src/M000027.html +19 -17
- data/html/classes/ForwardReferencing.src/M000028.html +27 -24
- data/html/classes/ForwardReferencing.src/M000029.html +17 -17
- data/html/classes/ForwardReferencing.src/M000030.html +24 -17
- data/html/classes/ForwardReferencing.src/{M000023.html → M000031.html} +17 -19
- data/html/classes/ForwardReferencing.src/M000032.html +18 -0
- data/html/classes/Histogram.html +314 -324
- data/html/classes/Histogram.src/M000006.html +18 -36
- data/html/classes/Histogram.src/M000007.html +20 -17
- data/html/classes/Histogram.src/M000008.html +36 -19
- data/html/classes/Histogram.src/M000009.html +17 -19
- data/html/classes/Histogram.src/M000010.html +17 -17
- data/html/classes/Histogram.src/M000011.html +17 -17
- data/html/classes/Histogram.src/M000012.html +19 -23
- data/html/classes/Histogram.src/M000013.html +20 -0
- data/html/classes/Histogram.src/M000014.html +24 -0
- data/html/classes/HistogramException.html +117 -117
- data/html/classes/MethodicHash.html +198 -0
- data/html/classes/MethodicHash.src/M000004.html +22 -0
- data/html/classes/MethodicHash.src/M000005.html +18 -0
- data/html/created.rid +1 -1
- data/html/files/lib/envelope_rb.html +108 -108
- data/html/files/lib/forward_referencing_rb.html +119 -119
- data/html/files/lib/histogram_rb.html +108 -108
- data/html/files/lib/methodic_hash_rb.html +139 -0
- data/html/fr_class_index.html +34 -33
- data/html/fr_file_index.html +29 -28
- data/html/fr_method_index.html +57 -55
- data/html/index.html +23 -23
- data/html/rdoc-style.css +207 -207
- data/lib/forward_referencing.rb +1 -1
- data/lib/methodic_hash.rb +44 -0
- data/test/tc_methodic_hash.rb +29 -0
- metadata +36 -29
- data/html/classes/ForwardReferencing.src/M000024.html +0 -20
- data/html/classes/Histogram.src/M000004.html +0 -19
- data/html/classes/Histogram.src/M000005.html +0 -21
data/lib/forward_referencing.rb
CHANGED
@@ -71,7 +71,7 @@ module ForwardReferencing
|
|
71
71
|
def forward_reference_dependencies
|
72
72
|
dependencies = {}
|
73
73
|
@forward_references.each { |forward_reference|
|
74
|
-
dependency = forward_reference.dependency
|
74
|
+
dependency = forward_reference.dependency || "nil"
|
75
75
|
forward_references = dependencies[dependency]
|
76
76
|
dependencies[dependency] = [] if forward_references == nil
|
77
77
|
dependencies[dependency] << forward_reference
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# The MethodicHash is some method_missing magic that tries to lookup values
|
2
|
+
# when keys are passed in as method calls. For instance, if
|
3
|
+
#
|
4
|
+
# mh = MethodicHash.new
|
5
|
+
# mh['four'] = 'iv'
|
6
|
+
# mh[:seven] = 'vii'
|
7
|
+
#
|
8
|
+
# then
|
9
|
+
#
|
10
|
+
# mh['four'] ---> 'iv'
|
11
|
+
# mh[:four] ---> 'iv'
|
12
|
+
# mh.four ---> 'iv'
|
13
|
+
#
|
14
|
+
# and
|
15
|
+
#
|
16
|
+
# mh['seven'] ---> 'vii'
|
17
|
+
# mh[:seven] ---> 'vii'
|
18
|
+
# mh.seven ---> 'vii'
|
19
|
+
#
|
20
|
+
# This allows access to simply declared facts to be embedded in Ruby code and
|
21
|
+
# leverages the possibility of hashing procs.
|
22
|
+
#
|
23
|
+
# Note that if the hash uses anything but strings or symbols as keys, the
|
24
|
+
# magic stands a good chance of failing, raising an error or acting in a
|
25
|
+
# bizarre manner.
|
26
|
+
class MethodicHash < Hash
|
27
|
+
|
28
|
+
# Try to look up using a key directly, or if that fails as a string, or as
|
29
|
+
# a symbol as last resort. If a symbol conversion doesn't exists, rescue
|
30
|
+
# with a nil.
|
31
|
+
def [](key)
|
32
|
+
begin
|
33
|
+
super(key) || super(key.to_s) || super(key.to_sym)
|
34
|
+
rescue
|
35
|
+
nil
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
# A missing method is assummed to be the value of a key.
|
40
|
+
def method_missing(method,*args)
|
41
|
+
self[method]
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
|
3
|
+
require 'methodic_hash'
|
4
|
+
|
5
|
+
class TC_MethodicHash < Test::Unit::TestCase
|
6
|
+
|
7
|
+
def test_accesses
|
8
|
+
|
9
|
+
mh = MethodicHash.new
|
10
|
+
|
11
|
+
assert((mh['one'] = 1) == 1)
|
12
|
+
assert(mh['one'] == 1)
|
13
|
+
assert(mh[:one] == 1)
|
14
|
+
assert(mh.one == 1)
|
15
|
+
|
16
|
+
assert((mh[:two] = 2) == 2)
|
17
|
+
assert(mh['two'] == 2)
|
18
|
+
assert(mh[:two] == 2)
|
19
|
+
assert(mh.two == 2)
|
20
|
+
|
21
|
+
assert(mh['three'] == nil)
|
22
|
+
assert(mh[:three] == nil)
|
23
|
+
assert(mh.three == nil)
|
24
|
+
|
25
|
+
assert(mh[1.25] == nil)
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
metadata
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.
|
2
|
+
rubygems_version: 0.9.0
|
3
3
|
specification_version: 1
|
4
4
|
name: eymiha_util
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.1.
|
7
|
-
date: 2007-05-
|
6
|
+
version: 0.1.2
|
7
|
+
date: 2007-05-22 00:00:00 -04:00
|
8
8
|
summary: Eymiha general utility classes and methods
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -34,44 +34,54 @@ files:
|
|
34
34
|
- lib/envelope.rb
|
35
35
|
- lib/forward_referencing.rb
|
36
36
|
- lib/histogram.rb
|
37
|
+
- lib/methodic_hash.rb
|
37
38
|
- test/tc_envelope.rb
|
38
39
|
- test/tc_forward_referencing.rb
|
39
40
|
- test/tc_histogram.rb
|
41
|
+
- test/tc_methodic_hash.rb
|
40
42
|
- html/classes
|
43
|
+
- html/created.rid
|
44
|
+
- html/files
|
45
|
+
- html/fr_class_index.html
|
46
|
+
- html/fr_file_index.html
|
47
|
+
- html/fr_method_index.html
|
48
|
+
- html/index.html
|
49
|
+
- html/rdoc-style.css
|
41
50
|
- html/classes/BaseEnvelope.html
|
42
51
|
- html/classes/BaseEnvelope.src
|
43
|
-
- html/classes/BaseEnvelope.src/M000001.html
|
44
|
-
- html/classes/BaseEnvelope.src/M000002.html
|
45
|
-
- html/classes/BaseEnvelope.src/M000003.html
|
46
52
|
- html/classes/Envelope.html
|
47
53
|
- html/classes/Envelope.src
|
48
|
-
- html/classes/Envelope.src/M000013.html
|
49
|
-
- html/classes/Envelope.src/M000014.html
|
50
|
-
- html/classes/Envelope.src/M000015.html
|
51
|
-
- html/classes/Envelope.src/M000016.html
|
52
|
-
- html/classes/Envelope.src/M000017.html
|
53
|
-
- html/classes/Envelope.src/M000018.html
|
54
|
-
- html/classes/Envelope.src/M000020.html
|
55
54
|
- html/classes/EnvelopeException.html
|
56
55
|
- html/classes/ForwardReference.html
|
57
56
|
- html/classes/ForwardReference.src
|
58
|
-
- html/classes/ForwardReference.src/M000021.html
|
59
|
-
- html/classes/ForwardReference.src/M000022.html
|
60
57
|
- html/classes/ForwardReferencer.html
|
61
58
|
- html/classes/ForwardReferencing.html
|
62
59
|
- html/classes/ForwardReferencing.src
|
63
|
-
- html/classes/
|
64
|
-
- html/classes/
|
60
|
+
- html/classes/Histogram.html
|
61
|
+
- html/classes/Histogram.src
|
62
|
+
- html/classes/HistogramException.html
|
63
|
+
- html/classes/MethodicHash.html
|
64
|
+
- html/classes/MethodicHash.src
|
65
|
+
- html/classes/BaseEnvelope.src/M000001.html
|
66
|
+
- html/classes/BaseEnvelope.src/M000002.html
|
67
|
+
- html/classes/BaseEnvelope.src/M000003.html
|
68
|
+
- html/classes/Envelope.src/M000015.html
|
69
|
+
- html/classes/Envelope.src/M000016.html
|
70
|
+
- html/classes/Envelope.src/M000017.html
|
71
|
+
- html/classes/Envelope.src/M000018.html
|
72
|
+
- html/classes/Envelope.src/M000019.html
|
73
|
+
- html/classes/Envelope.src/M000020.html
|
74
|
+
- html/classes/Envelope.src/M000022.html
|
75
|
+
- html/classes/ForwardReference.src/M000023.html
|
76
|
+
- html/classes/ForwardReference.src/M000024.html
|
65
77
|
- html/classes/ForwardReferencing.src/M000025.html
|
66
78
|
- html/classes/ForwardReferencing.src/M000026.html
|
67
79
|
- html/classes/ForwardReferencing.src/M000027.html
|
68
80
|
- html/classes/ForwardReferencing.src/M000028.html
|
69
81
|
- html/classes/ForwardReferencing.src/M000029.html
|
70
82
|
- html/classes/ForwardReferencing.src/M000030.html
|
71
|
-
- html/classes/
|
72
|
-
- html/classes/
|
73
|
-
- html/classes/Histogram.src/M000004.html
|
74
|
-
- html/classes/Histogram.src/M000005.html
|
83
|
+
- html/classes/ForwardReferencing.src/M000031.html
|
84
|
+
- html/classes/ForwardReferencing.src/M000032.html
|
75
85
|
- html/classes/Histogram.src/M000006.html
|
76
86
|
- html/classes/Histogram.src/M000007.html
|
77
87
|
- html/classes/Histogram.src/M000008.html
|
@@ -79,18 +89,15 @@ files:
|
|
79
89
|
- html/classes/Histogram.src/M000010.html
|
80
90
|
- html/classes/Histogram.src/M000011.html
|
81
91
|
- html/classes/Histogram.src/M000012.html
|
82
|
-
- html/classes/
|
83
|
-
- html/
|
84
|
-
- html/
|
92
|
+
- html/classes/Histogram.src/M000013.html
|
93
|
+
- html/classes/Histogram.src/M000014.html
|
94
|
+
- html/classes/MethodicHash.src/M000004.html
|
95
|
+
- html/classes/MethodicHash.src/M000005.html
|
85
96
|
- html/files/lib
|
86
97
|
- html/files/lib/envelope_rb.html
|
87
98
|
- html/files/lib/forward_referencing_rb.html
|
88
99
|
- html/files/lib/histogram_rb.html
|
89
|
-
- html/
|
90
|
-
- html/fr_file_index.html
|
91
|
-
- html/fr_method_index.html
|
92
|
-
- html/index.html
|
93
|
-
- html/rdoc-style.css
|
100
|
+
- html/files/lib/methodic_hash_rb.html
|
94
101
|
test_files: []
|
95
102
|
|
96
103
|
rdoc_options:
|
@@ -1,20 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
-
<!DOCTYPE html
|
3
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
-
|
6
|
-
<html>
|
7
|
-
<head>
|
8
|
-
<title>create_forward_reference (ForwardReferencing)</title>
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
-
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
-
</head>
|
12
|
-
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/forward_referencing.rb, line 27</span>
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create_forward_reference</span> <span class="ruby-identifier">dependency</span>=<span class="ruby-keyword kw">nil</span>
|
15
|
-
<span class="ruby-identifier">forward_reference</span> = <span class="ruby-constant">ForwardReference</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">dependency</span>
|
16
|
-
<span class="ruby-ivar">@forward_references</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">forward_reference</span>
|
17
|
-
<span class="ruby-identifier">forward_reference</span>
|
18
|
-
<span class="ruby-keyword kw">end</span></pre>
|
19
|
-
</body>
|
20
|
-
</html>
|
@@ -1,19 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
-
<!DOCTYPE html
|
3
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
-
|
6
|
-
<html>
|
7
|
-
<head>
|
8
|
-
<title>new (Histogram)</title>
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
-
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
-
</head>
|
12
|
-
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/histogram.rb, line 17</span>
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">key</span>=<span class="ruby-keyword kw">nil</span>,<span class="ruby-identifier">number</span>=<span class="ruby-value">1</span>)
|
15
|
-
<span class="ruby-keyword kw">super</span>()
|
16
|
-
<span class="ruby-identifier">add</span>(<span class="ruby-identifier">key</span>,<span class="ruby-identifier">number</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">key</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>
|
17
|
-
<span class="ruby-keyword kw">end</span></pre>
|
18
|
-
</body>
|
19
|
-
</html>
|
@@ -1,21 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
-
<!DOCTYPE html
|
3
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
-
|
6
|
-
<html>
|
7
|
-
<head>
|
8
|
-
<title>count (Histogram)</title>
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
-
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
-
</head>
|
12
|
-
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/histogram.rb, line 24</span>
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">count</span>(<span class="ruby-identifier">check_keys</span> = <span class="ruby-identifier">keys</span>)
|
15
|
-
<span class="ruby-identifier">check_keys</span> = [<span class="ruby-identifier">check_keys</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">check_keys</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Array</span>
|
16
|
-
<span class="ruby-identifier">count</span> = <span class="ruby-value">0</span>
|
17
|
-
<span class="ruby-identifier">check_keys</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">key</span><span class="ruby-operator">|</span> <span class="ruby-identifier">count</span> <span class="ruby-operator">+=</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">key</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">has_key?</span> <span class="ruby-identifier">key</span> }
|
18
|
-
<span class="ruby-identifier">count</span>
|
19
|
-
<span class="ruby-keyword kw">end</span></pre>
|
20
|
-
</body>
|
21
|
-
</html>
|