og 0.9.5 → 0.10.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.
data/ChangeLog CHANGED
@@ -1,6 +1,266 @@
1
+ 15-02-2005 George Moschovitis <gm@navel.gr>
2
+
3
+ * INSTALL: added some text for manual installation.
4
+
5
+ * examples/no_xsl_blog/*: misc fixes.
6
+
7
+ * lib/nitro/dispatcher.rb (#dispatch): pass context to fix reload bug.
8
+
9
+ * examples/og/run.rb: updated.
10
+
11
+ * lib/og/meta.rb (#many_to_many): fixed bug.
12
+
13
+ * lib/nitro/controller.rb: introduced simple controller to protect
14
+ the base controller.
15
+
16
+ * lib/nitro/runner.rb (#run): call setup_debug/stage/live,
17
+ more fixes in setup.
18
+
19
+ * Rakefile: added flexmock dependency,
20
+ removed database dependencies (RubyGems is too picky),
21
+ added install.rb in distribution.
22
+
23
+ * test/: fixed some type_checking bugs.
24
+
25
+ * lib/glue/property.rb: type_checking = false by default.
26
+
27
+ * test/nitro/adapters: renamed from adaptors.
28
+
29
+ 14-02-2005 George Moschovitis <gm@navel.gr>
30
+
31
+ * lib/og.rb: require validation.
32
+
33
+ * lib/nitro.rb: require runner.
34
+
35
+ * lib/nitro/runner.rb: moved from adapters,
36
+ (self.run): added helper.
37
+ split setup in many methods to allow for overrides.
38
+
39
+ * examples/no_xsl_blog: converted.
40
+
41
+ * lib/nitro/render.rb: use @request as alias to @context.
42
+
43
+ * lib/nitro/builders/xml.rb: handle single tags like
44
+ <br/>, <hr/> etc.
45
+
46
+ * examples/wee_style/run.rb: converted,
47
+ cleaned up programmatic code.
48
+
49
+ * examples/flash: converted.
50
+
51
+ * examples/tiny: converted.
52
+
53
+ * README: updated.
54
+
55
+ * examples/README.windows: added.
56
+
57
+ * examples/: updated docs.
58
+
59
+ * lib/nitro/adapters/runner.rb: more comments,
60
+ (#run): accept hash as conf,
61
+ converted methods to non static,
62
+ (#setup): implemented,
63
+ fixed version printing,
64
+ use ENV to pass invoke methods,
65
+ ULTRA COOL: --console parameter works again.
66
+
67
+ * I love Stella (asteraki) :)
68
+
69
+ 13-02-2005 George Moschovitis <gm@navel.gr>
70
+
71
+ * lib/nitro/adapters/runner.rb: improved,
72
+ added fcgi_proc action.
73
+
74
+ * examples/blog/run.rb: introduced, runnable from everywhere.
75
+
76
+ * lib/nitro/conf.rb: introduced, default configuration paramters.
77
+
78
+ * changed base dir in applications, to be runnuble from
79
+ everywhere.
80
+
81
+ 12-02-2005 George Moschovitis <gm@navel.gr>
82
+
83
+ * INSTALL: updated.
84
+
85
+ * install.rb: implemented, refined.
86
+
87
+ * updated all example confg files.
88
+
89
+ * Introduced the 'tml' nick in the docs. :)
90
+
91
+ * README: updated.
92
+
93
+ * README.og: updated.
94
+
95
+ * lib/xsl/base.xsl: removed old tags.
96
+
97
+ * lib/glue/string.rb (#to_greeklish): removed,
98
+ (#screen_ip_address): removed.
99
+
100
+ * lib/glue/macro.rb: deprecated.
101
+
102
+ * Many fixes to many files to improve the generated RDoc
103
+ documentation.
104
+
105
+ * lib/nitro/controller.rb (#inherited): fixed caller index.
106
+
107
+ * YEAH, using a RUBYOPT trick I can develop my rubygems.
108
+
109
+ * lib/nitro/dispatcher.rb (#dispatch): beutify, added comments,
110
+ (#controller_class_for): implemented, allows for autoreloading
111
+ of controllers,
112
+ dispatcher[:index] -> dispatcher[:root], this is a better (less
113
+ confusing) name.
114
+
115
+ * small fix in ctl's.
116
+
117
+ * lib/nitro/adapters/runner.rb: added --filelog option,
118
+ some fixes,
119
+ execution modes, better handling of Rendering.reload.
120
+
121
+ 11-02-2005 George Moschovitis <gm@navel.gr>
122
+
123
+ * lib/og/adapters/sqlite.rb: added missing res.close,
124
+ use more queries to avoid array creations.
125
+
126
+ * lib/nitro/adapters/*: renamed from adaptors.
127
+
128
+ * test/tc_og.rb: added test for override db.
129
+
130
+ * lib/og/adapters/*: dont use entity,
131
+ (#calc_field_index): ensure res.close in
132
+ (#create_table): use conn.store to avoid catching the errors.
133
+
134
+ * lib/og/adapters/mysql.rb: reintroduced,
135
+ SOS: use res.free in MysqlAdapter,
136
+ set_query_with_result,
137
+ passes tests.
138
+
139
+ 10-02-2005 George Moschovitis <gm@navel.gr>
140
+
141
+ * bin/proto/conf/app.conf.rb: updated.
142
+
143
+ * Yeah, nitro/og is in the path now, no need for File.join tricks.
144
+
145
+ * Rakefile: recoded/simplified.
146
+
147
+ * bin/nitro: introduced.
148
+
149
+ * nitro.gemspec: introduced,
150
+ cleaned up, add full dependencies.
151
+
152
+ 09-02-2005 George Moschovitis <gm@navel.gr>
153
+
154
+ * lib/og/adapters/psql.rb: reintroduced,
155
+ use serial to make more compatible with mysql/sqlite,
156
+ more careful resultset clearing,
157
+ yeah, it works again.
158
+
159
+ * benchmark/og/bench.rb: introduced,
160
+ made a test with prepared statements, not a big difference.
161
+
162
+ * test/tc_og.rb: more tests.
163
+
164
+ * lib/og.rb (#adapter): introduced.
165
+
166
+ * lib/og/adapter.rb: made a singleton.
167
+ (#for_name): implemented,
168
+ pass db to all eval methods.
169
+
170
+ * lib/og/database.rb (#drop_db/#create_db): use adapter,
171
+ keep adapter.
172
+
173
+ * lib/og/*: renamed deserialize to read,
174
+ after MANY changes, this passes the simple test case.
175
+
176
+ * lib/og/adapters/sqlite.rb: reimplemented many methods,
177
+ (#count): fixed.
178
+
179
+ * lib/og/connection.rb: removed code from methods, will be implemented by the adpters,
180
+ removed deserialize option, always deserialize,
181
+ renamed conn attribute to store to avoid ubiquity.
182
+
183
+ 08-02-2005 George Moschovitis <gm@navel.gr>
184
+
185
+ * lib/og/adapter.rb: introduced, removed adapters/base.rb,
186
+ (#new_connection): implemented.
187
+
188
+ * lib/og/adapters/sqlite.rb: reintroduced.
189
+
190
+ * lib/og/database.rb: introduced, copied database related stuff from og.rb
191
+
192
+ * lib/og/adapters: renamed from adaptors.
193
+
194
+ 07-02-2005 George Moschovitis <gm@navel.gr>
195
+
196
+ * lib/og/backends/psql.rb (#initialize): use config[:address]. [rbaduin]
197
+
198
+ * lib/og/backends/sqlite.rb: passes some tests thanx to some fixes to
199
+ sqlite3 library by jamis buck,
200
+ (#start): fixed,
201
+ (#commit): fixed.
202
+ yeah it passes tc_og.rb !!
203
+
204
+ * test/nitro/adaptors/tc_cgi.rb (#test_parse_multipart): introduced.
205
+
206
+ * lib/nitro/adaptors/cgi.rb (#read_multipart): made compatible with nitro,
207
+ corect parsing of multivalues in multipart,
208
+ (#parse_multipart): custom method.
209
+ (Cgi): introduced.
210
+ (Cgi.buffer_size): introduced.
211
+
212
+ * examples/tiny/index.xhtml: upload form.
213
+
214
+ 06-02-2005 George Moschovitis <gm@navel.gr>
215
+
216
+ * lib/nitro/markup.rb: changes for type_checking.
217
+
218
+ * test/glue/tc_property_type_checking.rb: implemented.
219
+
220
+ * lib/glue/property.rb: added type_checking support.
221
+
222
+ * INSTALL: added.
223
+
224
+ * lib/og/adaptors/base.rb: introduced.
225
+
226
+ * lib/og/backends/sqlite.rb: switched to sqlite3,
227
+ fixed stupid create join tables bug,
228
+ (#create_table): correct rescue exceptions,
229
+ (#calc_field_index): fixed.
230
+
231
+ * lib/og/backends/psql.rb: fixed stupid create tables bug.
232
+
233
+ 05-02-2005 George Moschovitis <gm@navel.gr>
234
+
235
+ * cleaned up docs in many files.
236
+
237
+ * test/tc_og.rb: dont use global ($og),
238
+ run tests for all backends.
239
+
240
+ * lib/og/*: small cleanups.
241
+
242
+ * lib/og/backends/sqlite.rb (#calc_fields_index): fixed,
243
+ (#query/safe_query): fixed.
244
+ after many fixes, it kinda works.
245
+
246
+ * lib/nitro/adaptors/runner.rb: fixed lhttpd option string. [james_b]
1
247
 
2
248
  04-02-2005 George Moschovitis <gm@navel.gr>
3
249
 
250
+ * lib/og/backends/sqlite.rb: implemented many methods.
251
+
252
+ * lib/og/backends/filesys.rb: introduced.
253
+
254
+ * lib/og/version.rb: removed.
255
+
256
+ * lib/nitro/version.rb: removed.
257
+
258
+ * lib/nitro.rb: version, libpath here.
259
+
260
+ * lib/og.rb: version, libpath here.
261
+
262
+ * --- VERSION 0.9.5 ---
263
+
4
264
  * lib/nitro/adaptors/fastcgi.rb: convert conf to Flexob.
5
265
 
6
266
  * lib/nitro/adaptors/webrick.rb: added REQUEST_MUTEX to temp-fix windows bug.
data/LICENSE CHANGED
@@ -1,5 +1,6 @@
1
1
  The BSD License
2
2
 
3
+ Copyright (c) 2004-2005, George 'tml' Moschovitis.
3
4
  Copyright (c) 2004-2005, Navel Ltd. (http://www.navel.gr)
4
5
  All rights reserved.
5
6
 
data/README.og CHANGED
@@ -1,4 +1,4 @@
1
- = Og 0.9.3
1
+ = Og 0.10.0
2
2
 
3
3
  Nitro integrates the Og (ObjectGraph) object-relational mapping
4
4
  library. Og provides transparent serialization of object graphs to a RDBMS
@@ -14,7 +14,7 @@ Entities.
14
14
 
15
15
  Og is a combination of the best features of Active Record and the
16
16
  former O-R mapping library included in Nitro (NDB). Adapters for
17
- PostgreSQL and MySQL are included.
17
+ PostgreSQL, MySQL and SQLite are included.
18
18
 
19
19
  Og is part of the Nitro project, released as a stand-alone library
20
20
  due to popular demand. You can find the ChangeLog in the Nitro
@@ -27,7 +27,7 @@ The library provides the following features:
27
27
 
28
28
  + Object-Relational mapping.
29
29
  + Absolutely no configuration files.
30
- + Multiple backends (PostgreSQL, MySQL).
30
+ + Multiple backend adapters (PostgreSQL, MySQL, SQLite).
31
31
  + ActiveRecord-style meta language and db aware methods.
32
32
  + Automatially generates join-tables for many_to_many relations.
33
33
  + Deserialize to Ruby Objects or ResultSets.
@@ -39,7 +39,7 @@ The library provides the following features:
39
39
  + Lifecycle callbacks.
40
40
  + Transparent support for cascading deletes for all backends.
41
41
  + Hierarchical structures (preorder traversal, materialized paths)
42
- + Works safely as part of distributed application.
42
+ + Works safely as part of a distributed application.
43
43
  + Automatic Validation/Constraints.
44
44
  + Simple and clean implementation.
45
45
 
@@ -102,7 +102,8 @@ mailto:gm@navel.gr.
102
102
 
103
103
  == Licence
104
104
 
105
- Copyright (c) 2004-2005 Navel Ltd (http://www.navel.gr)
105
+ Copyright (c) 2004-2005, George 'tml' Moschovitis.
106
+ Copyright (c) 2004-2005, Navel Ltd (http://www.navel.gr)
106
107
 
107
108
  Og (http://www.navel.gr/og) is copyrighted free software
108
109
  created and maintained by George Moschovitis (mailto:gm@navel.gr)
@@ -1,3 +1,26 @@
1
+ == Version 0.10.0 was released on 15/02/2005.
2
+
3
+ An important release.
4
+
5
+ Most notable additions:
6
+
7
+ * Improved Og implementation (cleaner code) and new Og
8
+ adapter subsystem.
9
+
10
+ * New SQLite3 Og adapter, improvements in MySQL and PostgreSQL
11
+ adapters (needs version 1.1.0 of Sqlite3-Ruby).
12
+
13
+ * Better GemSpec for easier installation by RubyGems.
14
+
15
+ * Og supports optional typechecking by using property metadata.
16
+
17
+ * and many more smaller fixes.
18
+
19
+ WARNING: If you used an earlier version of Og you
20
+ may need to drop your database and let Og recreated it
21
+ automatically.
22
+
23
+
1
24
  == Version 0.9.3 was released on 01/02/2005.
2
25
 
3
26
  A maintenance release.
data/Rakefile CHANGED
@@ -2,132 +2,142 @@
2
2
  # (c) 2004-2005 Navel, all rights reserved.
3
3
  # $Id$
4
4
 
5
- require "rake"
6
- require "rake/rdoctask"
7
- require "rake/gempackagetask"
8
- require "rake/testtask"
9
- require "rubygems"
5
+ require 'rake/rdoctask'
6
+ require 'rake/testtask'
7
+ require 'rake/gempackagetask'
10
8
 
11
- #project = 'nitro'
12
- project = 'og'
9
+ og = true
13
10
 
14
- # ----------------------------------------------------------------------
15
-
16
- desc "Default Task"
17
11
  task :default => :package
18
12
 
19
- # ----------------------------------------------------------------------
20
-
21
- # Run the tests
13
+ # Run the tests.
22
14
 
23
15
  Rake::TestTask.new do |t|
24
- t.libs << "test"
25
- t.test_files = FileList["test/**/tc*.rb"].exclude("**/tc*og*.rb")
16
+ t.libs << 'test'
17
+ t.test_files = FileList['test/**/tc*.rb'].exclude('**/tc*og*.rb')
26
18
  t.verbose = true
