{"action":"created","issue":{"url":"https://api.github.com/repos/rails-api/active_model_serializers/issues/1298","labels_url":"https://api.github.com/repos/rails-api/active_model_serializers/issues/1298/labels{/name}","comments_url":"https://api.github.com/repos/rails-api/active_model_serializers/issues/1298/comments","events_url":"https://api.github.com/repos/rails-api/active_model_serializers/issues/1298/events","html_url":"https://github.com/rails-api/active_model_serializers/issues/1298","id":113176090,"number":1298,"title":"Move from ActiveModel::Serializer to ActiveModel::Serializer::Base","user":{"login":"maurogeorge","id":260746,"avatar_url":"https://avatars.githubusercontent.com/u/260746?v=3","gravatar_id":"","url":"https://api.github.com/users/maurogeorge","html_url":"https://github.com/maurogeorge","followers_url":"https://api.github.com/users/maurogeorge/followers","following_url":"https://api.github.com/users/maurogeorge/following{/other_user}","gists_url":"https://api.github.com/users/maurogeorge/gists{/gist_id}","starred_url":"https://api.github.com/users/maurogeorge/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/maurogeorge/subscriptions","organizations_url":"https://api.github.com/users/maurogeorge/orgs","repos_url":"https://api.github.com/users/maurogeorge/repos","events_url":"https://api.github.com/users/maurogeorge/events{/privacy}","received_events_url":"https://api.github.com/users/maurogeorge/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/rails-api/active_model_serializers/labels/Needs%20Team%20Discussion","name":"Needs Team Discussion","color":"5319e7"},{"url":"https://api.github.com/repos/rails-api/active_model_serializers/labels/V:%200.10.x","name":"V: 0.10.x","color":"bfd4f2"}],"state":"open","locked":false,"assignee":{"login":"bf4","id":142914,"avatar_url":"https://avatars.githubusercontent.com/u/142914?v=3","gravatar_id":"","url":"https://api.github.com/users/bf4","html_url":"https://github.com/bf4","followers_url":"https://api.github.com/users/bf4/followers","following_url":"https://api.github.com/users/bf4/following{/other_user}","gists_url":"https://api.github.com/users/bf4/gists{/gist_id}","starred_url":"https://api.github.com/users/bf4/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bf4/subscriptions","organizations_url":"https://api.github.com/users/bf4/orgs","repos_url":"https://api.github.com/users/bf4/repos","events_url":"https://api.github.com/users/bf4/events{/privacy}","received_events_url":"https://api.github.com/users/bf4/received_events","type":"User","site_admin":false},"milestone":null,"comments":1,"created_at":"2015-10-24T18:29:34Z","updated_at":"2015-10-24T18:32:10Z","closed_at":null,"body":"Hi guys,\r\n\r\nToday most of the public API is under `ActiveModel::Serializer` like:\r\n\r\n- `ActiveModel::Serializer.config`\r\n- `ActiveModel::Serializer`, which is the base class of our serializer\r\n\r\nI 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 https://github.com/rails-api/active_model_serializers/pull/1291 https://github.com/rails-api/active_model_serializers/pull/1296\r\n\r\nIn this PR https://github.com/rails-api/active_model_serializers/pull/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.\r\n\r\nThe main goal here is to keep a good public API so the user will use:\r\n\r\n```\r\nActiveModel::Serializer::Base # When creating a AR Serializer\r\nActiveModel::Serializer::Model # When creating a PORO Serializer\r\nActiveModel::Serializer.logger # To define the logger\r\n```\r\n\r\nI want to hear from you guys, your thought about it? You are :+1: or :-1: "},"comment":{"url":"https://api.github.com/repos/rails-api/active_model_serializers/issues/comments/150839837","html_url":"https://github.com/rails-api/active_model_serializers/issues/1298#issuecomment-150839837","issue_url":"https://api.github.com/repos/rails-api/active_model_serializers/issues/1298","id":150839837,"user":{"login":"beauby","id":2215778,"avatar_url":"https://avatars.githubusercontent.com/u/2215778?v=3","gravatar_id":"","url":"https://api.github.com/users/beauby","html_url":"https://github.com/beauby","followers_url":"https://api.github.com/users/beauby/followers","following_url":"https://api.github.com/users/beauby/following{/other_user}","gists_url":"https://api.github.com/users/beauby/gists{/gist_id}","starred_url":"https://api.github.com/users/beauby/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/beauby/subscriptions","organizations_url":"https://api.github.com/users/beauby/orgs","repos_url":"https://api.github.com/users/beauby/repos","events_url":"https://api.github.com/users/beauby/events{/privacy}","received_events_url":"https://api.github.com/users/beauby/received_events","type":"User","site_admin":false},"created_at":"2015-10-24T18:32:10Z","updated_at":"2015-10-24T18:32:10Z","body":"Assigning @bf4 to this one as I believe you made those 2 PRs (`AMS::Model` and the logger). Could you explain the rationale behind exposing those via `ActiveModelSerializers` rather than `ActiveModel::Serializer`?"}}