Ag
WORK IN PROGRESS...
Experiments in describing feeds/timelines of events in code based on adapters so things can work at most levels of throughput.
Installation
Add this line to your application's Gemfile:
gem "ag"
And then execute:
$ bundle
Or install it yourself as:
$ gem install ag
Usage
require "ag"
adapter = Ag::Adapters::Memory.new
client = Ag::Client.new(adapter)
john = Ag::Object.new("User", "1")
steve = Ag::Object.new("User", "2")
presentation = Ag::Object.new("Presentation", "1")
event = Ag::Event.new({
producer: steve,
object: presentation,
verb: "upload_presentation",
})
pp connect: client.connect(john, steve)
pp connected?: client.connected?(john, steve)
pp consumers: client.consumers(steve)
pp producers: client.producers(john)
pp produce: client.produce(event)
pp timeline: client.timeline(john)
Contributing
- Fork it ( https://github.com/jnunemaker/ag/fork )
- 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 a new Pull Request