Nitro + Og 0.25.0 Og scope, dynamic finders, evolution, helpers, bug fixes

G

George Moschovitis

Dear devs,

I am pleased to announce new versions of Nitro and Og

homepage: http://www.nitrohq.com
download: http://rubyforge.org/projects/nitro/
mailing list: http://rubyforge.org/mailman/listinfo/nitro-general
irc: irc.freenode.net #nitro


What new
=3D=3D=3D=3D=3D=3D=3D

This is the first in a series of releases focused on stability
and refinement. Many bugs where fixed, the high level api was
improved where needed, and we still got some small but incredibly
useful new features. Enjoy!

Most notable changes:

* Support for constrained / scoped queries in Og, here are
some examples:

User.with_scope:)condition =3D> 'age > 2') {
users =3D User.all
}

Users.articles.find "title LIKE %t%" # =3D> constrain i users articles.

* Dynamic auto generators, you can now query the database in
English:

User.find_by_name_and_age('gmosx', 'age')
User.find_or_create_by_name_and_age(...)

* Added experimental version of a new schema evolution system. Assuming
evolve_schema =3D true and evolve_schema_cautious =3D false

* With this patch, on application startup, fields are added and deleted.
* During run-time, if the file containing Og.setup is touched,
fields are added.
* Fields are _not_ deleted during run-time, only at application startup.

a the moment this works only in the PostgreSQL store, support for more
stores is coming in the next versions. Thanks to Rob Pitt and Bryan Sotto
for this feature.

* Template morphing now handles nested elements, an example:

<div if=3D"@user.admin?">
<ul>
<li each=3D"role in @user.roles" />
</ul>
</div>

* Added some useful helpers to make the code you write cleaner,
here are some examples:

class Article
is Taggable

instead of

class Article
include Og::Taggable

or

class MainController
helper :pager, :javascript, :sitemap

instead of

class MainController
include Nitro::pagerHelper
include Nitro::JavascriptHelper
...

and stuff like that...

* New, improved, clean taggable implementation. This new implementation
supports polymorphism.

class Article
is Taggable
end

class Photo
is Taggable
end

...

t =3D Tag.find_by_name('new')
t.articles
t.photos

* Added useful StaticInclude as a separate compiler module to act
as the first stage in the compilation pipeline.

* Integrated latest versions of Prototype, Scriptaculous, KirbyBase
and facets.

* General code cleanup and refactoring.

* Many, many bug fixes, including security fixes.


What is Nitro?
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

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.

Nitro is Web 2.0 ready, featuring excellent support for AJAX,
XML, Syndication while staying standards compliant.



Enjoy,
George Moschovitis
 
J

Jeff Wood

------=_Part_30097_5819032.1132226220489
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Heya George,

Congrats on the new version.

I've been looking around, is Nitro currently compatible with postres-pr (
the pure ruby postgres client library ) ???

I'm hopin' ... Let me know.

j.

Dear devs,

I am pleased to announce new versions of Nitro and Og

homepage: http://www.nitrohq.com
download: http://rubyforge.org/projects/nitro/
mailing list: http://rubyforge.org/mailman/listinfo/nitro-general
irc: irc.freenode.net <http://irc.freenode.net> #nitro


What new
=3D=3D=3D=3D=3D=3D=3D

This is the first in a series of releases focused on stability
and refinement. Many bugs where fixed, the high level api was
improved where needed, and we still got some small but incredibly
useful new features. Enjoy!

Most notable changes:

* Support for constrained / scoped queries in Og, here are
some examples:

User.with_scope:)condition =3D> 'age > 2') {
users =3D User.all
}

Users.articles.find "title LIKE %t%" # =3D> constrain i users articles.

* Dynamic auto generators, you can now query the database in
English:

User.find_by_name_and_age('gmosx', 'age')
User.find_or_create_by_name_and_age(...)

* Added experimental version of a new schema evolution system. Assuming
evolve_schema =3D true and evolve_schema_cautious =3D false

* With this patch, on application startup, fields are added and deleted.
* During run-time, if the file containing Og.setup is touched,
fields are added.
* Fields are _not_ deleted during run-time, only at application startup.

a the moment this works only in the PostgreSQL store, support for more
stores is coming in the next versions. Thanks to Rob Pitt and Bryan Sotto
for this feature.

* Template morphing now handles nested elements, an example:

<div if=3D"@user.admin?">
<ul>
<li each=3D"role in @user.roles" />
</ul>
</div>

* Added some useful helpers to make the code you write cleaner,
here are some examples:

class Article
is Taggable

instead of

class Article
include Og::Taggable

or

class MainController
helper :pager, :javascript, :sitemap

instead of

class MainController
include Nitro::pagerHelper
include Nitro::JavascriptHelper
...

and stuff like that...

* New, improved, clean taggable implementation. This new implementation
supports polymorphism.

class Article
is Taggable
end

class Photo
is Taggable
end

...

t =3D Tag.find_by_name('new')
t.articles
t.photos

* Added useful StaticInclude as a separate compiler module to act
as the first stage in the compilation pipeline.

* Integrated latest versions of Prototype, Scriptaculous, KirbyBase
and facets.

* General code cleanup and refactoring.

* Many, many bug fixes, including security fixes.


What is Nitro?
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

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.

Nitro is Web 2.0 ready, featuring excellent support for AJAX,
XML, Syndication while staying standards compliant.



Enjoy,
George Moschovitis


--
"Remember. Understand. Believe. Yield! -> http://ruby-lang.org"

Jeff Wood

------=_Part_30097_5819032.1132226220489--
 
J

Jeff Wood

------=_Part_30213_5531455.1132226772835
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

uh, I meant Postgres-pr ... sorry for the typo.

j.
 
G

George Moschovitis

I've been looking around, is Nitro currently compatible with postres-pr (
the pure ruby postgres client library ) ???

Yes it is (though I haven't tested this lately...

-g.
 
J

James Britt

George said:
Dear devs,

I am pleased to announce new versions of Nitro and Og

homepage: http://www.nitrohq.com
download: http://rubyforge.org/projects/nitro/
mailing list: http://rubyforge.org/mailman/listinfo/nitro-general
irc: irc.freenode.net #nitro

Great news, George!

I've been looking forward to this.

James

--

http://www.ruby-doc.org - Ruby Help & Documentation
http://www.artima.com/rubycs/ - Ruby Code & Style: Writers wanted
http://www.rubystuff.com - The Ruby Store for Ruby Stuff
http://www.jamesbritt.com - Playing with Better Toys
http://www.30secondrule.com - Building Better Tools
 

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,731
Messages
2,569,432
Members
44,832
Latest member
GlennSmall

Latest Threads

Top