class TrueClass
The global value true is the only instance of class TrueClass and represents a logically true value in boolean expressions. The class provides operators allowing true to be used in logical expressions.
Public Instance Methods
                        
                          true & obj    → true or false
                              
                              click to toggle source
                            
                            And—Returns false if obj is nil or false, true otherwise.
static VALUE
true_and(VALUE obj, VALUE obj2)
{
    return RBOOL(RTEST(obj2));
}
                              
                        
                          obj === other   → true or false
                              
                              click to toggle source
                            
                            Case Equality – For class Object, effectively the same as calling #==, but typically overridden by descendants to provide meaningful semantics in case statements.
#define case_equal rb_equal
                        
                          true ^ obj   → !obj
                              
                              click to toggle source
                            
                            Exclusive Or—Returns true if obj is nil or false, false otherwise.
static VALUE
true_xor(VALUE obj, VALUE obj2)
{
    return RTEST(obj2)?Qfalse:Qtrue;
}
                              
                        
                          to_s   →  "true"
                              
                              click to toggle source
                            
                            The string representation of true is “true”.
MJIT_FUNC_EXPORTED VALUE
rb_true_to_s(VALUE obj)
{
    return rb_cTrueClass_to_s;
}
                              
                              Also aliased as: inspect
                            
                          
                        
                          true | obj   → true
                              
                              click to toggle source
                            
                            Or—Returns true. As obj is an argument to a method call, it is always evaluated; there is no short-circuit evaluation in this case.
true | puts("or") true || puts("logical or")
produces:
or
static VALUE
true_or(VALUE obj, VALUE obj2)
{
    return Qtrue;
}