Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mojombo/bert
BERT (Binary ERlang Term) serialization library for Ruby.
https://github.com/mojombo/bert
Last synced: 4 days ago
JSON representation
BERT (Binary ERlang Term) serialization library for Ruby.
- Host: GitHub
- URL: https://github.com/mojombo/bert
- Owner: mojombo
- License: mit
- Created: 2009-10-08T06:06:25.000Z (about 15 years ago)
- Default Branch: master
- Last Pushed: 2023-10-31T17:14:29.000Z (about 1 year ago)
- Last Synced: 2024-12-08T19:33:34.094Z (5 days ago)
- Language: Ruby
- Homepage:
- Size: 182 KB
- Stars: 206
- Watchers: 5
- Forks: 59
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: History.txt
- License: LICENSE
Awesome Lists containing this project
- awesome-ccamel - mojombo/bert - BERT (Binary ERlang Term) serialization library for Ruby. (Ruby)
README
BERT
====A BERT (Binary ERlang Term) serialization library for Ruby. It can
encode Ruby objects into BERT format and decode BERT binaries into Ruby
objects.See the BERT specification at [bert-rpc.org](http://bert-rpc.org).
Instances of the following Ruby classes will be automatically converted to the
proper simple BERT type:* Fixnum
* Float
* Symbol
* Array
* StringInstances of the following Ruby classes will be automatically converted to the
proper complex BERT type:* NilClass
* TrueClass
* FalseClass
* Hash
* Time
* RegexpTo designate tuples, simply prefix an Array literal with a `t` or use the
BERT::Tuple class:t[:foo, [1, 2, 3]]
BERT::Tuple[:foo, [1, 2, 3]]Both of these will be converted to (in Erlang syntax):
{foo, [1, 2, 3]}
Installation
------------gem install bert -s http://gemcutter.org
Usage
-----require 'bert'
bert = BERT.encode(t[:user, {:name => 'TPW', :nick => 'mojombo'}])
# => "\203h\002d\000\004userh\003d\000\004bertd\000\004dictl\000\000\
000\002h\002d\000\004namem\000\000\000\003TPWh\002d\000\004nickm\
000\000\000\amojomboj"
BERT.decode(bert)
# => t[:user, {:name=>"TPW", :nick=>"mojombo"}]Note on Patches/Pull Requests
-----------------------------* Fork the project.
* Make your feature addition or bug fix.
* Add tests for it. This is important so I don't break it in a
future version unintentionally.
* Commit, do not mess with rakefile, version, or history.
(if you want to have your own version, that is fine but
bump version in a commit by itself I can ignore when I pull)
* Send me a pull request. Bonus points for topic branches.Copyright
---------Copyright (c) 2009 Tom Preston-Werner. See LICENSE for details.