def method_missing(name, *args, &block)
      return super if name.to_s.end_with?("?")
      return send(name.to_s.chomp("!"), *args, &block).call if name.to_s.end_with?("!")

      operation(name, *args, &block)
    end
def method_missing(name, *args, &block)
      return super if name.to_s.end_with?("?")
      return send(name.to_s.chomp("!"), *args, &block).call if name.to_s.end_with?("!")

      operation(name, *args, &block)
    end
def method_missing ( name , * args , & block ) return super if name . to_s . end_with? ( "?" ) return send ( name . to_s . chomp ( "!" ) , args , block ) . call if name . to_s . end_with? ( "!" ) operation ( name , args , block ) end
Assume that any unknown method names an operation supported by the
 processor. Add a bang ("!") if you want processing to be performed.
Assume that any unknown method names an operation supported by the processor . Add a bang ( ! ) if you want processing to be performed .