27
19
  end
28
20
 
29
- # Run all tests
21
+ # Run all tests. (including expensive/depended tests)
30
22
 
31
23
  Rake::TestTask.new(:test_all) do |t|
32
- t.libs << "test"
33
- t.test_files = FileList["test/**/tc*.rb"]
24
+ t.libs << 'test'
25
+ t.test_files = FileList['test/**/tc*.rb']
34
26
  t.verbose = true
35
27
  end
36
28
 
37
- # ----------------------------------------------------------------------
29
+ # Generate RDoc documentation.
38
30
 
39
31
  Rake::RDocTask.new do |rd|
40
- rd.main = "README"
41
- rd.rdoc_dir = "rdoc"
42
- rd.rdoc_files.include("README", "lib/**/*.rb")
32
+ rd.main = 'README'
33
+ rd.rdoc_dir = 'rdoc'
34
+ rd.rdoc_files.include('README', 'INSTALL', 'lib/**/*.rb')
35
+ rd.options << '--all --inline-source'
43
36
  end
44
-
45
- # ----------------------------------------------------------------------
46
37
 
47
- if 'nitro' == project
38
+ # Build gem.
39
+
40
+ if og
41
+
42
+ spec = Gem::Specification.new do |s|
43
+ s.name = 'og'
44
+ if File.read('lib/og.rb') =~ /Version\s+=\s+'(\d+\.\d+\.\d+)'/
45
+ s.version = $1
46
+ else
47
+ raise 'No version found'
48
+ end
49
+ s.summary = 'Og (ObjectGraph)'
50
+ s.description = 'An efficient and transparent Object-Relational mapping library'
48
51
 
