active_model_serializers/lib/active_model/serializer
Benjamin Fleischer d9e76c29d5 Make Adapters registerable so they are not namespace-constrained
Changes:

- Introduce Adapter::get for use by Serializer.adapter
- Move Adapter-finding logic from Adapter::adapter_class into Adapter::get

Introduced interfaces:

- non-inherited methods
```ruby
ActiveModel::Serializer::Adapter.adapter_map     # a Hash<adapter_name, adapter_class>
ActiveModel::Serializer::Adapter.adapters        # an Array<adapter_name>
ActiveModel::Serializer::Adapter.register(name, klass) # adds an adapter to the adapter_map
ActiveModel::Serializer::Adapter.get(name_or_klass)    # raises Argument error when adapter not found
```

- Automatically register adapters when subclassing

```ruby
      def self.inherited(subclass)
        ActiveModel::Serializer::Adapter.register(subclass.to_s.demodulize, subclass)
      end
```

- Preserves subclass method `::adapter_class(adapter)`

```ruby
      def self.adapter_class(adapter)
        ActiveModel::Serializer::Adapter.get(adapter)
      end
```

- Serializer.adapter now uses `Adapter.get(config.adapter)` rather than have duplicate logic
2015-09-08 22:59:36 -05:00
..
adapter Fix style. 2015-09-06 19:29:51 +02:00
adapter.rb Make Adapters registerable so they are not namespace-constrained 2015-09-08 22:59:36 -05:00
array_serializer.rb Add ArraySerializer#object like Serializer 2015-08-24 13:51:46 -05:00
association.rb Rubocop: Consistent spacing 2015-09-03 20:51:40 -05:00
associations.rb Fix warnings 2015-08-26 09:22:02 -05:00
belongs_to_reflection.rb Associations refactoring 2015-07-30 11:20:29 +03:00
collection_reflection.rb Associations refactoring 2015-07-30 11:20:29 +03:00
configuration.rb Add configuration option to set resource type to singular/plural with jsonapi. 2015-08-24 22:55:22 +02:00
fieldset.rb Rubocop: Consistent spacing 2015-09-03 20:51:40 -05:00
has_many_reflection.rb Associations refactoring 2015-07-30 11:20:29 +03:00
has_one_reflection.rb Associations refactoring 2015-07-30 11:20:29 +03:00
lint.rb Rubocop: Consistent spacing 2015-09-03 20:51:40 -05:00
railtie.rb require rails/railtie before subclassing Rails::Railtie 2015-07-17 14:16:30 -05:00
reflection.rb Associations refactoring 2015-07-30 11:20:29 +03:00
singular_reflection.rb Associations refactoring 2015-07-30 11:20:29 +03:00
version.rb Style/StringLiterals single quote all the things 2015-09-03 20:50:45 -05:00