I'm new to Ruby and Rails, and I'm learning at the same time I'm reading
books and following some threads on the web, and of course,
experimenting ...
What's the meaning of this: ?
···
--------------------------------------
session[:auth] ? yield : (
session[:intended_action] = action_name
session[:intended_controller] = controller_name
flash[:notice] = 'You need to be logged in to access this panel'
session_update_time
all_ok = 0
render(:template => 'login/index'))
so ? : is normally called the trinary operator, and is common to a
bunch of languages (C, Ruby, Javascript, etc ad nauseum).
In ruby,
a?b:c
is shorthand for
if a
b
else
c
end
( not so much in C, since if statements don't have values in C )
So session[:auth] ? yield : ( ... ) either yields to a block passed by
the calling function, or executes the code defined in (...), depending
on whether session[:auth] is truish (not false or nil).
···
On Dec 3, 1:56 pm, Raimon Fs <co...@montx.com> wrote:
Hello,
I'm new to Ruby and Rails, and I'm learning at the same time I'm reading
books and following some threads on the web, and of course,
experimenting ...
What's the meaning of this: ?
--------------------------------------
session[:auth] ? yield : (
session[:intended_action] = action_name
session[:intended_controller] = controller_name
flash[:notice] = 'You need to be logged in to access this panel'
session_update_time
all_ok = 0
render(:template => 'login/index'))