From 3c547fcdf377d8caf1f9170f8b76f16306231e8b Mon Sep 17 00:00:00 2001
From: Hao Nguyen <haon@google.com>
Date: Wed, 19 Dec 2018 11:25:53 -0800
Subject: [PATCH] Lower the severity of lower-case ruby enum to warning. Add
 conformance test for allow_alias with lower_case enums

---
 ruby/ext/google/protobuf_c/message.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/ruby/ext/google/protobuf_c/message.c b/ruby/ext/google/protobuf_c/message.c
index 2f14ef6ecf..b1d6a5e289 100644
--- a/ruby/ext/google/protobuf_c/message.c
+++ b/ruby/ext/google/protobuf_c/message.c
@@ -697,6 +697,11 @@ VALUE build_module_from_enumdesc(EnumDescriptor* enumdesc) {
        upb_enum_next(&it)) {
     const char* name = upb_enum_iter_name(&it);
     int32_t value = upb_enum_iter_number(&it);
+    if (name[0] < 'A' || name[0] > 'Z') {
+      rb_warn("Enum value '%s' does not start with an uppercase letter "
+              "as is required for Ruby constants.",
+              name);
+    }
     rb_define_const(mod, name, INT2NUM(value));
   }