README.md in baton-0.4.5 vs README.md in baton-0.4.8

- old
+ new

@@ -26,16 +26,30 @@ gem 'baton' ## How to use -Please check an existing extension, e.g. [baton-ping](https://github.com/digital-science/baton-ping), for more information about how to use and extend baton. +Please check an existing extension, e.g. [baton-ping](https://github.com/digital-science/baton-ping), for more information about how to use and extend baton. Since baton was created as a base for other extensions, it doesn't do anything in particular by itself but provide the structure and a basic setup on top of RabbitMQ and EventMachine. +## Submitting a Pull Request + +1. [Fork the repository.](https://help.github.com/articles/fork-a-repo) +2. [Create a topic branch.](http://learn.github.com/p/branching.html) +3. Add specs for your unimplemented feature or bug fix. +4. Run `bundle exec rake test`. If your specs pass, return to step 3. +5. Implement your feature or bug fix. +6. Run `bundle exec rake test`. If your specs fail, return to step 5. +7. Run `open coverage/index.html`. If your changes are not completely covered + by your tests, return to step 3. +8. Add documentation for your feature or bug fix. +9. Add, commit, and push your changes. +10. [Submit a pull request.](https://help.github.com/articles/using-pull-requests) + ## Details and Building Extensions -Baton relies on [EventMachine](http://rubyeventmachine.com/) and [AMQP](http://rubyamqp.info/) for message passing. The gem defines a basic set of classes operating on top of RabbitMQ. The initial configuration will setup an input exchange and an output exchange. +Baton relies on [EventMachine](http://rubyeventmachine.com/) and [AMQP](http://rubyamqp.info/) for message passing. The gem defines a basic set of classes operating on top of RabbitMQ. The initial configuration will setup an input exchange and an output exchange. On the input exchange, baton will wait for meaningful messages to perform actions (described by each service) and it will output messages to the output exchange. ### API @@ -57,10 +71,10 @@ This class must be extended in order to process each received message. One should implement `process_message` at least, in order to give meaning to each received message. One can also override `routing_key` in order to listen to specific messages. [Here](https://github.com/digital-science/baton-ping/blob/master/lib/baton/baton-ping/ping_consumer.rb) is an example of an implementation. ### Channel -Like the consumer manager, this class doesn't need to be extended. It provides functionality to setup the exchanges and add consumers. +Like the consumer manager, this class doesn't need to be extended. It provides functionality to setup the exchanges and add consumers. ### Observer The observer class provides methods to notify observers. It is by default included in the consumers so that the output exchange (and possibly loggers, etc) receive the output messages.