class S3Storage
  NOT_CONFIGURED_ERROR_MESSAGE = 'AWS S3 bucket not correctly configured'.freeze

  class Null
    def save(_asset, _options = {}); end

    def presigned_url_for(_asset, _http_method: 'GET')
      raise NotConfiguredError.new(NOT_CONFIGURED_ERROR_MESSAGE)
    end

    def exists?(_asset)
      raise NotConfiguredError.new(NOT_CONFIGURED_ERROR_MESSAGE)
    end

    def metadata_for(_asset)
      raise NotConfiguredError.new(NOT_CONFIGURED_ERROR_MESSAGE)
    end
  end
end

class S3Storage
  NOT_CONFIGURED_ERROR_MESSAGE = 'AWS S3 bucket not correctly configured'.freeze

  class Null
    def save(*); end

    def presigned_url_for(*)
      raise NotConfiguredError.new(NOT_CONFIGURED_ERROR_MESSAGE)
    end

    def exists?(*)
      raise NotConfiguredError.new(NOT_CONFIGURED_ERROR_MESSAGE)
    end

    def metadata_for(*)
      raise NotConfiguredError.new(NOT_CONFIGURED_ERROR_MESSAGE)
    end
  end
end

Simplify signature of methods in S3Storage::Null
Simplify signature of methods in S3Storage::Null

There's not much value in duplicating the method signatures from
S3Storage and doing so for some methods I'm about to add would make the
dynamically generating suitable examples a lot more complicated, i.e.
we'd need to check the arity of each method and pass the correct number
of required arguments to each one.
