Skip to content

Commit

Permalink
Add wrapper types explicitly, awaiting protocolbuffers/protobuf#289
Browse files Browse the repository at this point in the history
  • Loading branch information
kmontag committed Aug 4, 2015
1 parent 96d0c85 commit 716e23a
Show file tree
Hide file tree
Showing 4 changed files with 152 additions and 2 deletions.
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,11 @@ end
Developing
----------

To build message classes, you'll need to install the latest (currently
3.0.0.alpha.3.1) version of [`protoc`](https://github.com/google/protobuf).

Build message classes: `rake compile`

Run tests: `rake test`

Releases follow [SemVer](http://semver.org/).
Releases follow [SemVer](http://semver.org/).
2 changes: 1 addition & 1 deletion Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ end

desc 'Compile protobuf sources to Ruby classes.'
task compile: :clean do
FileList['definitions/protip/messages/*.proto'].each do |file|
::Dir.glob('definitions/**/*.proto').each do |file|
command = "protoc -Idefinitions --ruby_out=lib #{file}"
puts command
system command
Expand Down
99 changes: 99 additions & 0 deletions definitions/google/protobuf/wrappers.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

// Wrappers for primitive (non-message) types. These types are useful
// for embedding primitives in the `google.protobuf.Any` type and for places
// where we need to distinguish between the absence of a primitive
// typed field and its default value.

syntax = "proto3";

package google.protobuf;

option java_multiple_files = true;
option java_outer_classname = "WrappersProto";
option java_package = "com.google.protobuf";
option csharp_namespace = "Google.Protobuf.WellKnownTypes";
option objc_class_prefix = "GPB";


// Wrapper message for double.
message DoubleValue {
// The double value.
double value = 1;
}

// Wrapper message for float.
message FloatValue {
// The float value.
float value = 1;
}

// Wrapper message for int64.
message Int64Value {
// The int64 value.
int64 value = 1;
}

// Wrapper message for uint64.
message UInt64Value {
// The uint64 value.
uint64 value = 1;
}

// Wrapper message for int32.
message Int32Value {
// The int32 value.
int32 value = 1;
}

// Wrapper message for uint32.
message UInt32Value {
// The uint32 value.
uint32 value = 1;
}

// Wrapper message for bool.
message BoolValue {
// The bool value.
bool value = 1;
}

// Wrapper message for string.
message StringValue {
// The string value.
string value = 1;
}

// Wrapper message for bytes.
message BytesValue {
// The bytes value.
bytes value = 1;
}
48 changes: 48 additions & 0 deletions lib/google/protobuf/wrappers.rb

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 716e23a

Please sign in to comment.