https://github.com/ruby-amqp/amq-protocol
AMQP 0.9.1 protocol serialization and deserialization implementation for Ruby (2.0+)
https://github.com/ruby-amqp/amq-protocol
amqp0-9-1 deserialization rabbitmq ruby serialization
Last synced: 5 months ago
JSON representation
AMQP 0.9.1 protocol serialization and deserialization implementation for Ruby (2.0+)
- Host: GitHub
- URL: https://github.com/ruby-amqp/amq-protocol
- Owner: ruby-amqp
- License: mit
- Created: 2011-01-07T11:24:57.000Z (over 15 years ago)
- Default Branch: main
- Last Pushed: 2025-02-17T18:31:03.000Z (over 1 year ago)
- Last Synced: 2025-02-27T07:38:14.668Z (over 1 year ago)
- Topics: amqp0-9-1, deserialization, rabbitmq, ruby, serialization
- Language: Ruby
- Homepage: http://groups.google.com/group/ruby-amqp
- Size: 2.21 MB
- Stars: 47
- Watchers: 6
- Forks: 28
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog.md
- License: LICENSE
Awesome Lists containing this project
README
# What is amq-protocol
amq-protocol is an AMQP 0.9.1 serialization library for Ruby. It is not an
AMQP 0-9-1 client such as [Bunny](http://rubybunny.info): amq-protocol only handles serialization and deserialization.
If you want to write your own AMQP 0-9-1 client, this gem will handle all the serialization
needs for you, including RabbitMQ extensions to AMQP 0.9.1.
## Supported Ruby Versions
* amq-protocol `2.3.4` has fixes for Ruby 3.5 compatibility
* amq-protocol `2.3.3` has fixes for Ruby 3.4 compatibility
* amq-protocol `2.3.0` only supports Ruby 2.2+.
* amq-protocol `2.0.0` through `2.2.0` and later supports Ruby 2.0+.
* amq-protocol `1.9.2` was the last version to support Ruby 1.8 and 1.9.
## Installation
gem install amq-protocol
## Development
Make sure you have Python, pip and the mako templating package installed:
pip install mako
amq-protocol uses RabbitMQ protocol code generation library that is in Python, so there is some
Python involved in the build.
To regenerate `lib/amq/protocol/client.rb` from the source (`codegen/*` files), run
./generate.rb
To make changes, **do not edit client.rb directly**. Instead, edit the `codegen/protocol.rb.pytemplate` and regenerate.
To run tests, use
bundle install --binstubs
./bin/rspec -c spec spec
## Maintainer Information
amq-protocol is maintained by [Michael Klishin](https://github.com/michaelklishin).
## Issues
Please report any issues you may find to our [Issue tracker](http://github.com/ruby-amqp/amq-protocol/issues) on GitHub.
## Mailing List
Any questions you may have should be sent to the [Ruby AMQP mailing list](http://groups.google.com/group/ruby-amqp).
## License
MIT (see LICENSE in the repository root).