[ANN] Nitro + Og 0.22.0 Og reverse mode, Og Fixtures and test support, Incoming email

  • Thread starter George Moschovitis
  • Start date
G

George Moschovitis

Hello everyone,

New versions of Nitro (Web Application Framework) and Og (Object
Relational Mapping) were released:

Homepage: http://www.nitrohq.com
Download: http://rubyforge.org/projects/ nitro
Mailing List: http://rubyforge.org/mailman/listinfo/nitro-general

A snapshot of the latest developments. Many requested features
where implemented, and many reported bugs fixed.

* The much requested Og 'reverse mode' is implemented. Og's
domain specific language and API is extended to allow fine-grained
customization of the schema-to-objects mapping. Og can now handle
most of the legacy schemas you can throw at it. Here is an
example:

class User
property :name, String, :field => :thename, :uniq => true
property :password, String
property :age, Fixnum, :field => :age3
has_many Comment, :foreign_field => :user
set_table :my_users
set_primary_key :name, String
end

class Comment
property :cid, Fixnum
property :body, String
belongs_to User, :field => :user
set_table :my_comments
set_primary_key :cid
end

As you can see, even relation fields can be customized. For
higher level customization you can overload methods like #table,
#field_for_property etc.

* Og now handles multiple connections to multiple stores even
in thread safe mode. This means you can now have objects serialized
in different RDBM systems in the same application. Or you can have
some objects managed by an RDBMS store and others by a FAST
in-memory store. You can still have relations between objects in
different stores. An example:

mysql = Og.setup:)store => :mysql, ..)
psql = Og.setup:)store => :psql, ..)

class User
has_many Comment
end

class Comment
belongs_to User
end

mysql.manage_class User
psql.manage_class Comment

user.comments << comment

* Greatly improved support for testing and test-driven-development.
A reworked testing infrastructure for controllers is in place.
Moreover, support for Og fixtures and automatic test database
setup is provided. Fixtures can be defined with yml or csv files.

For an example of the testing infrastructure check out the
Spark 0.4.0 sources. Spark is a Wiki powered by Nitro.

* Reworked mailer implementation. The new mailer allows for
incoming email handling. Here is an example:

class Mailman < Glue::Mailer
def receive(mail)
article = Article.new(mail.subject, mail.body)
article.category = Category.find_by_name(mail.to.split('@').first)
article.save
end
end

* Added script/runner in proto as a convenience to running
ruby code in your application environment.

* Many fixes in the caching infrastructure.

* Many fixes in the XMLRPC service infrastructure.

* Many smaller changes and new features that make
development with Nitro so much more pleasurable.


Nitro provides everything you need to develop professional Web
applications using Ruby and Javascript.

Nitro redefines Rapid Application Development by providing a
clean, yet efficient API, a layer of domain specific languages
implemented on top of Ruby and the most powerful and elegant
object relational mapping solution available everywhere.

have fun,
George Moschovitis
http://www.gmosx.com
 
F

Franz Hartmann

hi george,

nice to here about your projects. has ilias lazaridis contributed anything
recently? i think i remember he was very interested but a bit clueless, if
you ask me.

franz
From: "George Moschovitis" <[email protected]>
Reply-To: (e-mail address removed)
To: (e-mail address removed) (ruby-talk ML)
Subject: [ANN] Nitro + Og 0.22.0 Og reverse mode, Og Fixtures and test
support, Incoming email
Date: Mon, 8 Aug 2005 03:56:09 +0900

Hello everyone,

New versions of Nitro (Web Application Framework) and Og (Object
Relational Mapping) were released:

Homepage: http://www.nitrohq.com
Download: http://rubyforge.org/projects/ nitro
Mailing List: http://rubyforge.org/mailman/listinfo/nitro-general

A snapshot of the latest developments. Many requested features
where implemented, and many reported bugs fixed.

* The much requested Og 'reverse mode' is implemented. Og's
domain specific language and API is extended to allow fine-grained
customization of the schema-to-objects mapping. Og can now handle
most of the legacy schemas you can throw at it. Here is an
example:

class User
property :name, String, :field => :thename, :uniq => true
property :password, String
property :age, Fixnum, :field => :age3
has_many Comment, :foreign_field => :user
set_table :my_users
set_primary_key :name, String
end

class Comment
property :cid, Fixnum
property :body, String
belongs_to User, :field => :user
set_table :my_comments
set_primary_key :cid
end

As you can see, even relation fields can be customized. For
higher level customization you can overload methods like #table,
#field_for_property etc.

* Og now handles multiple connections to multiple stores even
in thread safe mode. This means you can now have objects serialized
in different RDBM systems in the same application. Or you can have
some objects managed by an RDBMS store and others by a FAST
in-memory store. You can still have relations between objects in
different stores. An example:

mysql = Og.setup:)store => :mysql, ..)
psql = Og.setup:)store => :psql, ..)

class User
has_many Comment
end

class Comment
belongs_to User
end

mysql.manage_class User
psql.manage_class Comment

user.comments << comment

* Greatly improved support for testing and test-driven-development.
A reworked testing infrastructure for controllers is in place.
Moreover, support for Og fixtures and automatic test database
setup is provided. Fixtures can be defined with yml or csv files.

For an example of the testing infrastructure check out the
Spark 0.4.0 sources. Spark is a Wiki powered by Nitro.

* Reworked mailer implementation. The new mailer allows for
incoming email handling. Here is an example:

class Mailman < Glue::Mailer
def receive(mail)
article = Article.new(mail.subject, mail.body)
article.category = Category.find_by_name(mail.to.split('@').first)
article.save
end
end

* Added script/runner in proto as a convenience to running
ruby code in your application environment.

* Many fixes in the caching infrastructure.

* Many fixes in the XMLRPC service infrastructure.

* Many smaller changes and new features that make
development with Nitro so much more pleasurable.


Nitro provides everything you need to develop professional Web
applications using Ruby and Javascript.

Nitro redefines Rapid Application Development by providing a
clean, yet efficient API, a layer of domain specific languages
implemented on top of Ruby and the most powerful and elegant
object relational mapping solution available everywhere.

have fun,
George Moschovitis
http://www.gmosx.com

_________________________________________________________________
Die neue MSN Suche Toolbar mit Windows-Desktopsuche. Suchen Sie gleichzeitig
im Web, Ihren E-Mails und auf Ihrem PC! Jetzt neu! http://desktop.msn.de/
Jetzt gratis downloaden!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,044
Latest member
RonaldNen

Latest Threads

Top