Skip to content

RFC: Name-spacing of objects under (module) ActiveModelSerializers vs. (core class) ActiveModel::Serializer #1298

Closed
@maurogeorge

Description

@maurogeorge

Hi guys,

Today most of the public API is under ActiveModel::Serializer like:

  • ActiveModel::Serializer.config
  • ActiveModel::Serializer, which is the base class of our serializer

I think the only 2 public APIs that are under the ActiveModelSerializers is ActiveModelSerializers::Model and ActiveModelSerializers.logger, I think this 2 APIs need to live under ActiveModel::Serializer to keep consistency to the user. I created 2 PRs that is related with this #1291 #1296

In this PR #1138 was introduced a ActiveModel::Adapter::Base. I think we can do something like that, move from a class to a module and create a Base class to follow the Rails idiom.

The main goal here is to keep a good public API so the user will use:

ActiveModel::Serializer::Base # When creating a AR Serializer
ActiveModel::Serializer::Model # When creating a PORO Serializer
ActiveModel::Serializer.logger # To define the logger

I want to hear from you guys, your thought about it? You are 👍 or 👎

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions