@seanlinsley At the moment, ActiveAdmin does not actually depend on Draper (I just added it as a development dependency to start using it for the tests, but it's still not a dependency of the gem). It would simplify things to add `draper ~> 1.3` as a gem dependency, but do you want to do that?

The original reason that I did not want to depend on Draper is because I thought it would be reasonable for people to use their own decorator implementation. However, since Draper has gotten more complicated (it didn't used to have the collection decorator concept at all, which is where most of the complexity in relation to ActiveAdmin is), and since to make it work we need to couple more tightly with Draper, I think it has gotten less reasonable to provide that option.

### Depending on Draper

#### Pros

* Depending on draper (and requiring at least a specific version) would simplify a lot of things (including #2736).
  * Basically, any time we need to deal with decorators, we can use the Draper api with confidence.
  * Case in point, this pull request has a lot of unconfident code like `return collection_decorator unless is_draper_collection_decorator?(collection_decorator)`
  * Being able to depend on a minimum version will likely prevent bugs related to Drapers changing API. This has caused a lot of confusion in the past when using decorators with ActiveAdmin.
* Anyone not using Draper won't really notice. It does make ActiveAdmin even more heavy than it is, but Draper is pretty light-weight, so I don't think it's a big deal.

#### Cons

* Anyone already using Draper and upgrading ActiveAdmin would also be forced to upgrade Draper.
* It's just another dependency, which means loading ActiveAdmin loads more ruby files and more code. As I said before, I don't think this is a huge deal but definitely worth mentioning.



Anyway, thanks for your response. And to actually address your comment. If we are not going to depend on Draper, I think it's best to leave this as "feature detection". I think we should either explicitly depend on Draper, or be as generic as possible (the amount of generic we can be is diminishing as ActiveAdmin couples more tightly with Draper, but as it is now, it is still possible for people to use the decorator feature without Draper).

Sorry for the novel; what are your thoughts now?