49
- # Nitro GemSpec
50
- #
51
- require "lib/nitro/version"
52
+ # s.add_dependency 'postgres-pr', '>= 0.3.0'
53
+ # s.add_dependency 'postgres', '>= 0.7.1'
54
+ s.add_dependency 'extensions', '>= 0.5'
55
+ # s.add_dependency 'sqlite3-ruby', '>= 1.0.0'
56
+ #s.add_dependency 'mysql', '>= 2.5.1'
57
+ s.add_dependency 'flexmock', '>= 0.0.3'
58
+
59
+ s.required_ruby_version = '>= 1.8.0'
60
+
61
+ s.files = FileList[
62
+ 'README.og', 'RELEASES.og', 'LICENSE', 'AUTHORS', 'Rakefile', 'ChangeLog*',
63
+ 'install.rb',
64
+ 'examples/og/*', 'lib/glue.rb', 'lib/glue/**/*', 'lib/og/**/*', 'lib/og.rb',
65
+ 'test/*og*.rb', 'test/og/*', 'vendor/extensions/**/*'
66
+ ].exclude('.svn/**/*').exclude('**/*.log').to_a
67
+
68
+ s.require_path = 'lib'
69
+ s.autorequire = 'og'
52
70
 
53
- PKG_VERSION = Nitro::Version
54
- PKG_FILES = FileList[
55
- "[A-Z]*", "{bin,benchmark,etc,ext,examples,doc,lib,test,vendor}/**/*"
56
- # "examples/*.rb"
57
- ].exclude(".svn/**/*").exclude("*.og").exclude("**/*.log")
71
+ s.has_rdoc = true
72
+ s.extra_rdoc_files = FileList['README.og', 'RELEASES.og', 'LICENSE', 'AUTHORS'].to_a
73
+ s.rdoc_options << '--main' << 'README.og' << '--title' << 'Og Documentation'
74
+ s.rdoc_options << '--all' << '--inline-source'
75
+
76
+ s.author = 'George Moschovitis'
77
+ s.email = 'gm@navel.gr'
78
+ s.homepage = 'http://www.rubyforge.com/projects/nitro'
79
+ s.rubyforge_project = 'nitro'
80
+ end
81
+
82
+ else
58
83
 
