Getting (var = false) to return true?

In Rails (it's more of a Ruby question though :wink: ), I have:

def before_update
聽聽@var = get_old_var_value
end

and if get_old_var_value returns a false value it causes the update to
cancel. Is there some function that'll return true after setting the
var? Something like, oh I dunno, set_var(:var, get_old_var_value).
Rails' write_attribute also seems to return the value of the var (so
false causes problems with it too). I know I can just simply do this:

def before_update
聽聽@var = get_old_var_value
聽聽true
end

But I'm just curious if there are other approaches.

Thanks,
Joe

路路路

--
Posted via http://www.ruby-forum.com/.

def before_update
   @var = get_old_var_value || true
end

This returns get_old_var_value if it's not false (or nil) or true
otherwise. Is that what you need?

Farrel

路路路

On 27/10/06, Joe Ruby MUDCRAP-CE <joeat303@yahoo.com> wrote:

In Rails (it's more of a Ruby question though :wink: ), I have:

def before_update
  @var = get_old_var_value
end

and if get_old_var_value returns a false value it causes the update to
cancel. Is there some function that'll return true after setting the
var? Something like, oh I dunno, set_var(:var, get_old_var_value).
Rails' write_attribute also seems to return the value of the var (so
false causes problems with it too). I know I can just simply do this:

def before_update
  @var = get_old_var_value
  true
end

But I'm just curious if there are other approaches.

Thanks,
Joe

--
Posted via http://www.ruby-forum.com/\.

Whoops there's a syntax error in my solution. You want
(@var = get_old_var_value) || true
otherwise you risk setting @var to true when get_old_var is false.

Farrel

路路路

On 27/10/06, Farrel Lifson <farrel.lifson@gmail.com> wrote:

On 27/10/06, Joe Ruby MUDCRAP-CE <joeat303@yahoo.com> wrote:
> In Rails (it's more of a Ruby question though :wink: ), I have:
>
> def before_update
> @var = get_old_var_value
> end
>
> and if get_old_var_value returns a false value it causes the update to
> cancel. Is there some function that'll return true after setting the
> var? Something like, oh I dunno, set_var(:var, get_old_var_value).
> Rails' write_attribute also seems to return the value of the var (so
> false causes problems with it too). I know I can just simply do this:
>
> def before_update
> @var = get_old_var_value
> true
> end
>
> But I'm just curious if there are other approaches.
>
> Thanks,
> Joe
>
> --
> Posted via http://www.ruby-forum.com/\.

def before_update
   @var = get_old_var_value || true
end

This returns get_old_var_value if it's not false (or nil) or true
otherwise. Is that what you need?

Farrel

Farrel Lifson wrote:

路路路

On 27/10/06, Joe Ruby MUDCRAP-CE <joeat303@yahoo.com> wrote:

false causes problems with it too). I know I can just simply do this:

--
Posted via http://www.ruby-forum.com/\.

def before_update
   @var = get_old_var_value || true
end

This returns get_old_var_value if it's not false (or nil) or true
otherwise. Is that what you need?

Farrel

Nah, I need the value returned from the function to always be true. Hmm,
maybe this will work:

def before_update
  (@var = get_old_var_value) || true
end

Joe

--
Posted via http://www.ruby-forum.com/\.

Nah, I need the value returned from the function to always be true. Hmm,
maybe this will work:

Ruby considers any object that is not false or nil to be true.

Joe Ruby MUDCRAP-CE wrote:

  (@var = get_old_var_value) || true

Err... why is that better than
     @var = get_old_var_value; true
?

Devin

Joe Ruby MUDCRAP-CE wrote:

Farrel Lifson wrote:

false causes problems with it too). I know I can just simply do this:

--
Posted via http://www.ruby-forum.com/\.

def before_update
   @var = get_old_var_value || true
end

This returns get_old_var_value if it's not false (or nil) or true
otherwise. Is that what you need?

Farrel

Nah, I need the value returned from the function to always be true. Hmm, maybe this will work:

def before_update
  (@var = get_old_var_value) || true
end

In that case the code is too complicated. Rather use

def before_update
   @var = get_old_var_value
   true
end

There is no point in having "||" or "or" here.

  robert

路路路

On 27/10/06, Joe Ruby MUDCRAP-CE <joeat303@yahoo.com> wrote:

Farrel Lifson wrote:

Nah, I need the value returned from the function to always be true. Hmm,
maybe this will work:

Ruby considers any object that is not false or nil to be true.

Yup.

路路路

--
Posted via http://www.ruby-forum.com/\.