nitro 0.15.0 → 0.16.0

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 (111) hide show
  1. data/CHANGELOG +218 -0
  2. data/INSTALL +3 -0
  3. data/README +4 -2
  4. data/Rakefile +150 -8
  5. data/benchmark/bench.rb +1 -1
  6. data/doc/AUTHORS +2 -8
  7. data/doc/RELEASES +63 -1
  8. data/examples/ajax/controller.rb +2 -2
  9. data/examples/ajax/public/index.xhtml +3 -1
  10. data/examples/ajax/run.rb +3 -3
  11. data/examples/blog/README +8 -0
  12. data/examples/blog/cache/entriesadmintrue +3 -0
  13. data/examples/blog/run.rb +38 -40
  14. data/examples/blog/src/blog.rb +2 -1
  15. data/examples/blog/src/controller.rb +40 -20
  16. data/examples/blog/src/mailer.rb +2 -2
  17. data/examples/blog/src/models/blog.rb +2 -1
  18. data/examples/blog/src/models/content.rb +4 -33
  19. data/examples/blog/src/views/error.xhtml +1 -1
  20. data/examples/blog/src/xsl/style.xsl +1 -1
  21. data/examples/blog/test/tc_blog.rb +43 -0
  22. data/examples/flash/run.rb +2 -2
  23. data/examples/no_xsl_blog/lib/blog.rb +1 -1
  24. data/examples/no_xsl_blog/lib/blog/controller.rb +26 -17
  25. data/examples/no_xsl_blog/lib/blog/model.rb +3 -3
  26. data/examples/no_xsl_blog/lib/blog/template.rb +1 -1
  27. data/examples/no_xsl_blog/lib/content.rb +3 -7
  28. data/examples/no_xsl_blog/run.rb +34 -34
  29. data/examples/tiny/public/deep/dir/hello.xhtml +2 -0
  30. data/examples/tiny/run.rb +2 -2
  31. data/examples/wee_style/run.rb +5 -3
  32. data/examples/why_wiki/run.rb +5 -3
  33. data/install.rb +1 -1
  34. data/lib/nitro.rb +10 -9
  35. data/lib/nitro/adapters/cgi.rb +27 -2
  36. data/lib/nitro/adapters/fastcgi.rb +6 -2
  37. data/lib/nitro/adapters/webrick.rb +11 -9
  38. data/lib/nitro/buffering.rb +2 -2
  39. data/lib/nitro/builders/atom.rb +78 -0
  40. data/lib/nitro/builders/form.rb +2 -2
  41. data/lib/nitro/builders/rss.rb +4 -4
  42. data/lib/nitro/builders/table.rb +2 -2
  43. data/lib/nitro/builders/xhtml.rb +5 -8
  44. data/lib/nitro/builders/xml.rb +38 -14
  45. data/lib/nitro/caching.rb +2 -2
  46. data/lib/nitro/caching/actions.rb +2 -2
  47. data/lib/nitro/caching/fragments.rb +2 -2
  48. data/lib/nitro/caching/invalidation.rb +2 -28
  49. data/lib/nitro/caching/output.rb +3 -3
  50. data/lib/nitro/caching/stores.rb +4 -4
  51. data/lib/nitro/conf.rb +11 -6
  52. data/lib/nitro/context.rb +2 -2
  53. data/lib/nitro/controller.rb +12 -7
  54. data/lib/nitro/cookie.rb +2 -2
  55. data/lib/nitro/dispatcher.rb +33 -40
  56. data/lib/nitro/environment.rb +1 -1
  57. data/lib/nitro/localization.rb +5 -7
  58. data/lib/nitro/mail.rb +2 -2
  59. data/lib/nitro/markup.rb +5 -5
  60. data/lib/nitro/output.rb +2 -2
  61. data/lib/nitro/part.rb +8 -5
  62. data/lib/nitro/render.rb +46 -45
  63. data/lib/nitro/request.rb +7 -6
  64. data/lib/nitro/response.rb +14 -5
  65. data/lib/nitro/routing.rb +2 -2
  66. data/lib/nitro/runner.rb +57 -17
  67. data/lib/nitro/scaffold.rb +14 -8
  68. data/lib/nitro/session.rb +7 -4
  69. data/lib/nitro/session/drb.rb +2 -2
  70. data/lib/nitro/session/drbserver.rb +2 -2
  71. data/lib/nitro/session/memory.rb +2 -2
  72. data/lib/nitro/shaders.rb +8 -7
  73. data/lib/nitro/simple.rb +4 -1
  74. data/lib/nitro/template.rb +8 -8
  75. data/lib/nitro/testing.rb +6 -0
  76. data/lib/nitro/testing/assertions.rb +102 -0
  77. data/lib/nitro/testing/context.rb +52 -0
  78. data/lib/nitro/testing/testcase.rb +55 -0
  79. data/lib/nitro/ui/pager.rb +3 -3
  80. data/lib/nitro/ui/popup.rb +8 -13
  81. data/lib/nitro/ui/tabs.rb +4 -10
  82. data/lib/nitro/uri.rb +7 -7
  83. data/proto/doc/README +1 -0
  84. data/proto/public/cgi.rb +5 -0
  85. data/proto/run.rb +2 -4
  86. data/test/nitro/adapters/tc_cgi.rb +1 -1
  87. data/test/nitro/adapters/tc_webrick.rb +1 -2
  88. data/test/nitro/builders/tc_atom.rb +26 -0
  89. data/test/nitro/builders/tc_rss.rb +3 -2
  90. data/test/nitro/builders/tc_table.rb +1 -1
  91. data/test/nitro/builders/tc_xhtml.rb +4 -3
  92. data/test/nitro/builders/tc_xml.rb +7 -7
  93. data/test/nitro/tc_context.rb +1 -1
  94. data/test/nitro/tc_controller.rb +5 -3
  95. data/test/nitro/tc_dispatcher.rb +19 -18
  96. data/test/nitro/tc_localization.rb +1 -1
  97. data/test/nitro/tc_mail.rb +1 -1
  98. data/test/nitro/tc_session.rb +1 -1
  99. data/test/nitro/tc_template.rb +1 -1
  100. data/test/nitro/tc_uri.rb +3 -4
  101. data/test/nitro/ui/tc_pager.rb +7 -7
  102. data/test/public/blog/inc1.xhtml +2 -0
  103. data/test/public/blog/inc2.xhtml +1 -0
  104. data/test/public/blog/list.xhtml +3 -0
  105. metadata +180 -203
  106. data/examples/blog/cache/entriesadmin +0 -12
  107. data/lib/nitro/cluster.rb +0 -218
  108. data/lib/nitro/component.rb +0 -15
  109. data/lib/nitro/filters.rb +0 -215
  110. data/lib/nitro/ui/date-select.rb +0 -69
  111. data/test/nitro/tc_filters.rb +0 -111
