Hey everyone,
So. There has been a _number_ of false starts here, and so I'm here to
finally write a definitive answer on this topic. Whew. I apologize for
the lack of communication here, I have failed you as a maintainer.
I've literally been 'just about' to write this email for almost a full
three weeks, and that's why communication has been sparse over the
last few months. It's been hard to find the time.
Here is the TL;DR: I am looking to recruit a new core team of AMS
contributors. I do not have the time to give AMS the full attention it
deserves, but I'm willing to give it some, because I love and care
about AMS, specifically. Lots of other people do to, from the
conversations I've had in the past weeks. So, this is an explicit call
for help maintaining the gem.
Now: When the AMS re-write, 0.9, was supposed to happen, it was
originally intended to move to a 'adapters' style architecture. This
didn't happen. So. What I'm proposing is this: We assemble a core
team, then we work together on a 0.10 that's super awesome and
amazing. I am willing to do the maintenance work on both the 0.8 and
0.9 branches, to take care of any problems that people have currently.
From the number of open pull requests, it seems that people have been
using master, even though it hasn't been released, and I don't want to
abandon you.
The idea with using adapters is basically this: a Serializer class,
like we've all been using, should
control what needs to be serialized. An adapter class will control
_how_ that model is serialized. I'd like to ship AMS 0.10 (to then
later be 1.0) with adapters for JSON API, "old school" AMS, and HAL.
If people want more adapters, cool.
I have a teeny bit of work up on my fork here:
https://github.com/steveklabnik/active_model_serializers
This does all of the Rails integration, and has the beginnings of the
serializer code, and a NullAdapter that doesn’t do any
transformations. My intention is to make this branch be 0.10 on the
real repo when it's farther along.
How does this sound to you all? Who wants to help?