Nitro + Og 0.25.0 Og scope, dynamic finders, evolution, help


#1

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

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 => ‘age > 2’) {
    users = User.all
    }

    Users.articles.find “title LIKE %t%” # => 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 = true and evolve_schema_cautious = 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:

  • 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 = 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?

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 M.


#2

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.

On 11/17/05, George M. removed_email_address@domain.invalid wrote:

  • Support for constrained / scoped queries in Og, here are
include Og::Taggable include Nitro::JavascriptHelper


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

Jeff W.


#3

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.


#4

George M. wrote:

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


#5

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

j.

On 11/17/05, Jeff W. removed_email_address@domain.invalid wrote:

j.

irc: irc.freenode.net http://irc.freenode.net #nitro
Most notable changes:

  • Dynamic auto generators, you can now query the database in
  • During run-time, if the file containing Og.setup is touched,

instead of

t = Tag.find_by_name(‘new’)

clean, yet efficient API, a layer of domain specific languages

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

Jeff W.


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

Jeff W.