og 0.9.5 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
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