FYI, looks like this will get extracted to ActiveModel for use by non-AR models in Rails 4.2, see https://github.com/rails/rails/pull/8189
FYI, looks like this will get extracted to ActiveModel for use by non-AR models in Rails 4.2, see https://github.com/rails/rails/pull/8189