Add in the content_type option, which is defined as part of the generic
ActiveStorage::Service class.
Without this option, attempts to generate a URL for an attached file
fail with "ArgumentError (unknown keyword: content_type)"
This fixes following warnings:
```
test/models/variant_test.rb:11: warning: ambiguous first argument; put parentheses or a space even after `/' operator
lib/active_storage/attached/macros.rb:63: warning: instance variable @active_storage_attached_highlights not initialized
lib/active_storage/attached/macros.rb:25: warning: instance variable @active_storage_attached_avatar not initialized
```
If an AWS bucket name includes a `.` (e.g. `bucket.name`), then the canonical
URL for an object will start with "https://s3.amazonaws.com/bucket.name/"
and not with "https://bucket.name.s3.amazonaws.com/".
The URL tests have now been separated into two separate asserts, to ensure
that both the "s3.amazonaws.com" and the "bucket.name" components are included,
but not specifically in that order.
Running `rubocop activestorage` before this commit resulted in 20 offenses.
This commit only fixes:
- Trailing whitespace detected
- Space inside } missing
- Put one space between the method name and the first argument.
The other offenses are left since they are intentional according to
@georgeclaghorn (https://github.com/rails/rails/pull/30061#issuecomment-319999190)
"httparty" is only added in #30020 to write two tests to make PUT requests
against S3 and GCS.
The same requests can be made with net/http, removing a dependency from the Gemfile.