From: Tom Sawyer Date: 2003-01-18T17:10:51+09:00 Subject: Re: quick: it responds, it evaluates, and is not empty found this useful: class Object def respond_with_value(sym) return nil if not respond_to?(sym) v = send(sym) case v when nil, false, 0, 0.0, '', [], {} return false else return v end end end -- tom sawyer, aka transami transami@transami.net .''. .''. . *''* :_\/_: . :_\/_: _\(/_ .:.*_\/_* : /\ : .'.:.'. .''.: /\ : ./)\ ':'* /\ * : '..'. -=:o:=- :_\/_:'.:::. | ' *''* * '.\'/.' _\(/_'.':'.' : /\ : ::::: = *_\/_* -= o =- /)\ ' * '..' ':::' === * /\ * .'/.\'. '._____ * | *..* : |. |' .---"| * | _ .--'| || | _| | * | .-'| __ | | | || | .-----. | |' | || | | | | | || | ___' ' /"\ | '-."". '-' '-.' '` |_. ------------------------------------------------------------