data/CHANGELOG CHANGED
@@ -1,3 +1,221 @@
1
+ 18-04-2005 George Moschovitis <gm@navel.gr>
2
+
3
+ * small fixes to make tests pass again.
4
+
5
+ 17-04-2005 George Moschovitis <gm@navel.gr>
6
+
7
+ * examples/blog/: updated.
8
+
9
+ * lib/nitro/render.rb: check again for action_template method.
10
+
11
+ * test/nitro/builders/tc_atom.rb: introduced.
12
+
13
+ * lib/nitro/builders/atom.rb: introduced.
14
+ (#build_atom): first implementation.
15
+
16
+ * lib/nitro/builders/xml.rb: added print alias,
17
+ use '!' postfix in default methods to avoid method namespace polution.
18
+ (#processing_instruction): added.
19
+
20
+ 16-04-2005 George Moschovitis <gm@navel.gr>
21
+
22
+ * now developing on UBUNTU Linux.
23
+
24
+ 15-04-2005 George Moschovitis <gm@navel.gr>
25
+
26
+ * examples/no_xsl_blog/*: converted to make compaitble
27
+ with latest code.
28
+
29
+ * ../cleanup.rb: implemented.
30
+
31
+ * lib/nitro/controller.rb: improved DEF_FILE calculation to handle
32
+ more cases.
33
+
34
+ * examples/blog/*: yeah, with the latest aspects fixes
35
+ the example works again,
36
+ converted XmlController to latest code.
37
+ invalidate cache on deletes.
38
+
39
+ * test/*: fixes to make the tests pass.
40
+
41
+ 14-04-2005 George Moschovitis <gm@navel.gr>
42
+
43
+ * examples/*: dont use controller.
44
+
45
+ * lib/nitro/controller.rb: removed [jamesb].
46
+
47
+ * examples/blog/src/models/content.rb: removed obsolete code.
48
+
49
+ 13-04-2005 George Moschovitis <gm@navel.gr>
50
+
51
+ * examples/blog/*: converted to use aspects.
52
+
53
+ * lib/nitro/render.rb (#compile_action): replaced filter chains
54
+ with advice generation.
55
+
56
+ * lib/nitro/controller.rb: use aspects instead of filters,
57
+ dont include Filtering.
58
+
59
+ 12-04-2005 Kostas Nasis <kostas@nasis.com>
60
+
61
+ * misc aesthetic fixes.
62
+
63
+ * lib/nitro/markup.rb: small fixes.
64
+
65
+ 12-04-2005 George Moschovitis <gm@navel.gr>
66
+
67
+ * examples/*: small fixes in docs.
68
+
69
+ * push_docs.rb: introduced.
70
+
71
+ * Rakefile: changed rdoc dir,
72
+ added Florian Gross's gems updater [flgr],
73
+ many fixes to make the updater work.
74
+
75
+ * releases.rb: utility to help with new releases,
76
+ cool, it uploads documentation.
77
+
78
+ * INSTALL: small update [ilias].
79
+
80
+ 11-04-2005 George Moschovitis <gm@navel.gr>
81
+
82
+ * created new public SVN repository, to allow for easier
83
+ patching by the community.
84
+
85
+ * examples/no_xsl_blog/*: small ns fixes. [james_b]
86
+
87
+ 10-04-2005 George Moschovitis <gm@navel.gr>
88
+
89
+ * lib/nitro/render.rb: new encoding for action/template methods.
90
+
91
+ * lib/nitro/shaders.rb (XSLTShader#process): add a critical Logger.debug to
92
+ give better info on the developer on template errors.
93
+
94
+ * lib/adapters/webrick.rb: no stupid logging by default on Unix.
95
+
96
+ * lib/nitro/dispatcher.rb (#controller_class_for): changed reloading algo,
97
+ improved reloading to reload superclasses,
98
+ improved reloading to remove actions,
99
+ even more fixes to the reloader.
100
+
101
+ * lib/nitro/conf.rb (#mount): added support for mounting other sites.
102
+ $nitro_environment: holds the configuration.
103
+
104
+ 09-04-2005 George Moschovitis <gm@navel.gr>
105
+
106
+ * test/og/tc_sqlserver.rb: check if sqlserver exists.
107
+ * test/*: small fixes to pass again.
108
+
109
+ * examples/ajax/*: small improvement.
110
+
111
+ * lib/nitro/runner.rb (Nitro##run): added this elegant helper.
112
+
113
+ * proto/public/scaffold: added.
114
+
115
+ * examples/blog/*: works without API,
116
+ content_type works again,
117
+ use the new runner.
118
+
119
+ * lib/nitro/dispatcher.rb: removed the concept of API from the dispatcher,
120
+ will be implemented with controller reuse.
121
+
122
+ * examples/blog/src/controller.rb (XmlController): introduced.
123
+
124
+ * lib/nitro/render.rb (#compile_action): better error reporting,
125
+ removed concept of API.
126
+
127
+ * lib/nitro/response.rb (#add_cookie): made more flexible.
128
+
129
+ * lib/nitro/testing/assertions.rb (#assert_has_cookie): implemented,
130
+ (#assert_has_no_cookie): implemented,
131
+ (#assert_cookie_equal): implemented.
132
+
133
+ * lib/nitro/testing/context.rb (Response): added more helpers.
134
+
135
+ 08-04-2005 George Moschovitis <gm@navel.gr>
136
+
137
+ * hack-fixed dynamic require bug that used to fuckup RDoc.
138
+
139
+ * Rakefile: fixed VERSION bug,
140
+ removed flexob, extensions, ruby-breakpointer dependencies [james_b],
141
+ bumped required Ruby version.
142
+
143
+ * lib/nitro/testing/testcase.rb: include Nitro by default.
144
+
145
+ * test/*: many fixes to work again.
146
+
147
+ * MAJOR: changed the namespace from N to Nitro.
148
+
149
+ * examples/no_xsl_blog/*: some small improvements, synced with blog
150
+ example.
151
+
152
+ * lib/nitro/ui/*: updated some code (will be removed soon).
153
+
154
+ * lib/nitro/ui/date-select.rb: removed.
155
+
156
+ * lib/nitro.rb: include Glue in the Nitro namespace.
157
+
158
+ * lib/nitro/cluster.rb: removed.
159
+
160
+ 07-04-2005 George Moschovitis <gm@navel.gr>
161
+
162
+ * lib/nitro/testing/assertions.rb:
163
+ (#assert_redirect): implemented.
164
+ (#assert_no_redirect): implemented.
165
+ (#assert_session_has): implemented.
166
+ (#assert_session_has_no): implemented.
167
+ use implicit context
168
+ (#assert_output_match): implemented.
169
+ (#assert_output_no_match): implemented.
170
+ (#assert_status_ok): implemented.
171
+ use format_msg: to make more flexible.
172
+ (#assert_session_equal): implemented.
173
+
174
+ * examples/blog/test/tc_blog.rb: introduced.
175
+
176
+ * lib/nitro/testing/context.rb: introduced.
177
+ (Request): added testing helpers.
178
+ (Response): added testing helpers.
179
+ (Context): override session.
180
+
181
+ * lib/nitro/render.rb: body alias for out.
182
+
183
+ * lib/nitro/adapters/cgi.rb: no socket lookup.
184
+
185
+ * lib/nitro/adapters/fcgi.rb: no socket lookup.
186
+
187
+ 07-04-2005 James Britt <james_b@neurogami.com>
188
+
189
+ * investigated nasty cgi/testunit/flexmock bug.
190
+
191
+ 06-04-2005 George Moschovitis <gm@navel.gr>
192
+
193
+ * lib/nitro/testing.rb: introduced.
194
+
195
+ * lib/nitro/testing/testcase.rb: introduced.
196
+
197
+ * lib/nitro/testing/assertions.rb: introduced.
198
+
199
+ 05-04-2005 George Moschovitis <gm@navel.gr>
200
+
201
+ * lib/nitro/render.rb (#compile_action): keep old action in @parent_action_name.
202
+
203
+ * lib/nitro/shaders.rb: handle ' delimeters. [james_b]
204
+
205
+ * lib/nitro/template.rb: handle ' delimeters. [james_b]
206
+
207
+ * test/nitro/tc_controller.rb: added extra tests.
208
+
209
+ * integrated james' CGI patch.
210
+
211
+ 05-04-2005 James Britt <james_b@neurogami.com>
212
+
213
+ * proto/public/cgi.rb: cgi runner.
214
+
215
+ * lib/nitro/adapters/cgi.rb: added support for standalone cgi.
216
+
217
+ * lib/nitro/runner.rb: added support for cgi.
218
+
1
219
  04-04-2005 George Moschovitis <gm@navel.gr>
2
220
 
3
221
  * bin/nitro: fix
data/INSTALL CHANGED
@@ -12,6 +12,9 @@
12
12
 
13
13
  gem install og
14
14
 
15
+ (make sure you have the latest stable versions of Ruby and RubyGems
16
+ installed)
17
+
15
18
  When asked about the dependencies to include, only accept
16
19
  the dependencies for the RDBMS backends you are planning
17
20
  to use.
data/README CHANGED
@@ -1,4 +1,4 @@
1
- = Nitro 0.15.0
1
+ = Nitro 0.16.0 README
2
2
 
3
3
  Nitro is an efficient, yet simple engine for developing professional Web
4
4
  Applications using the Ruby language. Nitro aims to provide a robust
@@ -309,6 +309,9 @@ installed RubyGems on your system. Then run the following command:
309
309
 
310
310
  gem install nitro
311
311
 
312
+ (make sure you have the latest stable versions of Ruby and RubyGems
313
+ installed)
314
+
312
315
  Then try to run the examples/tiny Example application.
313
316
 
314
317
  A tar.gz distribution is also available on http://www.rubyforge.com/projects/nitro
@@ -448,4 +451,3 @@ Nitro (http://www.rubyforge.com/projects/nitro) is copyrighted free
448
451
  software created and maintained by George Moschovitis (mailto:gm@navel.gr)
449
452
  and released under the standard BSD Licence. For details consult
450
453
  the file LICENCE.
451
-
data/Rakefile CHANGED
@@ -6,6 +6,29 @@ require 'rake/rdoctask'
6
6
  require 'rake/testtask'
7
7
  require 'rake/gempackagetask'
8
8
 
9
+ # Initialize some variables.
10
+
11
+ readme = File.read('README')
12
+ Release = (readme[/^= (.+) README$/, 1] || 'unknown').downcase.tr(" ", "-")
13
+ Name = Release[/\D+/].sub(/\-+$/, '') || 'unknown'
14
+ Version = Release[/[\d.]+/] || 'unknown'
15
+
16
+ AuthorName, AuthorMail = 'George Moschovitis', 'gm@navel.gr'
17
+ RubyVersion = '1.8.2'
18
+
19
+ # Description = (readme[/README\s+(.+?)\n\n/m, 1] || "unknown").gsub(/\s+/, " ")
20
+ # Summary = Description[/^.+?>/] || "unknown"
21
+
22
+ # DocFiles = %w(README NEWS TODO COPYING GPL)
23
+ # RDocFiles = DocFiles - %w(GPL)
24
+ RDocOpts = ["--inline-source", "--line-numbers","--title", Name ]
25
+ # AdditionalFiles = DocFiles + %w(setup.rb)
26
+ VersionFile = MainFile = File.join("lib", Name + '.rb')
27
+
28
+ RubyForgeProject = Name
29
+ RubyForgeUser = 'gmosx'
30
+ Homepage = "http://#{RubyForgeProject}.rubyforge.org/"
31
+
9
32
  task :default => :package
10
33
 
11
34
  # Run the tests.
@@ -28,7 +51,7 @@ end
28
51
 
29
52
  Rake::RDocTask.new do |rd|
30
53
  rd.main = 'README'
31
- rd.rdoc_dir = 'doc/rdoc'
54
+ rd.rdoc_dir = 'rdoc'
32
55
  rd.rdoc_files.include('README', 'INSTALL', 'doc/config.txt', 'doc/tutorial.txt', 'lib/**/*.rb')
33
56
  rd.options << '--all --inline-source'
34
57
  end
@@ -38,7 +61,7 @@ end
38
61
  spec = Gem::Specification.new do |s|
39
62
  s.name = 'nitro'
40
63
  if File.read('lib/nitro.rb') =~ /Version\s+=\s+'(\d+\.\d+\.\d+)'/
41
- VERSION = s.version = $1
64
+ s.version = $1
42
65
  else
43
66
  raise 'No version found'
44
67
  end
@@ -47,13 +70,11 @@ spec = Gem::Specification.new do |s|
47
70
  'Nitro provides everything you need to develop real-world, scalable ' +
48
71
  'web applications.'
49
72
 
50
- s.add_dependency 'glue', "= #{VERSION}"
51
- s.add_dependency 'og', "= #{VERSION}"
52
- s.add_dependency 'ruby-breakpoint', '>= 0.5'
53
- s.add_dependency 'extensions', '>= 0.5'
54
- s.add_dependency 'flexmock', '>= 0.0.3'
73
+ s.add_dependency 'glue', "= #{s.version}"
74
+ s.add_dependency 'og', "= #{s.version}"
75
+ # s.add_dependency 'ruby-breakpoint', '>= 0.5'
55
76
 
56
- s.required_ruby_version = '>= 1.8.1'
77
+ s.required_ruby_version = '>= 1.8.2'
57
78
 
58
79
  s.files = FileList[
59
80
  '[A-Z]*', 'install.rb', '{bin,benchmark,examples,doc,proto,lib,test,vendor}/**/*'
@@ -90,3 +111,124 @@ end
90
111
  task :install do
91
112
  ruby 'install.rb'
92
113
  end
114
+
115
+ # Release files to Rubyforge.
116
+ # The code for this task provided by Florian Gross.
117
+
118
+ desc "Publish the release files to RubyForge."
119
+ task :publish => [:package] do
120
+ files = ['gem', 'tgz', 'zip'].map { |ext| "dist/#{Release}.#{ext}" }
121
+
122
+ if RubyForgeProject then
123
+ require 'net/http'
124
+ require 'open-uri'
125
+
126
+ changes = ''
127
+ if File.exist?('doc/RELEASES') then
128
+ changes_re = /^== \s+ Version \s+ #{Regexp.quote(Version)} \s*
129
+ (.+?) (?:==|\Z)/mx
130
+ changes = File.read('doc/RELEASES')[changes_re, 1] || ''
131
+ end
132
+
133
+ project_uri = "http://rubyforge.org/projects/#{RubyForgeProject}/"
134
+ project_data = open(project_uri) { |data| data.read }
135
+ group_id = project_data[/[?&]group_id=(\d+)/, 1]
136
+ raise "Couldn't get group id" unless group_id
137
+
138
+ print "#{RubyForgeUser}@rubyforge.org's password: "
139
+ password = STDIN.gets.chomp
140
+
141
+ login_response = Net::HTTP.start('rubyforge.org', 80) do |http|
142
+ data = [
143
+ "login=1",
144
+ "form_loginname=#{RubyForgeUser}",
145
+ "form_pw=#{password}"
146
+ ].join("&")
147
+ http.post('/account/login.php', data)
148
+ end
149
+
150
+ cookie = login_response['set-cookie']
151
+ raise 'Login failed' unless cookie
152
+ headers = { 'Cookie' => cookie }
153
+
154
+ release_uri = "http://rubyforge.org/frs/admin/?group_id=#{group_id}"
155
+ release_data = open(release_uri, headers) { |data| data.read }
156
+ package_id = release_data[/[?&]package_id=(\d+)/, 1]
157
+ raise "Couldn't get package id" unless package_id
158
+
159
+ first_file = true
160
+ release_id = ""
161
+
162
+ files.each do |filename|
163
+ basename = File.basename(filename)
164
+ file_ext = File.extname(filename)
165
+ file_data = File.open(filename, "rb") { |file| file.read }
166
+
167
+ puts "Releasing #{basename}..."
168
+
169
+ release_response = Net::HTTP.start('rubyforge.org', 80) do |http|
170
+ release_date = Time.now.strftime('%Y-%m-%d %H:%M')
171
+ type_map = {
172
+ '.zip' => '3000',
173
+ '.tgz' => '3110',
174
+ '.gz' => '3110',
175
+ '.gem' => '1400',
176
+ '.md5sum' => '8100'
177
+ }; type_map.default = '9999'
178
+ type = type_map[file_ext]
179
+ boundary = 'rubyqMY6QN9bp6e4kS21H4y0zxcvoor'
180
+
181
+ query_hash = if first_file then
182
+ {
183
+ 'group_id' => group_id,
184
+ 'package_id' => package_id,
185
+ 'release_name' => Release,
186
+ 'release_date' => release_date,
187
+ 'type_id' => type,
188
+ 'processor_id' => '8000', # Any
189
+ 'release_notes' => '',
190
+ 'release_changes' => changes,
191
+ 'preformatted' => '1',
192
+ 'submit' => '1'
193
+ }
194
+ else
195
+ {
196
+ 'group_id' => group_id,
197
+ 'release_id' => release_id,
198
+ 'package_id' => package_id,
199
+ 'step2' => '1',
200
+ 'type_id' => type,
201
+ 'processor_id' => '8000', # Any
202
+ 'submit' => 'Add This File'
203
+ }
204
+ end
205
+
206
+ query = '?' + query_hash.map do |(name, value)|
207
+ [name, URI.encode(value)].join('=')
208
+ end.join('&')
209
+
210
+ data = [
211
+ "--" + boundary,
212
+ "Content-Disposition: form-data; name=\"userfile\"; filename=\"#{basename}\"",
213
+ "Content-Type: application/octet-stream",
214
+ "Content-Transfer-Encoding: binary",
215
+ "", file_data, ""
216
+ ].join("\x0D\x0A")
217
+
218
+ release_headers = headers.merge(
219
+ 'Content-Type' => "multipart/form-data; boundary=#{boundary}"
220
+ )
221
+
222
+ target = first_file ? '/frs/admin/qrs.php' : '/frs/admin/editrelease.php'
223
+ http.post(target + query, data, release_headers)
224
+ end
225
+
226
+ if first_file then
227
+ release_id = release_response.body[/release_id=(\d+)/, 1]
228
+ raise("Couldn't get release id") unless release_id
229
+ end
230
+
231
+ first_file = false
232
+ end
233
+ end
234
+ end
@@ -1,5 +1,5 @@
1
1
  # * George Moschovitis <gm@navel.gr>
2
2
  # (c) 2005 Navel, all rights reserved.
3
- # $Id: bench.rb 288 2005-03-10 12:47:03Z gmosx $
3
+ # $Id: bench.rb 1 2005-04-11 11:04:30Z gmosx $
4
4
 
5
5
 
@@ -1,7 +1,7 @@
1
1
  MAIN DEVELOPER:
2
2
 
3
3
  * George Moschovitis <gm@navel.gr>
4
- Project leader, architecture and design, code,
4
+ Project leader, architecture and design, main coder,
5
5
  documentation, maintainer.
6
6
 
7
7
  IDEAS, ADDITIONAL CODING, SUPPORT:
@@ -9,14 +9,8 @@ IDEAS, ADDITIONAL CODING, SUPPORT:
9
9
  * Anastasios Koutoumanos <ak@navel.gr>
10
10
  Design, additional coding.
11
11
 
12
- * Matt Bowen <matt.bowen@farweststeel.com>
13
- Additional code and documentation.
14
-
15
12
  * James Britt <james_b@neurogami.com>
16
- Design, bug reports.
17
-
18
- * Thomas Quas <tquas@yahoo.com>
19
- Ideas, bug reports, unit tests.
13
+ Additional code, design, bug reports.
20
14
 
21
15
  * Kostas Nasis <kostas@nasis.com>
22
16
  Ideas and bug reports.