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.
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>