acts_as_shareable is a gem to allow any model objects to be shared to other models, the ‘sharing’ is also associated to a user. Main uses would be for Users to share items with other Users.
Add the gem to the gemfile:
gem "acts_as_shareable"
Run the generator:
rails generate acts_as_shareable
This will generate a migration file as well as a model called Share.
* Make you ActiveRecord model shareable.
Make your model(s) that you want to allow to be shareable acts_as_shareable, just add:
class Book < ActiveRecord::Base
...
acts_as_shareable
...
end
* Share a new book to a group
book = Book.new
group = Group.new
book.share_to(group,by_user)
* Can find shared objects by sharable_type, where they are shared, or the user that shared them
Book.find_by_shared_to(group)
Book.find_shares_by_user(user)
Copyright © 2012 ( massimiliano dot marzo at gmail dot com ), released under the MIT license.
