Sha256: 7bba6f3a2ea339fbb80a9961ac45904735b50c037a4a10bb49dabd20629f5d86
Contents?: true
Size: 1.01 KB
Versions: 44
Compression:
Stored size: 1.01 KB
Contents
require 'protobuf/generators/base' require 'protobuf/generators/option_generator' module Protobuf module Generators class EnumGenerator < Base def compile run_once(:compile) do tags = [] print_class(descriptor.name, :enum) do if descriptor.options print OptionGenerator.new(descriptor.options, current_indent).to_s puts end descriptor.value.each do |enum_value_descriptor| tags << enum_value_descriptor.number puts build_value(enum_value_descriptor) end end unless descriptor.options.try(:allow_alias) self.class.validate_tags(fully_qualified_type_namespace, tags) end end end def build_value(enum_value_descriptor) name = enum_value_descriptor.name name.upcase! if ENV.key?('PB_UPCASE_ENUMS') number = enum_value_descriptor.number "define :#{name}, #{number}" end end end end
Version data entries
44 entries across 44 versions & 4 rubygems