Truth value evaluating of an object

I know ruby treat an object as false whenever it is nil or false.
However, I wonder if there are any other ways to change this behavior.

For example, I define a class called AreYouOk.
class AreYouOk
def initialize(ok)
@ok = ok
end
end

x = AreYouOk.new(false)
puts “you are ok” if x

Since x is not nil, ruby prints " you are ok".
However, I want ruby to make the decision based on the @ok instance
variable. Are there any ways to do that?

I know that there is a method called bool in Python. You can
define your bool method in your class. The truth value of an
object is based on the return value of bool. Does ruby provide
similar mechanism?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs