CARVIEW |
rtomayko / bert forked from mojombo/bert
- Source
- Commits
- Network (9)
- Downloads (3)
- Wiki (1)
- Graphs
-
Branch:
master
click here to add a description
click here to add a homepage
-
Branches (1)
- master ✓
- Tags (3)
Pledgie Donations
Once activated, we'll place the following badge in your repository's detail box:
BERT (Binary ERlang Term) serialization library for Ruby. — Read more

name | age | message | |
---|---|---|---|
![]() |
.document | Wed Oct 07 19:18:16 -0700 2009 | Initial commit to bert. [Tom Preston-Werner] |
![]() |
.gitignore | Sat Oct 24 00:42:12 -0700 2009 | remove reliance on erlectricity [Tom Preston-Werner] |
![]() |
History.txt | Loading commit data... ![]() |
|
![]() |
LICENSE | Wed Oct 07 19:18:16 -0700 2009 | Initial commit to bert. [Tom Preston-Werner] |
![]() |
README.md | ||
![]() |
Rakefile | ||
![]() |
VERSION | ||
![]() |
bench/ | ||
![]() |
bert.gemspec | ||
![]() |
ext/ | ||
![]() |
lib/ | ||
![]() |
test/ |
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.
Instances of the following Ruby classes will be automatically converted to the proper simple BERT type:
- Fixnum
- Float
- Symbol
- Array
- String
Instances of the following Ruby classes will be automatically converted to the proper complex BERT type:
- NilClass
- TrueClass
- FalseClass
- Hash
- Time
- Regexp
To 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 https://gemcutter.org
Usage
require 'bert'
bert = BERT.encode(t[:user, {:name => 'TPW', :nick => 'mojombo'}])
# => "\203h\002d\000\004userh\002d\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.