class Object
def if_respond(method_name, default_value = nil)
@return +block.call(self.method_name)+ if +self+ responds to +method_name+, +default_value+
def if_respond(method_name, default_value = nil) return default_value unless respond_to?(method_name) value = send(method_name) block_given? ? yield(value) : value end