G
George Moschovitis
Hello everyone,
new versions of Nitro and Og were just released.
Homepage + Downloads: http://nitro.rubyforge.org
A snapshot of the latest developments. Many, many subtle improvements,
new features and a major cleanup of the source code. Thanks to James
Britt for significantly contributing to this release.
Most notable attitions:
* Aspect Oriented Programming support. This new system is used to
reimplement features such as Controller filters, Og callbacks and Og
observers. By using this unified system you can now add Observers to
controllers and use a metalanguage for wraping Og object callbacks:
class Controller
pre :force_login, :where => repend
wrap Benchmark, n => :index
post :taraa, n => login
end
module Timestamped
pre n => g_insert { |this| this.create_time = Time.now }
pre n => g_update { |this| this.update_time = Time.now }
pre n => [g_insert, g_update] { |this| this.create_time =
Time.now }
end
This feature will be used extensivelly in a future version to improve
logging, the shaders and more.
* Added support for Test Driven Development. Many helpers and utility
methods are added to the standard TestCase class, more will come in a
future version:
handle(
'/login',
request = { 'password' => Blog.password }
)
assert_redirect
assert_session_hasowner)
assert_session_equalusername, 'George Moschovitis')
assert_has_cookie('nauth')
assert_has_no_cookie('wow')
assert_cookie_equal('nauth', 'just an example, not used ')
* CGI adapter (by James Britt)
* Major cleanup of the source. Converted the N namespace to Nitro, to
be more compatible with other Ruby projects.
* Add Og Timestamped mixin.
* Og improvements.
* Improved runner helper.
* Improved reloading support.
* Improved the Gem installation process.
* Fixed all reported bugs.
Nitro is an efficient, yet simple engine for developing professional
Web Applications using the Ruby language. Nitro aims to provide a
robust infrastructure for scalable web applications that can be
distributed over a server cluster. However, Nitro can also power simple
web applications for deployment on intranets or even personal
computers. Nitro integrates the powerful Og Object-Relational mapping
library.
Nitro is a multiparadigm application framework and will integrate ideas
from Rails, Wee, PHP, JSP and .NET
Nitro integrates the Og (ObjectGraph) object-relational mapping
library. Og provides transparent serialization of object graphs to an
RDBMS backend. Unlike other similar libraries Og maps standard Ruby
objects to SQL tables and not vice versa. Og provides a meta language
to describe the relations between objects, a flexible and intuitive API
for querying the database, raw access to the SQL language if needed
(for example to fine tune the automatically generated SQL tables, or
for custom queries), suports deserialization to Ruby objects or tuples,
automatically generates join tables for many_to_many relations and
provides a collection of usefull Mixins to synthesize common Entities.
Adapters for PostgreSQL, MySQL, SQLite and Oracle are included.
I hope this software will be useful for you, and I would love to
receive your suggestions, ideas and bug reports.
have fun,
George Moschovitis
new versions of Nitro and Og were just released.
Homepage + Downloads: http://nitro.rubyforge.org
A snapshot of the latest developments. Many, many subtle improvements,
new features and a major cleanup of the source code. Thanks to James
Britt for significantly contributing to this release.
Most notable attitions:
* Aspect Oriented Programming support. This new system is used to
reimplement features such as Controller filters, Og callbacks and Og
observers. By using this unified system you can now add Observers to
controllers and use a metalanguage for wraping Og object callbacks:
class Controller
pre :force_login, :where => repend
wrap Benchmark, n => :index
post :taraa, n => login
end
module Timestamped
pre n => g_insert { |this| this.create_time = Time.now }
pre n => g_update { |this| this.update_time = Time.now }
pre n => [g_insert, g_update] { |this| this.create_time =
Time.now }
end
This feature will be used extensivelly in a future version to improve
logging, the shaders and more.
* Added support for Test Driven Development. Many helpers and utility
methods are added to the standard TestCase class, more will come in a
future version:
handle(
'/login',
request = { 'password' => Blog.password }
)
assert_redirect
assert_session_hasowner)
assert_session_equalusername, 'George Moschovitis')
assert_has_cookie('nauth')
assert_has_no_cookie('wow')
assert_cookie_equal('nauth', 'just an example, not used ')
* CGI adapter (by James Britt)
* Major cleanup of the source. Converted the N namespace to Nitro, to
be more compatible with other Ruby projects.
* Add Og Timestamped mixin.
* Og improvements.
* Improved runner helper.
* Improved reloading support.
* Improved the Gem installation process.
* Fixed all reported bugs.
Nitro is an efficient, yet simple engine for developing professional
Web Applications using the Ruby language. Nitro aims to provide a
robust infrastructure for scalable web applications that can be
distributed over a server cluster. However, Nitro can also power simple
web applications for deployment on intranets or even personal
computers. Nitro integrates the powerful Og Object-Relational mapping
library.
Nitro is a multiparadigm application framework and will integrate ideas
from Rails, Wee, PHP, JSP and .NET
Nitro integrates the Og (ObjectGraph) object-relational mapping
library. Og provides transparent serialization of object graphs to an
RDBMS backend. Unlike other similar libraries Og maps standard Ruby
objects to SQL tables and not vice versa. Og provides a meta language
to describe the relations between objects, a flexible and intuitive API
for querying the database, raw access to the SQL language if needed
(for example to fine tune the automatically generated SQL tables, or
for custom queries), suports deserialization to Ruby objects or tuples,
automatically generates join tables for many_to_many relations and
provides a collection of usefull Mixins to synthesize common Entities.
Adapters for PostgreSQL, MySQL, SQLite and Oracle are included.
I hope this software will be useful for you, and I would love to
receive your suggestions, ideas and bug reports.
have fun,
George Moschovitis