class Object

def if_respond(method_name, default_value = nil)

otherwise.
@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