59
- spec = Gem::Specification.new do |s|
60
- s.name = "nitro"
61
- s.version = PKG_VERSION
62
- s.summary = "Web Engine"
63
- s.description = "An efficient, yet simple engine for Web Applications"
64
- # s.add_dependency("postgres-pr", ">= 0.3.0")
65
- # s.add_dependency("postgres", ">= 0.7.1")
66
- # s.add_dependency("extensions", ">= 0.5")
67
- s.required_ruby_version = ">= 1.8.1"
68
- s.files = PKG_FILES.to_a
69
- s.require_path = "lib"
70
- s.autorequire = "nitro"
71
- s.has_rdoc = true
72
- s.extra_rdoc_files = FileList["[A-Z]*"].exclude("*.og").to_a
73
- s.rdoc_options << "--main" << "README" << "--title" << "Nitro Documentation"
74
- s.test_files = []
75
- s.bindir = "bin"
76
- s.author = "George Moschovitis"
77
- s.email = "gm@navel.gr"
78
- s.homepage = "http://www.navel.gr/nitro"
79
- s.rubyforge_project = "nitro"
84
+ spec = Gem::Specification.new do |s|
85
+ s.name = 'nitro'
86
+ if File.read('lib/nitro.rb') =~ /Version\s+=\s+'(\d+\.\d+\.\d+)'/
87
+ s.version = $1
88
+ else
89
+ raise 'No version found'
80
90
  end
