SilverSpoon
In this world there are the has, and the has nots. ActiveRecord can has_many other ActiveRecords, but what about the rest of us? SilverSpoon lets ActiveRecord objects has_many Non-ActiveRecord objects, or for Non-ActiveRecord objects to has_many other Non-ActiveRecord objects.
For the people!
Suppose you have a plain old ActiveModel
class BankAccount
class << self
def find(args)
HTTP Request...
an arbitrary service...
or some awful local Modeling logic...
...
end
end
end
And another Object that bares an association to it
class User < ActiveRecord::Base
extend SilverSpoon::ActiveConcern
has_many :bank_accounts
end
Now make calls a la ActiveRecord Association
user = User.new
user.bank_accounts
The referencing class does not have to be an ActiveRecord object. It simply needs to respond to a find method as you would expect. Having an @id or to_params would be useful as well in most cases. It would also be nice if there was a save method, if you're going to be doing something like that.
The find method may receive the id from the referring object to associate the two.