class Aws::S3::ObjectCopier

def copy_target(target)

def copy_target(target)
  case target
  when String then target.match(/([^\/]+?)\/(.+)/)[1,2]
  when Hash then target.values_at(:bucket, :key)
  when S3::Object then [target.bucket_name, target.key]
  else
    msg = "expected target to be an Aws::S3::Object, Hash, or String"
    raise ArgumentError, msg
  end
end