eymiha_util 0.1.1 → 0.1.2
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/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>
|