Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
You can check whether an object is compatible with the Active Model API by including ActiveModel::Lint::Tests. It contains assertions that tell you whether your object is fully compliant.
The tests only check compatibility. They do not attempt to determine the correctness of the returned values. For instance, you could implement valid? to always return true and the tests would still pass. It is up to you to ensure that the values are correct.