91
+ s.summary = 'Nitro Web Engine'
92
+ s.description =
93
+ 'An efficient, multiparadigm and flexible platform for rapid ' +
94
+ 'web application development. Implements a full development stack ' +
95
+ '(Model, View, Controller).'
96
+
97
+ # s.add_dependency 'postgres-pr', '>= 0.3.0'
98
+ # s.add_dependency 'postgres', '>= 0.7.1'
99
+ s.add_dependency 'extensions', '>= 0.5'
100
+ # s.add_dependency 'sqlite3-ruby', '>= 1.0.0'
101
+ # s.add_dependency 'mysql', '>= 2.5.1'
102
+ s.add_dependency 'flexmock', '>= 0.0.3'
81
103
 
82
- else
104
+ s.required_ruby_version = '>= 1.8.0'
105
+
106
+ s.files = FileList[
107
+ '[A-Z]*', 'install.rb', '{bin,benchmark,examples,doc,lib,test,vendor}/**/*'
108
+ ].exclude('.svn/**/*').exclude('*.og').exclude('**/*.log').to_a
83
109
 
84
- # Og stand-alone GemSpec
85
- #
86
- require "lib/og/version"
110
+ s.require_path = 'lib'
111
+ s.autorequire = 'nitro'
87
112
 
88
- PKG_VERSION = Og::Version
89
- PKG_FILES = FileList[
90
- "README.og", "RELEASES.og", "LICENSE", "AUTHORS", "Rakefile", "ChangeLog*",
91
- "examples/og/*", "lib/glue.rb", "lib/glue/**/*", "lib/og/**/*", "lib/og.rb",
92
- "test/*og*.rb", "test/og/*", "vendor/extensions/**/*"
93
- ].exclude(".svn/**/*").exclude("**/*.log")
113
+ s.has_rdoc = true
114
+ s.extra_rdoc_files = FileList['[A-Z]*'].exclude('*.og').to_a
115
+ s.rdoc_options << '--main' << 'README' << '--title' << 'Nitro Documentation'
116
+ s.rdoc_options << '--all' << '--inline-source'
117
+
118
+ s.test_files = []
94
119
 
