G
George Moschovitis
Hello everyone,
new versions of Nitro and Og were just released.
Homepage + Downloads: http://nitro.rubyforge.org
A great release. Many cool new features and tons of subtle
improvements. We also welcome a new core developer, Anastastios
Koutoumanos, who's first contribution is the new SqlServer adapter.
Most notable additions:
* Advanced localization support:
locale_en = {
'See you' => 'See you',
:long_paragraph => 'The best new books, up to 30% reduced price',
rice => 'Price: %d %s',
roc_price => proc { |value, cur| "Price: #{value} #{cur}" }
}
locale_de = {
'See you' => 'Auf wieder sehen',
...
}
lc = Localization.get
lc['See you'] -> See you
lc[rice, 100, 'euro'] -> Price: 100 euro
lc = Localization.get[:de]
lc['See you'] -> Auf wiedersehen
Using the LocalizationShader you can have templates like this:
<h1>[[This is a localized]] String</h1>
<p>
do you [[:like]] this?
</p>
All strings enclosed in [[ ]] are replaced with localized
versions (honouring the session locale). Localization rules can also
be provided with a .yml file. Check out the updated blog example.
* Dynamic/Parametrised mixins. A great extension to Ruby's mixin
feature. The Og::list implementation is replaced with the new
Orderable dynamic mixin, here is an example:
class Comment
property :body, String
belongs_to :article, Article
include Orderable, :scope => article
end
c.move_higher
The Orderable mixin uses the :scope parameter to dynamically alter
the methods appended to the Comment class. This new feature will be
used throughout the platform.
* NestedSets mixin:
class Comment
include NestedSets
end
or
class Comment
include Hierarchical, :method => :nested_sets
end
c.add_comment(child_comment)
c.full_children
c.direct_children
c.children
this is a reimplementation of the SqlTraversable mixin
available in older versions.
* Improved templating system. Now allows <% %> intrerpolators
and provides a number of html morphing effects:
<div if="admin">
admin interface
</div>
<ul>
<li each="u in @users">#{u.first_name} #{u.last_name}
</ul>
and more...
* Og provides an SqlServer adapter out of the box.
* Improved scaffolding code (still a lot more to come).
* Build default environment, introduced nitro and nitrogen
commands to help new users.
* Many, many small improvements and fixes.
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 APY
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.
Og is a combination of the best features of Active Record and the
former O-R mapping library included in Nitro (NDB). 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 great release. Many cool new features and tons of subtle
improvements. We also welcome a new core developer, Anastastios
Koutoumanos, who's first contribution is the new SqlServer adapter.
Most notable additions:
* Advanced localization support:
locale_en = {
'See you' => 'See you',
:long_paragraph => 'The best new books, up to 30% reduced price',
rice => 'Price: %d %s',
roc_price => proc { |value, cur| "Price: #{value} #{cur}" }
}
locale_de = {
'See you' => 'Auf wieder sehen',
...
}
lc = Localization.get
lc['See you'] -> See you
lc[rice, 100, 'euro'] -> Price: 100 euro
lc = Localization.get[:de]
lc['See you'] -> Auf wiedersehen
Using the LocalizationShader you can have templates like this:
<h1>[[This is a localized]] String</h1>
<p>
do you [[:like]] this?
</p>
All strings enclosed in [[ ]] are replaced with localized
versions (honouring the session locale). Localization rules can also
be provided with a .yml file. Check out the updated blog example.
* Dynamic/Parametrised mixins. A great extension to Ruby's mixin
feature. The Og::list implementation is replaced with the new
Orderable dynamic mixin, here is an example:
class Comment
property :body, String
belongs_to :article, Article
include Orderable, :scope => article
end
c.move_higher
The Orderable mixin uses the :scope parameter to dynamically alter
the methods appended to the Comment class. This new feature will be
used throughout the platform.
* NestedSets mixin:
class Comment
include NestedSets
end
or
class Comment
include Hierarchical, :method => :nested_sets
end
c.add_comment(child_comment)
c.full_children
c.direct_children
c.children
this is a reimplementation of the SqlTraversable mixin
available in older versions.
* Improved templating system. Now allows <% %> intrerpolators
and provides a number of html morphing effects:
<div if="admin">
admin interface
</div>
<ul>
<li each="u in @users">#{u.first_name} #{u.last_name}
</ul>
and more...
* Og provides an SqlServer adapter out of the box.
* Improved scaffolding code (still a lot more to come).
* Build default environment, introduced nitro and nitrogen
commands to help new users.
* Many, many small improvements and fixes.
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 APY
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.
Og is a combination of the best features of Active Record and the
former O-R mapping library included in Nitro (NDB). 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