Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
[ANN] widgetz.rb
ara.t.howard
7/18/2007 7:40:00 AM
NAME
widgetz.rb
SYNOPSIS
simple widgets for rails
INSTALL
gem install widgetz
URIS
http://rubyforge.org/projects/code...
http://codeforpeople.com/lib/rub...
http://drawohara.tumblr.com/po...
DESCRIPTION
widgetz.rb aims to fix two problems with factoring and abstracting
html
generation in rails using the normal 'helper' methodolgy:
1) helper methods are purely procedural and provide no state.
ruby is an
object oriented language and we like to use objects to abstract
things
where possible. widgetz lets you do just that. some people
call this
encapsulation.
2) by using the normal rendering chain in rails, widgetz makes
sure you
get a nice stack stace from the location in the widgetz template
where
you used ruby's power blow your leg off instead of some esoteric
message
from an anonymous module you barely knew.
widgetz are essentailly bags of data that use a controller to render
themselves. all the state of the widget is made available in the
view as
local variables, while the normal @variables set in a controller
remain
visible as normal. one special local variable, 'widget', is set
in the view's
local vars so you have a handle on the widget in order to use it
for some evil
purpose.
SAMPLE
#
# app/controllers/sample_controller.rb
#
def c
@var = 42
@c = widget 'c'
render :layout => 'application', :inline => <<-rhtml
var: <%= @var %>
<hr>
<%= @c %>
rhtml
end
#
# lib/widgets/c.rb
#
Widget 'c' do
attribute 'var' => 'forty-two'
def answer
42.0
end
end
#
# app/views/widgets/c.rhtml
#
controller var : <%= @var %> <br>
widget var : <%= var %> <br>
widget method : <%= widget.answer %> <br>
#
# output
#
var: 42
----------------------
controller var : 42
widget var : forty-two
widget method : 42.0
DOCS
lib/*
sample/rails/*
AUTHOR
a @
http://draw...
enjoy
-a
--
we can deny everything, except that we have the possibility of being
better. simply reflect on that.
h.h. the 14th dalai lama
1 Answer
ara.t.howard
7/18/2007 7:48:00 AM
0
(formatting fix - sorry!)
NAME
widgetz.rb
SYNOPSIS
simple widgets for rails
INSTALL
gem install widgetz
URIS
http://rubyforge.org/projects/code...
http://codeforpeople.com/lib/rub...
http://drawohara.tumblr.com/po...
DESCRIPTION
widgetz.rb aims to fix two problems with factoring and abstracting
html generation in rails using the normal 'helper' methodolgy:
1) helper methods are purely procedural and provide no state.
ruby is an object oriented language and we like to use objects to
abstract things where possible. widgetz lets you do just that. some
people call this encapsulation.
2) by using the normal rendering chain in rails, widgetz makes
sure you get a nice stack stace from the location in the widgetz
template where you used ruby's power blow your leg off instead of
some esoteric message from an anonymous module you barely knew.
widgetz are essentailly bags of data that use a controller to
render themselves. all the state of the widget is made available in
the view as local variables, while the normal @variables set in a
controller remain visible as normal. one special local variable,
'widget', is set in the view's local vars so you have a handle on the
widget in order to use it for some evil purpose.
SAMPLE
#
# app/controllers/sample_controller.rb
#
def c
@var = 42
@c = widget 'c'
render :layout => 'application', :inline => <<-rhtml
var: <%= @var %>
<hr>
<%= @c %>
rhtml
end
#
# lib/widgets/c.rb
#
Widget 'c' do
attribute 'var' => 'forty-two'
def answer
42.0
end
end
#
# app/views/widgets/c.rhtml
#
controller var : <%= @var %> <br>
widget var : <%= var %> <br>
widget method : <%= widget.answer %> <br>
#
# output
#
var: 42
----------------------
controller var : 42
widget var : forty-two
widget method : 42.0
DOCS
lib/*
sample/rails/*
AUTHOR
a @
http://draw...
-a
--
we can deny everything, except that we have the possibility of being
better. simply reflect on that.
h.h. the 14th dalai lama
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
[ANN] widgetz.rb
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password