95
- spec = Gem::Specification.new do |s|
96
- s.name = 'og'
97
- s.version = PKG_VERSION
98
- s.summary = 'Og (ObjectGraph)'
99
- s.description = 'An efficient and transparent Object-Relational mapping library'
100
- # s.add_dependency("postgres", ">= 0.7.1")
101
- # s.add_dependency("extensions", ">= 0.5")
102
- # s.add_dependency("builder")
103
- s.required_ruby_version = ">= 1.8.1"
104
- s.files = PKG_FILES.to_a
105
- s.require_path = "lib"
106
- s.autorequire = "og"
107
- s.has_rdoc = true
108
- s.extra_rdoc_files = FileList["README.og", "RELEASES.og", "LICENSE", "AUTHORS"].to_a
109
- s.rdoc_options << "--main" << "README.og" << "--title" << "Og Documentation"
110
- s.test_files = []
111
- s.bindir = "bin"
112
- s.author = "George Moschovitis"
113
- s.email = "gm@navel.gr"
114
- s.homepage = "http://www.navel.gr/og"
115
- s.rubyforge_project = "nitro"
116
- end
120
+ s.bindir = 'bin'
121
+ s.executables = ['nitro']
122
+ s.default_executable = 'nitro'
123
+
124
+ s.author = 'George Moschovitis'
125
+ s.email = 'gm@navel.gr'
126
+ s.homepage = 'http://www.rubyforge.com/projects/nitro'
127
+ s.rubyforge_project = 'nitro'
128
+ end
117
129
 
118
130
  end
119
131
 
120
132
  Rake::GemPackageTask.new(spec) do |pkg|
121
- pkg.package_dir = "dist"
133
+ pkg.package_dir = 'dist'
122
134
  pkg.need_zip = true
123
135
  pkg.need_tar = true
124
136
  end
125
137
 
126
- # ----------------------------------------------------------------------
138
+ # Manual install (not recommended).
127
139
 
128
- desc "Install the gem"
129
- task :install => :repackage do
130
- sh "gem install --local --no-rdoc dist/nitro-#{PKG_VERSION}.gem"
140
+ task :install do
141
+ ruby 'install.rb'
131
142
  end
132
143
 
133
- # vim: ft=ruby