Module: ElasticGraph::ProtoIngestion::SchemaDefinition::SchemaElements::EnumValueExtension
- Defined in:
- elasticgraph-proto_ingestion/lib/elastic_graph/proto_ingestion/schema_definition/schema_elements/enum_value_extension.rb
Overview
Extends enum values with protobuf naming behavior.
Instance Method Summary collapse
-
#proto_name(enum_value_prefix) ⇒ String
Returns this enum value's name in protobuf schemas.
-
#to_proto(number, proto_enum_value_prefix:) ⇒ String
Renders this value's protobuf definition.
Instance Method Details
#proto_name(enum_value_prefix) ⇒ String
Returns this enum value's name in protobuf schemas.
22 23 24 |
# File 'elasticgraph-proto_ingestion/lib/elastic_graph/proto_ingestion/schema_definition/schema_elements/enum_value_extension.rb', line 22 def proto_name(enum_value_prefix) "#{enum_value_prefix}_#{Support::Casing.to_upper_snake(name)}" end |
#to_proto(number, proto_enum_value_prefix:) ⇒ String
Renders this value's protobuf definition.
31 32 33 34 35 36 37 38 |
# File 'elasticgraph-proto_ingestion/lib/elastic_graph/proto_ingestion/schema_definition/schema_elements/enum_value_extension.rb', line 31 def to_proto(number, proto_enum_value_prefix:) documentation = ProtoDocumentation .comment_lines_for(doc_comment, indent: " ") .map { |line| "#{line}\n" } .join "#{documentation} #{proto_name(proto_enum_value_prefix)} = #{number};" end |