Added missing colon in asset manifest JSON.
Return a null object from `AttributeSet#[]`
Move `attributes` to the `AttributeSet` object.
Add missing test cases for `attribute_method?`
Use with_parse_json_times helper in tests.
Avoid hardcoded magic number in test teardown.
Merge pull request #15857 from zuhao/refactor_activesupport_encoding_test

Avoid hardcoded magic number in test teardown.
Merge pull request #15856 from zuhao/refactor_activesupport_decoding_test

Use with_parse_json_times helper in tests.
Merge pull request #15850 from sgrif/sg-missing-tests

Add missing test cases for `attribute_method?`
Merge pull request #15849 from sgrif/sg-move-attributes

Move `attributes` to the `AttributeSet` object.
Merge pull request #15839 from sgrif/sg-attr-set-null

Return a null object from `AttributeSet#[]`
Create with_env helper for tests.
Merge pull request #15859 from zuhao/refactor_activesupport_caching_test

Create with_env helper for tests.
Merge pull request #15860 from aidanharan/docrails-assets-manifest-typo

[ci skip] Added missing colon in asset manifest JSON
Remove old deprecation warning

This has been around for a couple of versions now, a `NoMethodError`
should suffice at this point.
`reload` should fully reload attributes

`reload` is meant to put a record in the same state it would be if you
were to do `Post.find(post.id)`. This means we should fully replace the
attributes hash.
Add missing test cases for `attribute_names` instance method

There is a class method with the same name that is tested, but not the
instance method.
Merge pull request #15866 from sgrif/sg-reload-attributes

`reload` should fully reload attributes
Merge pull request #15865 from sgrif/sg-missing-test

Add missing test cases for `attribute_names` instance method
Merge pull request #15848 from sgrif/sg-remove-deprecation

Remove old deprecation warning