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.
Files changed (58) hide show
  1. data/gem_package.rb +1 -1
  2. data/html/classes/BaseEnvelope.html +202 -203
  3. data/html/classes/BaseEnvelope.src/M000001.html +15 -15
  4. data/html/classes/BaseEnvelope.src/M000002.html +15 -15
  5. data/html/classes/BaseEnvelope.src/M000003.html +15 -15
  6. data/html/classes/Envelope.html +322 -328
  7. data/html/classes/Envelope.src/M000015.html +18 -34
  8. data/html/classes/Envelope.src/M000016.html +18 -18
  9. data/html/classes/Envelope.src/M000017.html +34 -18
  10. data/html/classes/Envelope.src/M000018.html +18 -25
  11. data/html/classes/Envelope.src/{M000013.html → M000019.html} +18 -18
  12. data/html/classes/Envelope.src/M000020.html +25 -17
  13. data/html/classes/Envelope.src/{M000014.html → M000022.html} +17 -18
  14. data/html/classes/EnvelopeException.html +118 -118
  15. data/html/classes/ForwardReference.html +193 -194
  16. data/html/classes/ForwardReference.src/{M000021.html → M000023.html} +19 -19
  17. data/html/classes/ForwardReference.src/{M000022.html → M000024.html} +17 -17
  18. data/html/classes/ForwardReferencer.html +175 -175
  19. data/html/classes/ForwardReferencing.html +298 -298
  20. data/html/classes/ForwardReferencing.src/M000025.html +19 -19
  21. data/html/classes/ForwardReferencing.src/M000026.html +19 -27
  22. data/html/classes/ForwardReferencing.src/M000027.html +19 -17
  23. data/html/classes/ForwardReferencing.src/M000028.html +27 -24
  24. data/html/classes/ForwardReferencing.src/M000029.html +17 -17
  25. data/html/classes/ForwardReferencing.src/M000030.html +24 -17
  26. data/html/classes/ForwardReferencing.src/{M000023.html → M000031.html} +17 -19
  27. data/html/classes/ForwardReferencing.src/M000032.html +18 -0
  28. data/html/classes/Histogram.html +314 -324
  29. data/html/classes/Histogram.src/M000006.html +18 -36
  30. data/html/classes/Histogram.src/M000007.html +20 -17
  31. data/html/classes/Histogram.src/M000008.html +36 -19
  32. data/html/classes/Histogram.src/M000009.html +17 -19
  33. data/html/classes/Histogram.src/M000010.html +17 -17
  34. data/html/classes/Histogram.src/M000011.html +17 -17
  35. data/html/classes/Histogram.src/M000012.html +19 -23
  36. data/html/classes/Histogram.src/M000013.html +20 -0
  37. data/html/classes/Histogram.src/M000014.html +24 -0
  38. data/html/classes/HistogramException.html +117 -117
  39. data/html/classes/MethodicHash.html +198 -0
  40. data/html/classes/MethodicHash.src/M000004.html +22 -0
  41. data/html/classes/MethodicHash.src/M000005.html +18 -0
  42. data/html/created.rid +1 -1
  43. data/html/files/lib/envelope_rb.html +108 -108
  44. data/html/files/lib/forward_referencing_rb.html +119 -119
  45. data/html/files/lib/histogram_rb.html +108 -108
  46. data/html/files/lib/methodic_hash_rb.html +139 -0
  47. data/html/fr_class_index.html +34 -33
  48. data/html/fr_file_index.html +29 -28
  49. data/html/fr_method_index.html +57 -55
  50. data/html/index.html +23 -23
  51. data/html/rdoc-style.css +207 -207
  52. data/lib/forward_referencing.rb +1 -1
  53. data/lib/methodic_hash.rb +44 -0
  54. data/test/tc_methodic_hash.rb +29 -0
  55. metadata +36 -29
  56. data/html/classes/ForwardReferencing.src/M000024.html +0 -20
  57. data/html/classes/Histogram.src/M000004.html +0 -19
  58. data/html/classes/Histogram.src/M000005.html +0 -21
@@ -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
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.1
7
- date: 2007-05-16 00:00:00 -04:00
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/ForwardReferencing.src/M000023.html
64
- - html/classes/ForwardReferencing.src/M000024.html
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/Histogram.html
72
- - html/classes/Histogram.src
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/HistogramException.html
83
- - html/created.rid
84
- - html/files
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/fr_class_index.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">&lt;&lt;</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>