module ImageProcessing::Chainable

def method_missing(name, *args, &block)

processor. Add a bang ("!") if you want processing to be performed.
Assume that any unknown method names an operation supported by the
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