G
George Moschovitis
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 :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=3D"hide_me">...</div>
<a client=3D"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=3D"hello" draggable=3D"true">Drag me</div>
<!-- autocomplete a text field -->
<input type=3D"text" name=3D"tags" auto_complete=3D"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 =3D> { :small =3D> '64x64', :medium
=3D> '128x128' }
end
# the upload action
def upload
photo =3D 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=3D"#{photo.file_medium_thumbnail}" />
<img src=3D"#{photo.file_small_thumbnail}" />
ie obj.{propertyname}_#{thumbname}_thumbnail
* Og live collections support accumulation. Here is an example:
class Category
has_many rojects
end
class Project
has_many :clients
end
class Client
end
clients =3D category.projects.clients
# =3D> 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
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=3D"hide_me">...</div>
<a client=3D"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=3D"hello" draggable=3D"true">Drag me</div>
<!-- autocomplete a text field -->
<input type=3D"text" name=3D"tags" auto_complete=3D"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 =3D> { :small =3D> '64x64', :medium
=3D> '128x128' }
end
# the upload action
def upload
photo =3D 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=3D"#{photo.file_medium_thumbnail}" />
<img src=3D"#{photo.file_small_thumbnail}" />
ie obj.{propertyname}_#{thumbname}_thumbnail
* Og live collections support accumulation. Here is an example:
class Category
has_many rojects
end
class Project
has_many :clients
end
class Client
end
clients =3D category.projects.clients
# =3D> 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