rubycube 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGES +30 -0
  3. data/MANIFEST +12 -0
  4. data/README.md +69 -0
  5. data/Rakefile +50 -0
  6. data/certs/djberg96_pub.pem +21 -0
  7. data/cube.gemspec +23 -0
  8. data/doc/Bar.html +102 -0
  9. data/doc/CHANGES.html +159 -0
  10. data/doc/Foo.html +184 -0
  11. data/doc/Interface.html +278 -0
  12. data/doc/Interface/MethodMissing.html +104 -0
  13. data/doc/Interface/PrivateVisibleMethodMissing.html +102 -0
  14. data/doc/Interface/PublicVisibleMethodMissing.html +102 -0
  15. data/doc/MANIFEST.html +114 -0
  16. data/doc/Module.html +153 -0
  17. data/doc/MyClass.html +234 -0
  18. data/doc/MyInterface.html +106 -0
  19. data/doc/MySubInterface.html +110 -0
  20. data/doc/Object.html +299 -0
  21. data/doc/README.html +222 -0
  22. data/doc/Rakefile.html +148 -0
  23. data/doc/TC_Interface.html +438 -0
  24. data/doc/certs/djberg96_pub_pem.html +110 -0
  25. data/doc/created.rid +13 -0
  26. data/doc/css/fonts.css +167 -0
  27. data/doc/css/rdoc.css +590 -0
  28. data/doc/fonts/Lato-Light.ttf +0 -0
  29. data/doc/fonts/Lato-LightItalic.ttf +0 -0
  30. data/doc/fonts/Lato-Regular.ttf +0 -0
  31. data/doc/fonts/Lato-RegularItalic.ttf +0 -0
  32. data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
  33. data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
  34. data/doc/images/add.png +0 -0
  35. data/doc/images/arrow_up.png +0 -0
  36. data/doc/images/brick.png +0 -0
  37. data/doc/images/brick_link.png +0 -0
  38. data/doc/images/bug.png +0 -0
  39. data/doc/images/bullet_black.png +0 -0
  40. data/doc/images/bullet_toggle_minus.png +0 -0
  41. data/doc/images/bullet_toggle_plus.png +0 -0
  42. data/doc/images/date.png +0 -0
  43. data/doc/images/delete.png +0 -0
  44. data/doc/images/find.png +0 -0
  45. data/doc/images/loadingAnimation.gif +0 -0
  46. data/doc/images/macFFBgHack.png +0 -0
  47. data/doc/images/package.png +0 -0
  48. data/doc/images/page_green.png +0 -0
  49. data/doc/images/page_white_text.png +0 -0
  50. data/doc/images/page_white_width.png +0 -0
  51. data/doc/images/plugin.png +0 -0
  52. data/doc/images/ruby.png +0 -0
  53. data/doc/images/tag_blue.png +0 -0
  54. data/doc/images/tag_green.png +0 -0
  55. data/doc/images/transparent.png +0 -0
  56. data/doc/images/wrench.png +0 -0
  57. data/doc/images/wrench_orange.png +0 -0
  58. data/doc/images/zoom.png +0 -0
  59. data/doc/index.html +121 -0
  60. data/doc/interface_gemspec.html +121 -0
  61. data/doc/js/darkfish.js +161 -0
  62. data/doc/js/jquery.js +4 -0
  63. data/doc/js/navigation.js +142 -0
  64. data/doc/js/navigation.js.gz +0 -0
  65. data/doc/js/search.js +109 -0
  66. data/doc/js/search_index.js +1 -0
  67. data/doc/js/search_index.js.gz +0 -0
  68. data/doc/js/searcher.js +228 -0
  69. data/doc/js/searcher.js.gz +0 -0
  70. data/doc/table_of_contents.html +227 -0
  71. data/examples/demo.rb +96 -0
  72. data/lib/cube.rb +2 -0
  73. data/lib/cube/interfaces.rb +266 -0
  74. data/lib/cube/traits.rb +75 -0
  75. data/test/test_interface.rb +111 -0
  76. metadata +151 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 15f74edc75a9b3c9587e572360070308146541b5
