Add this line to your application's Gemfile:
gem 'notify_on'
And then execute:
$ bundle
Or install it yourself as:
$ gem install notify_on
require 'notify_on'
Then setup the fields upon which to notify changes of
Include the id
, created_at
and updated_at
fields in all notifications
class Post < ActiveRecord::Base
notify_on :title, :body, :comments_count, :always => [:created_at, :updated_at]
end
post = Post.first
post.notifications
#=> [#<Notification id: 12, url: "http://callbacks.their-site.com/posts">]
post.update_attributes!(:title => updated_title)
#=> true # and sends the notification
post.comments.create(params[:comment])
#=> #<Comment id: 2 ...> # no notification sent
post.comments.create(params[:comment])
#=> #<Comment id: 3 ...> # notification is sent
Your API consumers can Subscribe to models via the subscriptions api
##Subscriptions API
TODO
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request