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 :javascript
class Client
# Actions defined here are executed as javescript in the
# browser.
def clear_me
hide :hide_me
end
def grab
ajax_upadate ...
end
end
end
in the template:
<div id="hide_me">...</div>
<a client="clear_me">clear</a>
the 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:
<!-- make a div draggable -->
<div id="hello" draggable="true">Drag me</div>
<!-- autocomplete a text field -->
<input type="text" name="tags" auto_complete="true" />
in the controller:
def tags_auto_complete
%{
<ul>
<li>navel</li>
<li>nitro</li>
<li>sexy</li>
</ul>
}
end
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' }
end
# the upload action
def upload
photo = Photo.assign(request)
photo.save
end
This saves the photo, and creates 2 thumbnails. You can easily
access the photo and thumbnails like this:
<img src="#{photo.file_medium_thumbnail}" />
<img src="#{photo.file_small_thumbnail}" />
ie obj.{propertyname}_#{thumbname}_thumbnail
* Og live collections support accumulation. Here is an example:
class Category
has_many :projects
end
class Project
has_many :clients
end
class Client
end
clients = 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 Moschovitis
--
http://www.nitrohq.com
http://www.gmosx.com
http://www.navel.gr
Amazing. Keep up the good work George!
--
John Long
http://wiseheartdesign.com
Ehm, I don't deserve all the credit.
The latest Nitro/Og releases are a real community effort ;-)
-g.
--
http://www.gmosx.com
http://www.navel.gr
http://www.nitrohq.com
But what about methods defined on Og collections e.g. #size? What would
category.projects.size
do? If size was defined as a property on Project as well?
Thanks.
Whats new:
Most notable changes:
in the template:
...
clear
the 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 me
[input]
in the controller:
def tags_auto_complete
%{
navel
nitro
sexy
}
end
# the upload action
class Client
end
clients = category.projects.clients
have fun,
George Moschovitis
---------------------------------
Yahoo! Photos
Ring in the New Year with Photo Calendars. Add photos, events, holidays, whatever.
Hello, I know that www.motionpath.co.uk have released a number of
e-store applications powered by Nitro/Og. Moreover, you can use some
Ruby bindings for payment gateways with Nitro. Have a look at
rubyforge.org for more details.
perhaps you could keep an eye on the site? it seems to be DEAD most of
the time?
--
Posted via http://www.ruby-forum.com/.