activegroonga 0.0.7 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. data/README.ja.rdoc +4 -1
  2. data/README.rdoc +4 -1
  3. data/Rakefile +18 -4
  4. data/lib/active_groonga.rb +25 -52
  5. data/lib/active_groonga/base.rb +164 -1480
  6. data/lib/active_groonga/callbacks.rb +26 -7
  7. data/lib/active_groonga/database.rb +55 -0
  8. data/lib/active_groonga/{dirty.rb → error.rb} +20 -10
  9. data/lib/active_groonga/locale/en.yml +5 -0
  10. data/lib/active_groonga/migration.rb +44 -113
  11. data/lib/active_groonga/migrator.rb +172 -0
  12. data/lib/active_groonga/persistence.rb +172 -0
  13. data/lib/active_groonga/railtie.rb +66 -0
  14. data/lib/active_groonga/railties/configurable.rb +47 -0
  15. data/lib/active_groonga/railties/groonga.rake +167 -0
  16. data/lib/active_groonga/result_set.rb +89 -0
  17. data/lib/active_groonga/schema.rb +54 -188
  18. data/lib/active_groonga/validations.rb +54 -5
  19. data/lib/active_groonga/vector.rb +64 -0
  20. data/lib/active_groonga/version.rb +3 -3
  21. data/lib/{active_groonga/aggregations.rb → rails/generators/active_groonga.rb} +17 -10
  22. data/lib/rails/generators/active_groonga/migration/column.rb +101 -0
  23. data/lib/rails/generators/active_groonga/migration/migration_generator.rb +53 -0
  24. data/lib/rails/generators/active_groonga/migration/templates/migration.rb +29 -0
  25. data/lib/rails/generators/active_groonga/model/model_generator.rb +60 -0
  26. data/lib/rails/generators/active_groonga/model/templates/migration.rb +16 -0
  27. data/lib/rails/generators/active_groonga/model/templates/model.rb +2 -0
  28. data/lib/rails/generators/active_groonga/model/templates/module.rb +5 -0
  29. data/test-unit-notify/COPYING +502 -0
  30. data/test-unit-notify/Rakefile +47 -0
  31. data/test-unit-notify/lib/test/unit/notify.rb +127 -0
  32. data/test-unit/COPYING +56 -0
  33. data/test-unit/GPL +340 -0
  34. data/test-unit/PSFL +271 -0
  35. data/test-unit/Rakefile +18 -5
  36. data/test-unit/html/bar.svg +153 -0
  37. data/test-unit/html/developer.svg +469 -0
  38. data/test-unit/html/favicon.ico +0 -0
  39. data/test-unit/html/favicon.svg +82 -0
  40. data/test-unit/html/heading-mark.svg +393 -0
  41. data/test-unit/html/index.html +235 -13
  42. data/test-unit/html/index.html.ja +258 -15
  43. data/test-unit/html/install.svg +636 -0
  44. data/test-unit/html/logo.svg +483 -0
  45. data/test-unit/html/test-unit.css +339 -0
  46. data/test-unit/html/tutorial.svg +559 -0
  47. data/test-unit/lib/test/unit.rb +29 -43
  48. data/test-unit/lib/test/unit/assertionfailederror.rb +11 -0
  49. data/test-unit/lib/test/unit/assertions.rb +202 -20
  50. data/test-unit/lib/test/unit/autorunner.rb +51 -20
  51. data/test-unit/lib/test/unit/collector.rb +1 -8
  52. data/test-unit/lib/test/unit/collector/dir.rb +1 -1
  53. data/test-unit/lib/test/unit/collector/load.rb +16 -9
  54. data/test-unit/lib/test/unit/color-scheme.rb +19 -3
  55. data/test-unit/lib/test/unit/diff.rb +240 -38
  56. data/test-unit/lib/test/unit/error.rb +4 -0
  57. data/test-unit/lib/test/unit/failure.rb +31 -5
  58. data/test-unit/lib/test/unit/notification.rb +8 -4
  59. data/test-unit/lib/test/unit/omission.rb +51 -3
  60. data/test-unit/lib/test/unit/pending.rb +4 -0
  61. data/test-unit/lib/test/unit/priority.rb +2 -3
  62. data/test-unit/lib/test/unit/testcase.rb +65 -7
  63. data/test-unit/lib/test/unit/testresult.rb +34 -2
  64. data/test-unit/lib/test/unit/ui/console/testrunner.rb +197 -45
  65. data/test-unit/lib/test/unit/ui/emacs/testrunner.rb +14 -0
  66. data/test-unit/lib/test/unit/ui/tap/testrunner.rb +2 -12
  67. data/test-unit/lib/test/unit/ui/testrunner.rb +33 -0
  68. data/test-unit/lib/test/unit/util/backtracefilter.rb +1 -0
  69. data/test-unit/lib/test/unit/util/output.rb +31 -0
  70. data/test-unit/lib/test/unit/version.rb +1 -1
  71. data/test-unit/sample/{tc_adder.rb → test_adder.rb} +3 -1
  72. data/test-unit/sample/{tc_subtracter.rb → test_subtracter.rb} +3 -1
  73. data/test-unit/sample/test_user.rb +1 -0
  74. data/test-unit/test/collector/test-descendant.rb +2 -4
  75. data/test-unit/test/collector/test-load.rb +121 -8
  76. data/test-unit/test/collector/test_objectspace.rb +7 -5
  77. data/test-unit/test/run-test.rb +2 -0
  78. data/test-unit/test/test-color-scheme.rb +11 -2
  79. data/test-unit/test/test-diff.rb +48 -7
  80. data/test-unit/test/test-omission.rb +1 -1
  81. data/test-unit/test/test-testcase.rb +57 -20
  82. data/test-unit/test/test_assertions.rb +128 -13
  83. data/test-unit/test/ui/test_tap.rb +33 -0
  84. data/test-unit/test/util/test-output.rb +11 -0
  85. data/test/active-groonga-test-utils.rb +50 -36
  86. data/test/fixtures/site.rb +2 -0
  87. data/test/run-test.rb +36 -9
  88. data/test/test-associations.rb +5 -2
  89. data/test/test-base.rb +39 -31
  90. data/test/test-callbacks.rb +13 -3
  91. data/test/test-persistence.rb +53 -0
  92. data/{lib/active_groonga/observer.rb → test/test-result-set.rb} +14 -12
  93. data/test/test-schema.rb +85 -22
  94. data/{lib/active_groonga/rails_support.rb → test/test-validations.rb} +15 -13
  95. metadata +85 -52
  96. data/lib/active_groonga/associations.rb +0 -93
  97. data/lib/active_groonga/associations/belongs_to_association.rb +0 -25
  98. data/lib/active_groonga/attribute_methods.rb +0 -36
  99. data/lib/active_groonga/column.rb +0 -137
  100. data/lib/active_groonga/dynamic_record_expression_builder.rb +0 -40
  101. data/lib/active_groonga/reflection.rb +0 -30
  102. data/lib/active_groonga/schema_dumper.rb +0 -163
  103. data/lib/active_groonga/tasks.rb +0 -16
  104. data/lib/active_groonga/tasks/groonga.rake +0 -164
  105. data/lib/active_groonga/timestamp.rb +0 -30
  106. data/rails/README +0 -28
  107. data/rails/init.rb +0 -70
  108. data/rails_generators/index_table_groonga/USAGE +0 -23
  109. data/rails_generators/index_table_groonga/index_table_groonga_generator.rb +0 -44
  110. data/rails_generators/index_table_groonga/templates/migration.rb +0 -12
  111. data/rails_generators/migration_groonga/USAGE +0 -29
  112. data/rails_generators/migration_groonga/migration_groonga_generator.rb +0 -19
  113. data/rails_generators/migration_groonga/templates/migration.rb +0 -11
  114. data/rails_generators/model_groonga/USAGE +0 -28
  115. data/rails_generators/model_groonga/model_groonga_generator.rb +0 -45
  116. data/rails_generators/model_groonga/templates/fixtures.yml +0 -17
  117. data/rails_generators/model_groonga/templates/migration.rb +0 -16
  118. data/rails_generators/model_groonga/templates/model.rb +0 -2
  119. data/rails_generators/model_groonga/templates/unit_test.rb +0 -8
  120. data/test-unit/html/classic.html +0 -15
  121. data/test-unit/sample/ts_examples.rb +0 -7
  122. data/test/test-schema-dumper.rb +0 -48
