Skip to content

Instantly share code, notes, and snippets.

@macks
Created September 24, 2010 13:39
Show Gist options
  • Save macks/595383 to your computer and use it in GitHub Desktop.
Save macks/595383 to your computer and use it in GitHub Desktop.
rprotoc session
macks@debian:~/test$ ls
test.rb test1.proto test2.proto
macks@debian:~/test$ cat test1.proto
package A;
message m1
{
required uint32 aaa = 1 [ default = 0 ];
optional uint32 bbb = 2 [ default = 0 ];
}
macks@debian:~/test$ cat test2.proto
import "test1.proto";
package A;
message m2
{
extensions 1 to 19;
}
macks@debian:~/test$ rprotoc test1.proto
./test1.pb.rb writing...
macks@debian:~/test$ rprotoc test2.proto
./test2.pb.rb writing...
macks@debian:~/test$ cat test1.pb.rb
### Generated by rprotoc. DO NOT EDIT!
### <proto file: test1.proto>
# package A;
# message m1
# {
# required uint32 aaa = 1 [ default = 0 ];
# optional uint32 bbb = 2 [ default = 0 ];
# }
require 'protobuf/message/message'
require 'protobuf/message/enum'
require 'protobuf/message/service'
require 'protobuf/message/extend'
module A
class M1 < ::Protobuf::Message
defined_in __FILE__
required :uint32, :aaa, 1, :default => 0
optional :uint32, :bbb, 2, :default => 0
end
end
macks@debian:~/test$ cat test2.pb.rb
### Generated by rprotoc. DO NOT EDIT!
### <proto file: test2.proto>
# import "test1.proto";
# package A;
# message m2
# {
# extensions 1 to 19;
# }
require 'protobuf/message/message'
require 'protobuf/message/enum'
require 'protobuf/message/service'
require 'protobuf/message/extend'
require 'test1.pb'
module A
class M2 < ::Protobuf::Message
defined_in __FILE__
extensions 1..19
end
end
macks@debian:~/test$ cat test.rb
require 'test2.pb'
puts "version = #{Protobuf::Version}"
m1 = A::M1.new
m2 = A::M2.new
p m1, m2
macks@debian:~/test$ ruby test.rb
version = 0.4.6
aaa: nil
macks@debian:~/test$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment