Dear devs,
new versions of Nitro and Og where just released
homepage: http://www.nitrohq.com
install: gem install nitro
download: http://rubyforge.org/projects/nitro/
irc: irc.freenode.net #nitro
mailing list: http://rubyforge.org/pipermail/nitro-general/
Whats new:
Once again we have a great mix of cool new features, along
with bugfixes and a myriad of smaller improvements. Go and
download the most advanced Ruby Web/ORM Framework you can find.
Most notable changes:
-
Added groundbreaking client side action/scripting support:
class FlickrDemo < Nitro::Controller
helper :javascriptclass Client
# Actions defined here are executed as javescript in the
# browser.
def clear_me
hide :hide_me
enddef grab ajax_upadate ... end
end
endin the template:
...clearthe client element is converted to a javascript call that
executes the code in the client action. A domain specific
language is provided for the client action to implement stuff
like ajax async updates, scriptaculous visual fx and more. -
A collection of morphers to work along with client actions.
Here are some examples:Drag mein the controller:
def tags_auto_complete
%{- navel
- nitro
- sexy
More stuff is coming in future versions.
-
Greatly imporoved the Elements system. The ElementMixin module
is auto-injected if missing. Nitro automatically transforms
xhtml template files in the Element.template_root into
Element classes for even better separation of code and design.
A simple Rails style layout helper is implememnted on top of
the general and powerful Elements mechanism for people familiar
with Rails. -
New WebFile system. Uploading files and handling photos was
never easier:class Photo
is Timestamped
is Taggable
property :title, String
property :file, WebFile, :magick => { :small => ‘64x64’, :medium
=> ‘128x128’ }
endthe upload action
def upload
photo = Photo.assign(request)
photo.save
endThis saves the photo, and creates 2 thumbnails. You can easily
access the photo and thumbnails like this:
ie obj.{propertyname}_#{thumbname}_thumbnail
-
Og live collections support accumulation. Here is an example:
class Category
has_many :projects
endclass Project
has_many :clients
endclass Client
endclients = category.projects.clients
=> returns all clients for this category!
-
Improved TableHelper, better configurability, more skinnable,
sorting support and more. -
Added some intelligent auto-discovery features to minimize the
setup code. For example helpers are automatically loaded, and
the template_root is auto-discovered. -
Optimized the autoreloading system to only reload the dirty
files. In fact the new autoreloading system is so efficient
that it is enables by default even in live/production mode. -
Added Flickr, a great new example that shows off the new
javascript integration and AJAX features of Nitro. -
Added Gallery example to demonstrate the new WebFile
functionality. -
Improved the generated RDOC comments.
-
Fixes in CGI adapter.
-
Added evolution support to the KirbyBase adapter.
-
Updated to scriptaculous 1.5.1
-
Scaffolding - auto admin interface improvements.
-
Added setup.rb for non-gem installation (experimental).
-
Added ACGI adapter (experimental).
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 M.