4
+ data.tar.gz: 0736d80440604b0648df131b813fa815c9e7b66c
5
+ SHA512:
6
+ metadata.gz: 0b27eedc46814fca3c9030e8488bb3faf1afc236c57a7ae2f5c99ed1d3dddf6584676a368ddc1892c3677cd08ea6a159a739ba66a016556f782a68e2f091e95e
7
+ data.tar.gz: f186007c1b070d8c170f4df5b351889235dffef1d99eea10f412987538d144f07c77ee6c882d254430740c4feb09045987bf945dbf76d02f1ce5c5fdcceae34c
data/CHANGES ADDED
@@ -0,0 +1,30 @@
1
+ == 1.0.4 - 8-Jan-2016
2
+ * This gem is now signed.
3
+ * The gem related tasks in the Rakefile now assume Rubygems 2.x.
4
+
5
+ == 1.0.3 - 12-Oct-2014
6
+ * Rakefile, gemspec and README updates.
7
+
8
+ == 1.0.2 - 7-Oct-2009
9
+ * Fixed packaging bug in the gemspec, and made some other minor changes.
10
+ * Added the 'gem' rake task.
11
+ * Updated copyright and license in the README.
12
+
13
+ == 1.0.1 - 29-Jul-2009
14
+ * Now compatible with Ruby 1.9.x.
15
+ * Replaced the install.rb with a Rakefile and various tasks.
16
+ * Updated the license to Artistic 2.0.
17
+ * Added test-unit 2.x as a development dependency and refactored the test
18
+ suite to take advantage of some of its features.
19
+ * Renamed the test file to test_interface.rb.
20
+ * Renamed the example programs to all start with 'example_' to avoid any
21
+ possible confusion with actual test suites.
22
+ * Added rake tasks for running the example programs.
23
+ * Updated and refactored the gemspec.
24
+
25
+ == 1.0.0 - 5-Jun-2005
26
+ * Re-released on RubyForge.
27
+ * Some test suite and doc changes.
28
+
29
+ == 0.1.0 - 9-May-2004
30
+ * Initial release
@@ -0,0 +1,12 @@
1
+ * CHANGES
2
+ * MANIFEST
3
+ * README
4
+ * Rakefile
5
+ * interface.gemspec
6
+ * certs/djberg96_pub.pem
7
+ * examples/example_instance.rb
8
+ * examples/example_interface.rb
9
+ * examples/example_sub.rb
10
+ * examples/example_unrequire.rb
11
+ * lib/interface.rb
12
+ * test/test_interface.rb
@@ -0,0 +1,69 @@
1
+ ### Description
2
+ This is a backward incompatible fork of https://github.com/djberg96/interface
3
+ It provides interfaces, traits and runtime interface checks in Ruby
4
+
5
+ ### Installation
6
+ This gem is not yet available on rubygems. Please use from github directly.
7
+
8
+ ### Synopsis
9
+ See [this annotated example](examples/demo.rb)
10
+
11
+ ### General Notes
12
+
13
+ Subinterfaces work as well.
14
+
15
+ Since runtime checks are meant to be invoked for every invocation of a method,
16
+ there is a runtime overhead associated which may not be desirable in
17
+ production. Hence these checks are guarded by an environment variable
18
+ `RUBY_CUBE_TYPECHECK`. Unless this variable is set to 1, the runtime
19
+ checks are not executed
20
+
21
+ ### Runtime performance of check methods
22
+
23
+ On a Macbook Pro 2.4 GHz Intel Core i5 machine, enabling runtime checks costs
24
+ about 1 second for every million calls. YMMV. It is advisable to benchmark for
25
+ your code to determine if the overhead is acceptable in your enviroment.
26
+
27
+ ### Developer's Notes (from the original repository)
28
+ A discussion on IRC with Mauricio Fernandez got us talking about traits.
29
+ During that discussion I remembered a blog entry by David Naseby. I
30
+ revisited his blog entry and took a closer look:
31
+
32
+ http://ruby-naseby.blogspot.com/2008/11/traits-in-ruby.html
33
+
34
+ Keep in mind that I also happened to be thinking about Java at the moment
35
+ because of a recent job switch that involved coding in Java. I was also
36
+ trying to figure out what the purpose of interfaces were.
37
+
38
+ As I read the first page of David Naseby's article I realized that,
39
+ whether intended or not, he had implemented a rudimentary form of interfaces
40
+ for Ruby. When I discovered this, I talked about it some more with Mauricio
41
+ and he and I (mostly him) fleshed out the rest of the module, including some
42
+ syntax improvements. The result is syntax and functionality that is nearly
43
+ identical to Java.
44
+
45
+ I should note that, although I am listed as the author, this was mostly the
46
+ combined work of David Naseby and Mauricio Fernandez. I just happened to be
47
+ the guy that put it all together.
48
+
49
+ ### Acknowledgements (from the original repository)
50
+ This module was largely inspired and somewhat copied from a post by
51
+ David Naseby (see URL above). It was subsequently modified almost entirely
52
+ by Mauricio Fernandez through a series of discussions on IRC.
53
+
54
+ ### Copyright
55
+ (C) 2004-2016 Daniel J. Berger
56
+ (C) 2016 Aditya Godbole
57
+ All rights reserved.
58
+
59
+ ### Warranty
60
+ This package is provided "as is" and without any express or
61
+ implied warranties, including, without limitation, the implied
62
+ warranties of merchantability and fitness for a particular purpose.
63
+
64
+ ### License
65
+ Artistic 2.0
66
+
67
+ ### Author
68
+ Daniel J. Berger
69
+ Aditya Godbole
@@ -0,0 +1,50 @@
1
+ require 'rake'
2
+ require 'rake/clean'
3
+ require 'rake/testtask'
4
+
5
+ CLEAN.include("**/*.gem", "**/*.rbc")
6
+
7
+ namespace :gem do
8
+ desc "Create the interface gem"
9
+ task :create => [:clean] do
10
+ require 'rubygems/package'
11
+ spec = eval(IO.read('interface.gemspec'))
12
+ spec.signing_key = File.join(Dir.home, '.ssh', 'gem-private_key.pem')
13
+ Gem::Package.build(spec, true)
14
+ end
15
+
16
+ desc "Install the interface gem"
17
+ task :install => [:create] do
18
+ file = Dir["*.gem"].first
19
+ sh "gem install -l #{file}"
20
+ end
21
+ end
22
+
23
+ namespace :example do
24
+ desc 'Run the example_instance.rb sample program'
25
+ task :instance do
26
+ ruby '-Ilib examples/example_instance.rb'
27
+ end
28
+
29
+ desc 'Run the example_interface.rb sample program'
30
+ task :interface do
31
+ ruby '-Ilib examples/example_interface.rb'
32
+ end
33
+
34
+ desc 'Run the example_sub.rb sample program'
35
+ task :sub do
36
+ ruby '-Ilib examples/example_sub.rb'
37
+ end
38
+
39
+ desc 'Run the example_unrequire.rb sample program'
40
+ task :unrequire do
41
+ ruby '-Ilib examples/example_unrequire.rb'
42
+ end
43
+ end
44
+
45
+ Rake::TestTask.new do |t|
46
+ t.verbose = true
47
+ t.warning = true
48
+ end
49
+
50
+ task :default => :test
@@ -0,0 +1,21 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIDcDCCAligAwIBAgIBATANBgkqhkiG9w0BAQUFADA/MREwDwYDVQQDDAhkamJl
3
+ cmc5NjEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYDY29t
4
+ MB4XDTE1MDkwMjIwNDkxOFoXDTE2MDkwMTIwNDkxOFowPzERMA8GA1UEAwwIZGpi
5
+ ZXJnOTYxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2Nv
6
+ bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMyTkvXqRp6hLs9eoJOS
7
+ Hmi8kRYbq9Vkf15/hMxJpotYMgJVHHWrmDcC5Dye2PbnXjTkKf266Zw0PtT9h+lI
8
+ S3ts9HO+vaCFSMwFFZmnWJSpQ3CNw2RcHxjWkk9yF7imEM8Kz9ojhiDXzBetdV6M
9
+ gr0lV/alUr7TNVBDngbXEfTWscyXh1qd7xZ4EcOdsDktCe5G45N/o3662tPQvJsi
10
+ FOF0CM/KuBsa/HL1/eoEmF4B3EKIRfTHrQ3hu20Kv3RJ88QM4ec2+0dd97uX693O
11
+ zv6981fyEg+aXLkxrkViM/tz2qR2ZE0jPhHTREPYeMEgptRkTmWSKAuLVWrJEfgl
12
+ DtkCAwEAAaN3MHUwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFEwe
13
+ nn6bfJADmuIDiMSOzedOrL+xMB0GA1UdEQQWMBSBEmRqYmVyZzk2QGdtYWlsLmNv
14
+ bTAdBgNVHRIEFjAUgRJkamJlcmc5NkBnbWFpbC5jb20wDQYJKoZIhvcNAQEFBQAD
15
+ ggEBAHmNOCWoDVD75zHFueY0viwGDVP1BNGFC+yXcb7u2GlK+nEMCORqzURbYPf7
16
+ tL+/hzmePIRz7i30UM//64GI1NLv9jl7nIwjhPpXpf7/lu2I9hOTsvwSumb5UiKC
17
+ /sqBxI3sfj9pr79Wpv4MuikX1XPik7Ncb7NPsJPw06Lvyc3Hkg5X2XpPtLtS+Gr2
18
+ wKJnmzb5rIPS1cmsqv0M9LPWflzfwoZ/SpnmhagP+g05p8bRNKjZSA2iImM/GyYZ
19
+ EJYzxdPOrx2n6NYR3Hk+vHP0U7UBSveI6+qx+ndQYaeyCn+GRX2PKS9h66YF/Q1V
20
+ tGSHgAmcLlkdGgan182qsE/4kKM=
21
+ -----END CERTIFICATE-----
@@ -0,0 +1,23 @@
1
+ require 'rubygems'
2
+
3
+ Gem::Specification.new do |spec|
4
+ spec.name = 'rubycube'
5
+ spec.version = '0.2.0'
6
+ spec.author = 'Aditya Godbole'
7
+ spec.license = 'Artistic 2.0'
8
+ spec.email = 'code.aa@gdbl.me'
9
+ spec.homepage = 'http://github.com/adityagodbole/rubycube'
10
+ spec.summary = 'Interfaces for Ruby'
11
+ spec.test_file = 'test/test_interface.rb'
12
+ spec.files = Dir['**/*'].reject { |f| f.include?('git') }
13
+ spec.cert_chain = Dir['certs/*']
14
+
15
+ spec.extra_rdoc_files = ['README.md', 'CHANGES', 'MANIFEST']
16
+
17
+ spec.add_development_dependency('test-unit')
18
+ spec.add_development_dependency('rake')
19
+
20
+ spec.description = <<-EOF
21
+ CUBE (Composable Units of Behaviour) implements Interfaces, Traits and typechecks for Ruby.
22
+ EOF
23
+ end
@@ -0,0 +1,102 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>class Bar - RDoc Documentation</title>
8
+
9
+ <script type="text/javascript">
10
+ var rdoc_rel_prefix = "./";
11
+ </script>
12
+
13
+ <script src="./js/jquery.js"></script>
14
+ <script src="./js/darkfish.js"></script>
15
+
16
+ <link href="./css/fonts.css" rel="stylesheet">
17
+ <link href="./css/rdoc.css" rel="stylesheet">
18
+
19
+
20
+
21
+ <body id="top" role="document" class="class">
22
+ <nav role="navigation">
23
+ <div id="project-navigation">
24
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
25
+ <h2>
26
+ <a href="./index.html" rel="home">Home</a>
27
+ </h2>
28
+
29
+ <div id="table-of-contents-navigation">
30
+ <a href="./table_of_contents.html#pages">Pages</a>
31
+ <a href="./table_of_contents.html#classes">Classes</a>
32
+ <a href="./table_of_contents.html#methods">Methods</a>
33
+ </div>
34
+ </div>
35
+
36
+ <div id="search-section" role="search" class="project-section initially-hidden">
37
+ <form action="#" method="get" accept-charset="utf-8">
38
+ <div id="search-field-wrapper">
39
+ <input id="search-field" role="combobox" aria-label="Search"
40
+ aria-autocomplete="list" aria-controls="search-results"
41
+ type="text" name="search" placeholder="Search" spellcheck="false"
42
+ title="Type to search, Up and Down to navigate, Enter to load">
43
+ </div>
44
+
45
+ <ul id="search-results" aria-label="Search Results"
46
+ aria-busy="false" aria-expanded="false"
47
+ aria-atomic="false" class="initially-hidden"></ul>
48
+ </form>
49
+ </div>
50
+
51
+ </div>
52
+
53
+
54
+
55
+ <div id="class-metadata">
56
+
57
+ <div id="parent-class-section" class="nav-section">
58
+ <h3>Parent</h3>
59
+
60
+
61
+ <p class="link"><a href="Object.html">Object</a>
62
+
63
+ </div>
64
+
65
+
66
+
67
+
68
+ </div>
69
+ </nav>
70
+
71
+ <main role="main" aria-labelledby="class-Bar">
72
+ <h1 id="class-Bar" class="class">
73
+ class Bar
74
+ </h1>
75
+
76
+ <section class="description">
77
+
78
+ </section>
79
+
80
+
81
+
82
+
83
+ <section id="5Buntitled-5D" class="documentation-section">
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+ </section>
94
+ </main>
95
+
96
+
97
+ <footer id="validator-badges" role="contentinfo">
98
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
99
+ <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
100
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
101
+ </footer>
102
+
@@ -0,0 +1,159 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>CHANGES - RDoc Documentation</title>
8
+
9
+ <script type="text/javascript">
10
+ var rdoc_rel_prefix = "./";
11
+ </script>
12
+
13
+ <script src="./js/jquery.js"></script>
14
+ <script src="./js/darkfish.js"></script>
15
+
16
+ <link href="./css/fonts.css" rel="stylesheet">
17
+ <link href="./css/rdoc.css" rel="stylesheet">
18
+
19
+
20
+
21
+ <body id="top" role="document" class="file">
22
+ <nav role="navigation">
23
+ <div id="project-navigation">
24
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
25
+ <h2>
26
+ <a href="./index.html" rel="home">Home</a>
27
+ </h2>
28
+
29
+ <div id="table-of-contents-navigation">
30
+ <a href="./table_of_contents.html#pages">Pages</a>
31
+ <a href="./table_of_contents.html#classes">Classes</a>
32
+ <a href="./table_of_contents.html#methods">Methods</a>
33
+ </div>
34
+ </div>
35
+
36
+ <div id="search-section" role="search" class="project-section initially-hidden">
37
+ <form action="#" method="get" accept-charset="utf-8">
38
+ <div id="search-field-wrapper">
39
+ <input id="search-field" role="combobox" aria-label="Search"
40
+ aria-autocomplete="list" aria-controls="search-results"
41
+ type="text" name="search" placeholder="Search" spellcheck="false"
42
+ title="Type to search, Up and Down to navigate, Enter to load">
43
+ </div>
44
+
45
+ <ul id="search-results" aria-label="Search Results"
46
+ aria-busy="false" aria-expanded="false"
47
+ aria-atomic="false" class="initially-hidden"></ul>
48
+ </form>
49
+ </div>
50
+
51
+ </div>
52
+
53
+
54
+ <div class="nav-section">
55
+ <h3>Table of Contents</h3>
56
+
57
+ <ul class="link-list" role="directory">
58
+ <li><a href="#label-1.0.4+-+8-Jan-2016">1.0.4 - 8-Jan-2016</a>
59
+ <li><a href="#label-1.0.3+-+12-Oct-2014">1.0.3 - 12-Oct-2014</a>
60
+ <li><a href="#label-1.0.2+-+7-Oct-2009">1.0.2 - 7-Oct-2009</a>
61
+ <li><a href="#label-1.0.1+-+29-Jul-2009">1.0.1 - 29-Jul-2009</a>
62
+ <li><a href="#label-1.0.0+-+5-Jun-2005">1.0.0 - 5-Jun-2005</a>
63
+ <li><a href="#label-0.1.0+-+9-May-2004">0.1.0 - 9-May-2004</a>
64
+ </ul>
65
+ </div>
66
+
67
+
68
+ <div id="project-metadata">
69
+ <div id="fileindex-section" class="nav-section">
70
+ <h3>Pages</h3>
71
+
72
+ <ul class="link-list">
73
+
74
+ <li><a href="./CHANGES.html">CHANGES</a>
75
+
76
+ <li><a href="./MANIFEST.html">MANIFEST</a>
77
+
78
+ <li><a href="./README.html">README</a>
79
+
80
+ <li><a href="./Rakefile.html">Rakefile</a>
81
+
82
+ <li><a href="./certs/djberg96_pub_pem.html">djberg96_pub.pem</a>
83
+
84
+ <li><a href="./interface_gemspec.html">interface.gemspec</a>
85
+
86
+ </ul>
87
+ </div>
88
+
89
+ </div>
90
+ </nav>
91
+
92
+ <main role="main" aria-label="Page CHANGES">
93
+
94
+ <h2 id="label-1.0.4+-+8-Jan-2016">1.0.4 - 8-Jan-2016<span><a href="#label-1.0.4+-+8-Jan-2016">&para;</a> <a href="#top">&uarr;</a></span></h2>
95
+ <ul><li>
96
+ <p>This gem is now signed.</p>
97
+ </li><li>
98
+ <p>The gem related tasks in the <a href="Rakefile.html">Rakefile</a> now
99
+ assume Rubygems 2.x.</p>
100
+ </li></ul>
101
+
102
+ <h2 id="label-1.0.3+-+12-Oct-2014">1.0.3 - 12-Oct-2014<span><a href="#label-1.0.3+-+12-Oct-2014">&para;</a> <a href="#top">&uarr;</a></span></h2>
103
+ <ul><li>
104
+ <p><a href="Rakefile.html">Rakefile</a>, gemspec and <a
105
+ href="README.html">README</a> updates.</p>
106
+ </li></ul>
107
+
108
+ <h2 id="label-1.0.2+-+7-Oct-2009">1.0.2 - 7-Oct-2009<span><a href="#label-1.0.2+-+7-Oct-2009">&para;</a> <a href="#top">&uarr;</a></span></h2>
109
+ <ul><li>
110
+ <p>Fixed packaging bug in the gemspec, and made some other minor changes.</p>
111
+ </li><li>
112
+ <p>Added the &#39;gem&#39; rake task.</p>
113
+ </li><li>
114
+ <p>Updated copyright and license in the <a href="README.html">README</a>.</p>
115
+ </li></ul>
116
+
117
+ <h2 id="label-1.0.1+-+29-Jul-2009">1.0.1 - 29-Jul-2009<span><a href="#label-1.0.1+-+29-Jul-2009">&para;</a> <a href="#top">&uarr;</a></span></h2>
118
+ <ul><li>
119
+ <p>Now compatible with Ruby 1.9.x.</p>
120
+ </li><li>
121
+ <p>Replaced the install.rb with a <a href="Rakefile.html">Rakefile</a> and
122
+ various tasks.</p>
123
+ </li><li>
124
+ <p>Updated the license to Artistic 2.0.</p>
125
+ </li><li>
126
+ <p>Added test-unit 2.x as a development dependency and refactored the test
127
+ suite to take advantage of some of its features.</p>
128
+ </li><li>
129
+ <p>Renamed the test file to test_interface.rb.</p>
130
+ </li><li>
131
+ <p>Renamed the example programs to all start with &#39;example_&#39; to avoid
132
+ any possible confusion with actual test suites.</p>
133
+ </li><li>
134
+ <p>Added rake tasks for running the example programs.</p>
135
+ </li><li>
136
+ <p>Updated and refactored the gemspec.</p>
137
+ </li></ul>
138
+
139
+ <h2 id="label-1.0.0+-+5-Jun-2005">1.0.0 - 5-Jun-2005<span><a href="#label-1.0.0+-+5-Jun-2005">&para;</a> <a href="#top">&uarr;</a></span></h2>
140
+ <ul><li>
141
+ <p>Re-released on RubyForge.</p>
142
+ </li><li>
143
+ <p>Some test suite and doc changes.</p>
144
+ </li></ul>
145
+
146
+ <h2 id="label-0.1.0+-+9-May-2004">0.1.0 - 9-May-2004<span><a href="#label-0.1.0+-+9-May-2004">&para;</a> <a href="#top">&uarr;</a></span></h2>
147
+ <ul><li>
148
+ <p>Initial release</p>
149
+ </li></ul>
150
+ </main>
151
+
152
+
153
+
154
+ <footer id="validator-badges" role="contentinfo">
155
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
156
+ <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
157
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
158
+ </footer>
159
+