|
Project Information
Members
Featured
Wiki pages
Links
|
What's this?Protocol Buffers for Ruby. Source
Installsudo gem install ruby_protobuf Quick ExamplesGenerate Ruby CodeA .proto file like this: package tutorial;
message Person {
required string name = 1;
required int32 id = 2;
optional string email = 3;
}generates ruby code like this: module Tutorial
class Person < ::Protobuf::Message
required :string, :name, 1
required :int32, :id, 2
optional :string, :email, 3
end
endby the command: rprotoc PROTOFILE Use Generated Ruby CodeSerialize a Messageperson = Tutorial::Person.new
person.id = 1234
person.name = 'John Doe'
person.email = 'jdoe@example.com'
phone = Tutorial::Person::PhoneNumber.new
phone.number = '555-4321'
phone.type = Tutorial::Person::PhoneType::HOME
person.phone << phone
serialized_string = person.serialize_to_string
# person.serialize_to_file('person.dat')Parse a Serialized String/Fileperson = Tutorial::Person.new
person.parse_from_string(serialized_string)
#person.parse_from_file('person.dat')
assert_equal(1234, person.id)
assert_equal('John Doe', person.name)
assert_equal('jdoe@example.com', person.email)
assert_equal(1, person.phone.size)
assert_equal('555-4321', person.phone[0].number)
assert_equal(Tutorial::Person::PhoneType::HOME, person.phone[0].type)For more examples, see the tutorial. |