data/test-unit/PSFL ADDED
@@ -0,0 +1,271 @@
1
+ This is the official license for the Python 2.5 release:
2
+
3
+ A. HISTORY OF THE SOFTWARE
4
+ ==========================
5
+
6
+ Python was created in the early 1990s by Guido van Rossum at Stichting
7
+ Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands
8
+ as a successor of a language called ABC. Guido remains Python's
9
+ principal author, although it includes many contributions from others.
10
+
11
+ In 1995, Guido continued his work on Python at the Corporation for
12
+ National Research Initiatives (CNRI, see http://www.cnri.reston.va.us)
13
+ in Reston, Virginia where he released several versions of the
14
+ software.
15
+
16
+ In May 2000, Guido and the Python core development team moved to
17
+ BeOpen.com to form the BeOpen PythonLabs team. In October of the same
18
+ year, the PythonLabs team moved to Digital Creations (now Zope
19
+ Corporation, see http://www.zope.com). In 2001, the Python Software
20
+ Foundation (PSF, see http://www.python.org/psf/) was formed, a
21
+ non-profit organization created specifically to own Python-related
22
+ Intellectual Property. Zope Corporation is a sponsoring member of
23
+ the PSF.
24
+
25
+ All Python releases are Open Source (see http://www.opensource.org for
26
+ the Open Source Definition). Historically, most, but not all, Python
27
+ releases have also been GPL-compatible; the table below summarizes
28
+ the various releases.
29
+
30
+ Release Derived Year Owner GPL-
31
+ from compatible? (1)
32
+
33
+ 0.9.0 thru 1.2 1991-1995 CWI yes
34
+ 1.3 thru 1.5.2 1.2 1995-1999 CNRI yes
35
+ 1.6 1.5.2 2000 CNRI no
36
+ 2.0 1.6 2000 BeOpen.com no
37
+ 1.6.1 1.6 2001 CNRI yes (2)
38
+ 2.1 2.0+1.6.1 2001 PSF no
39
+ 2.0.1 2.0+1.6.1 2001 PSF yes
40
+ 2.1.1 2.1+2.0.1 2001 PSF yes
41
+ 2.2 2.1.1 2001 PSF yes
42
+ 2.1.2 2.1.1 2002 PSF yes
43
+ 2.1.3 2.1.2 2002 PSF yes
44
+ 2.2.1 2.2 2002 PSF yes
45
+ 2.2.2 2.2.1 2002 PSF yes
46
+ 2.2.3 2.2.2 2003 PSF yes
47
+ 2.3 2.2.2 2002-2003 PSF yes
48
+ 2.3.1 2.3 2002-2003 PSF yes
49
+ 2.3.2 2.3.1 2002-2003 PSF yes
50
+ 2.3.3 2.3.2 2002-2003 PSF yes
51
+ 2.3.4 2.3.3 2004 PSF yes
52
+ 2.3.5 2.3.4 2005 PSF yes
53
+ 2.4 2.3 2004 PSF yes
54
+ 2.4.1 2.4 2005 PSF yes
55
+ 2.4.2 2.4.1 2005 PSF yes
56
+ 2.4.3 2.4.2 2006 PSF yes
57
+ 2.5 2.4 2006 PSF yes
58
+
59
+ Footnotes:
60
+
61
+ (1) GPL-compatible doesn't mean that we're distributing Python under
62
+ the GPL. All Python licenses, unlike the GPL, let you distribute
63
+ a modified version without making your changes open source. The
64
+ GPL-compatible licenses make it possible to combine Python with
65
+ other software that is released under the GPL; the others don't.
66
+
67
+ (2) According to Richard Stallman, 1.6.1 is not GPL-compatible,
68
+ because its license has a choice of law clause. According to
69
+ CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1
70
+ is "not incompatible" with the GPL.
71
+
72
+ Thanks to the many outside volunteers who have worked under Guido's
73
+ direction to make these releases possible.
74
+
75
+
76
+ B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON
77
+ ===============================================================
78
+
79
+ PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
80
+ --------------------------------------------
81
+
82
+ 1. This LICENSE AGREEMENT is between the Python Software Foundation
83
+ ("PSF"), and the Individual or Organization ("Licensee") accessing and
84
+ otherwise using this software ("Python") in source or binary form and
85
+ its associated documentation.
86
+
87
+ 2. Subject to the terms and conditions of this License Agreement, PSF
88
+ hereby grants Licensee a nonexclusive, royalty-free, world-wide
89
+ license to reproduce, analyze, test, perform and/or display publicly,
90
+ prepare derivative works, distribute, and otherwise use Python
91
+ alone or in any derivative version, provided, however, that PSF's
92
+ License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
93
+ 2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation; All Rights
94
+ Reserved" are retained in Python alone or in any derivative version
95
+ prepared by Licensee.
96
+
97
+ 3. In the event Licensee prepares a derivative work that is based on
98
+ or incorporates Python or any part thereof, and wants to make
99
+ the derivative work available to others as provided herein, then
100
+ Licensee hereby agrees to include in any such work a brief summary of
101
+ the changes made to Python.
102
+
103
+ 4. PSF is making Python available to Licensee on an "AS IS"
104
+ basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
105
+ IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
106
+ DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
107
+ FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
108
+ INFRINGE ANY THIRD PARTY RIGHTS.
109
+
110
+ 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
111
+ FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
112
+ A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
113
+ OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
114
+
115
+ 6. This License Agreement will automatically terminate upon a material
116
+ breach of its terms and conditions.
117
+
118
+ 7. Nothing in this License Agreement shall be deemed to create any
119
+ relationship of agency, partnership, or joint venture between PSF and
120
+ Licensee. This License Agreement does not grant permission to use PSF
121
+ trademarks or trade name in a trademark sense to endorse or promote
122
+ products or services of Licensee, or any third party.
123
+
124
+ 8. By copying, installing or otherwise using Python, Licensee
125
+ agrees to be bound by the terms and conditions of this License
126
+ Agreement.
127
+
128
+
129
+ BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
130
+ -------------------------------------------
131
+
132
+ BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
133
+
134
+ 1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an
135
+ office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
136
+ Individual or Organization ("Licensee") accessing and otherwise using
137
+ this software in source or binary form and its associated
138
+ documentation ("the Software").
139
+
140
+ 2. Subject to the terms and conditions of this BeOpen Python License
141
+ Agreement, BeOpen hereby grants Licensee a non-exclusive,
142
+ royalty-free, world-wide license to reproduce, analyze, test, perform
143
+ and/or display publicly, prepare derivative works, distribute, and
144
+ otherwise use the Software alone or in any derivative version,
145
+ provided, however, that the BeOpen Python License is retained in the
146
+ Software, alone or in any derivative version prepared by Licensee.
147
+
148
+ 3. BeOpen is making the Software available to Licensee on an "AS IS"
149
+ basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
150
+ IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
151
+ DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
152
+ FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
153
+ INFRINGE ANY THIRD PARTY RIGHTS.
154
+
155
+ 4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
156
+ SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
157
+ AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
158
+ DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
159
+
160
+ 5. This License Agreement will automatically terminate upon a material
161
+ breach of its terms and conditions.
162
+
163
+ 6. This License Agreement shall be governed by and interpreted in all
164
+ respects by the law of the State of California, excluding conflict of
165
+ law provisions. Nothing in this License Agreement shall be deemed to
166
+ create any relationship of agency, partnership, or joint venture
167
+ between BeOpen and Licensee. This License Agreement does not grant
168
+ permission to use BeOpen trademarks or trade names in a trademark
169
+ sense to endorse or promote products or services of Licensee, or any
170
+ third party. As an exception, the "BeOpen Python" logos available at
171
+ http://www.pythonlabs.com/logos.html may be used according to the
172
+ permissions granted on that web page.
173
+
174
+ 7. By copying, installing or otherwise using the software, Licensee
175
+ agrees to be bound by the terms and conditions of this License
176
+ Agreement.
177
+
178
+
179
+ CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
180
+ ---------------------------------------
181
+
182
+ 1. This LICENSE AGREEMENT is between the Corporation for National
183
+ Research Initiatives, having an office at 1895 Preston White Drive,
184
+ Reston, VA 20191 ("CNRI"), and the Individual or Organization
185
+ ("Licensee") accessing and otherwise using Python 1.6.1 software in
186
+ source or binary form and its associated documentation.
187
+
188
+ 2. Subject to the terms and conditions of this License Agreement, CNRI
189
+ hereby grants Licensee a nonexclusive, royalty-free, world-wide
190
+ license to reproduce, analyze, test, perform and/or display publicly,
191
+ prepare derivative works, distribute, and otherwise use Python 1.6.1
192
+ alone or in any derivative version, provided, however, that CNRI's
193
+ License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
194
+ 1995-2001 Corporation for National Research Initiatives; All Rights
195
+ Reserved" are retained in Python 1.6.1 alone or in any derivative
196
+ version prepared by Licensee. Alternately, in lieu of CNRI's License
197
+ Agreement, Licensee may substitute the following text (omitting the
198
+ quotes): "Python 1.6.1 is made available subject to the terms and
199
+ conditions in CNRI's License Agreement. This Agreement together with
200
+ Python 1.6.1 may be located on the Internet using the following
201
+ unique, persistent identifier (known as a handle): 1895.22/1013. This
202
+ Agreement may also be obtained from a proxy server on the Internet
203
+ using the following URL: http://hdl.handle.net/1895.22/1013".
204
+
205
+ 3. In the event Licensee prepares a derivative work that is based on
206
+ or incorporates Python 1.6.1 or any part thereof, and wants to make
207
+ the derivative work available to others as provided herein, then
208
+ Licensee hereby agrees to include in any such work a brief summary of
209
+ the changes made to Python 1.6.1.
210
+
211
+ 4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
212
+ basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
213
+ IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
214
+ DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
215
+ FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
216
+ INFRINGE ANY THIRD PARTY RIGHTS.
217
+
218
+ 5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
219
+ 1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
220
+ A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
221
+ OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
222
+
223
+ 6. This License Agreement will automatically terminate upon a material
224
+ breach of its terms and conditions.
225
+
226
+ 7. This License Agreement shall be governed by the federal
227
+ intellectual property law of the United States, including without
228
+ limitation the federal copyright law, and, to the extent such
229
+ U.S. federal law does not apply, by the law of the Commonwealth of
230
+ Virginia, excluding Virginia's conflict of law provisions.
231
+ Notwithstanding the foregoing, with regard to derivative works based
232
+ on Python 1.6.1 that incorporate non-separable material that was
233
+ previously distributed under the GNU General Public License (GPL), the
234
+ law of the Commonwealth of Virginia shall govern this License
235
+ Agreement only as to issues arising under or with respect to
236
+ Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this
237
+ License Agreement shall be deemed to create any relationship of
238
+ agency, partnership, or joint venture between CNRI and Licensee. This
239
+ License Agreement does not grant permission to use CNRI trademarks or
240
+ trade name in a trademark sense to endorse or promote products or
241
+ services of Licensee, or any third party.
242
+
243
+ 8. By clicking on the "ACCEPT" button where indicated, or by copying,
244
+ installing or otherwise using Python 1.6.1, Licensee agrees to be
245
+ bound by the terms and conditions of this License Agreement.
246
+
247
+ ACCEPT
248
+
249
+
250
+ CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
251
+ --------------------------------------------------
252
+
253
+ Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
254
+ The Netherlands. All rights reserved.
255
+
256
+ Permission to use, copy, modify, and distribute this software and its
257
+ documentation for any purpose and without fee is hereby granted,
258
+ provided that the above copyright notice appear in all copies and that
259
+ both that copyright notice and this permission notice appear in
260
+ supporting documentation, and that the name of Stichting Mathematisch
261
+ Centrum or CWI not be used in advertising or publicity pertaining to
262
+ distribution of the software without specific, written prior
263
+ permission.
264
+
265
+ STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
266
+ THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
267
+ FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
268
+ FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
269
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
270
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
271
+ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
data/test-unit/Rakefile CHANGED
@@ -1,5 +1,7 @@
1
1
  # -*- ruby -*-
2
2
 
3
+ Encoding.default_internal = "UTF-8" if defined?(Encoding.default_internal)
4
+
3
5
  require 'rubygems'
4
6
  gem 'rdoc'
5
7
  require 'hoe'
@@ -9,14 +11,14 @@ ENV["NODOT"] = "yes"
9
11
 
10
12
  version = Test::Unit::VERSION
11
13
  ENV["VERSION"] = version
12
- Hoe.spec('test-unit') do |p|
14
+ project = Hoe.spec('test-unit') do
13
15
  Hoe::Test::SUPPORTED_TEST_FRAMEWORKS[:testunit2] = "test/run-test.rb"
14
- p.version = version
15
- p.developer('Kouhei Sutou', 'kou@cozmixng.org')
16
- p.developer('Ryan Davis', 'ryand-ruby@zenspider.com')
16
+ self.version = version
17
+ developer('Kouhei Sutou', 'kou@cozmixng.org')
18
+ developer('Ryan Davis', 'ryand-ruby@zenspider.com')
17
19
 
18
20
  # Ex-Parrot:
19
- # p.developer('Nathaniel Talbott', 'nathaniel@talbott.ws')
21
+ # developer('Nathaniel Talbott', 'nathaniel@talbott.ws')
20
22
  end
21
23
 
22
24
  task :check_manifest => :clean_test_result
@@ -31,6 +33,17 @@ task :clean_coverage do
31
33
  sh("rm", "-rf", "coverage")
32
34
  end
33
35
 
36
+ desc "Publish HTML to Web site."
37
+ task :publish_html do
38
+ config = YAML.load(File.read(File.expand_path("~/.rubyforge/user-config.yml")))
39
+ host = "#{config["username"]}@rubyforge.org"
40
+
41
+ rsync_args = "-av --exclude '*.erb' --exclude '*.svg' --exclude .svn"
42
+ remote_dir = "/var/www/gforge-projects/#{project.rubyforge_name}/"
43
+ sh "rsync #{rsync_args} html/ #{host}:#{remote_dir}"
44
+ end
45
+
46
+ desc "Tag the current revision."
34
47
  task :tag do
35
48
  message = "Released Test::Unit #{version}!"
36
49
  base = "svn+ssh://#{ENV['USER']}@rubyforge.org/var/svn/test-unit/"
@@ -0,0 +1,153 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+ <svg
4
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
5
+ xmlns:cc="http://creativecommons.org/ns#"
6
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
7
+ xmlns:svg="http://www.w3.org/2000/svg"
8
+ xmlns="http://www.w3.org/2000/svg"
9
+ xmlns:xlink="http://www.w3.org/1999/xlink"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ width="22.25"
13
+ height="48"
14
+ id="svg10194"
15
+ sodipodi:version="0.32"
16
+ inkscape:version="0.46"
17
+ version="1.0"
18
+ sodipodi:docname="bar.svg"
19
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
20
+ inkscape:export-filename="/home/kou/work/c/milter-manager/html/bar.png"
21
+ inkscape:export-xdpi="72"
22
+ inkscape:export-ydpi="72">
23
+ <defs
24
+ id="defs10196">
25
+ <filter
26
+ inkscape:collect="always"
27
+ id="filter10190"
28
+ x="-0.0042679603"
29
+ width="1.0085359"
30
+ y="-0.26376387"
31
+ height="1.5275277">
32
+ <feGaussianBlur
33
+ inkscape:collect="always"
34
+ stdDeviation="1.331093"
35
+ id="feGaussianBlur10192" />
36
+ </filter>
37
+ <linearGradient
38
+ id="linearGradient10136"
39
+ inkscape:collect="always">
40
+ <stop
41
+ id="stop10138"
42
+ offset="0"
43
+ style="stop-color:#f57900;stop-opacity:1;" />
44
+ <stop
45
+ id="stop10140"
46
+ offset="1"
47
+ style="stop-color:#fcaf3e;stop-opacity:1" />
48
+ </linearGradient>
49
+ <linearGradient
50
+ inkscape:collect="always"
51
+ xlink:href="#linearGradient10136"
52
+ id="linearGradient10134"
53
+ x1="316.17773"
54
+ y1="89.416435"
55
+ x2="316.17773"
56
+ y2="82.569916"
57
+ gradientUnits="userSpaceOnUse"
58
+ gradientTransform="matrix(3e-2,0,0,3,358.91588,-160.60243)" />
59
+ <linearGradient
60
+ id="linearGradient10152"
61
+ inkscape:collect="always">
62
+ <stop
63
+ id="stop10154"
64
+ offset="0"
65
+ style="stop-color:#ffffff;stop-opacity:1;" />
66
+ <stop
67
+ id="stop10156"
68
+ offset="1"
69
+ style="stop-color:#ffffff;stop-opacity:0;" />
70
+ </linearGradient>
71
+ <inkscape:perspective
72
+ sodipodi:type="inkscape:persp3d"
73
+ inkscape:vp_x="0 : 526.18109 : 1"
74
+ inkscape:vp_y="0 : 1000 : 0"
75
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
76
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
77
+ id="perspective10202" />
78
+ <linearGradient
79
+ inkscape:collect="always"
80
+ xlink:href="#linearGradient10152"
81
+ id="linearGradient10230"
82
+ gradientUnits="userSpaceOnUse"
83
+ gradientTransform="matrix(3.0006411e-2,0,0,2.7421563,358.91357,-137.86823)"
84
+ x1="306.39508"
85
+ y1="83.499619"
86
+ x2="306.39508"
87
+ y2="97.729294" />
88
+ </defs>
89
+ <sodipodi:namedview
90
+ id="base"
91
+ pagecolor="#ffffff"
92
+ bordercolor="#666666"
93
+ borderopacity="1.0"
94
+ gridtolerance="10000"
95
+ guidetolerance="10"
96
+ objecttolerance="10"
97
+ inkscape:pageopacity="0.0"
98
+ inkscape:pageshadow="2"
99
+ inkscape:zoom="3.959798"
100
+ inkscape:cx="56.513145"
101
+ inkscape:cy="10.662903"
102
+ inkscape:document-units="px"
103
+ inkscape:current-layer="layer1"
104
+ showgrid="false"
105
+ inkscape:window-width="843"
106
+ inkscape:window-height="650"
107
+ inkscape:window-x="137"
108
+ inkscape:window-y="138" />
109
+ <metadata
110
+ id="metadata10199">
111
+ <rdf:RDF>
112
+ <cc:Work
113
+ rdf:about="">
114
+ <dc:format>image/svg+xml</dc:format>
115
+ <dc:type
116
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
117
+ </cc:Work>
118
+ </rdf:RDF>
119
+ </metadata>
120
+ <g
121
+ inkscape:label="Layer 1"
122
+ inkscape:groupmode="layer"
123
+ id="layer1"
124
+ transform="translate(-358.96534,-80.494781)">
125
+ <rect
126
+ y="87.256226"
127
+ x="-2.3278677"
128
+ height="11.111678"
129
+ width="747.51288"
130
+ id="rect10160"
131
+ style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;filter:url(#filter10190);enable-background:accumulate"
132
+ transform="matrix(3e-2,0,0,3,358.98571,-173.62413)" />
133
+ <rect
134
+ style="opacity:1;fill:url(#linearGradient10134);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
135
+ id="rect9356"
136
+ width="22.425388"
137
+ height="33.335033"
138
+ x="358.91583"
139
+ y="87.244781"
140
+ inkscape:export-xdpi="72"
141
+ inkscape:export-ydpi="72" />
142
+ <path
143
+ style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ce5c00;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
144
+ d="M 358.91586,87.244781 L 381.34125,87.244781 M 381.34125,120.57982 L 358.91586,120.57982"
145
+ id="rect10220"
146
+ sodipodi:nodetypes="cccc" />
147
+ <path
148
+ style="opacity:0.33734945;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient10230);stroke-width:1.49652982;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
149
+ d="M 381.34378,119.14706 L 358.9136,119.14706 M 358.9136,88.677084 L 381.34378,88.677084"
150
+ id="rect10224"
151
+ sodipodi:nodetypes="cccc" />
152
+ </g>
153
+ </svg>