Class: Gapic::Schema::Message

Inherits:
Proto
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/gapic/schema/wrappers.rb

Overview

Wrapper for a protobuf Message.

Constant Summary collapse

OPTION_EXTENSION_NAMES =
{
  "google.api.resource" => [1053, ::Google::Api::ResourceDescriptor]
}.freeze

Instance Attribute Summary collapse

Attributes inherited from Proto

#address, #descriptor, #docs, #parent

Instance Method Summary collapse

Methods inherited from Proto

#containing_api, #containing_file, #docs_leading_comments, #leading_comments, #leading_detached_comments, #option_named, #path, #span, #trailing_comments

Constructor Details

#initialize(descriptor, address, docs, fields, extensions, resource, nested_messages, nested_enums) ⇒ Message

Initializes a message object.

Parameters:

  • descriptor (Google::Protobuf::DescriptorProto)

    the protobuf representation of this service.

  • address (Enumerable<String>)

    The address of the proto. See

    address for more info.

  • docs (Google::Protobuf::SourceCodeInfo::Location)

    The docs of the proto. See #docs for more info.

  • fields (Enumerable<Field>)

    The fields of this message.

  • extensions (Enumerable<Field>)

    The extensions of this message.

  • resource (Resource, nil)

    The resource of this message, or nil if none.

  • nested_messages (Enumerable<Message>)

    The nested message declarations of this message.

  • nested_enums (Enumerable<Enum>)

    The nested enum declarations of this message.



685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
# File 'lib/gapic/schema/wrappers.rb', line 685

def initialize descriptor, address, docs, fields, extensions, resource,
               nested_messages, nested_enums
  super descriptor, address, docs
  @fields = fields || []
  @extensions = extensions || []
  @resource = resource
  @nested_messages = nested_messages || []
  @nested_enums = nested_enums || []

  @fields.each          { |f| f.parent = self }
  @extensions.each      { |x| x.parent = self }
  @nested_messages.each { |m| m.parent = self }
  @nested_enums.each    { |e| e.parent = self }
  @resource.parent = self if @resource
end

Instance Attribute Details

#extensionsObject (readonly)

@ return [Enumerable] The extensions of a message.



662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
# File 'lib/gapic/schema/wrappers.rb', line 662

class Message < Proto
  extend Forwardable

  attr_reader :fields
  attr_reader :extensions
  attr_reader :resource
  attr_reader :nested_messages
  attr_reader :nested_enums

  # Initializes a message object.
  # @param descriptor [Google::Protobuf::DescriptorProto] the protobuf
  #   representation of this service.
  # @param address [Enumerable<String>] The address of the proto. See
  #   #address for more info.
  # @param docs [Google::Protobuf::SourceCodeInfo::Location] The docs
  #   of the proto. See #docs for more info.
  # @param fields [Enumerable<Field>] The fields of this message.
  # @param extensions [Enumerable<Field>] The extensions of this message.
  # @param resource [Resource,nil] The resource of this message, or nil if none.
  # @param nested_messages [Enumerable<Message>] The nested message
  #   declarations of this message.
  # @param nested_enums [Enumerable<Enum>] The nested enum declarations
  #   of this message.
  def initialize descriptor, address, docs, fields, extensions, resource,
                 nested_messages, nested_enums
    super descriptor, address, docs
    @fields = fields || []
    @extensions = extensions || []
    @resource = resource
    @nested_messages = nested_messages || []
    @nested_enums = nested_enums || []

    @fields.each          { |f| f.parent = self }
    @extensions.each      { |x| x.parent = self }
    @nested_messages.each { |m| m.parent = self }
    @nested_enums.each    { |e| e.parent = self }
    @resource.parent = self if @resource
  end

  OPTION_EXTENSION_NAMES = {
    "google.api.resource" => [1053, ::Google::Api::ResourceDescriptor]
  }.freeze

  ##
  # Return a configuration of supported option extensions.
  #
  def option_extension_names
    OPTION_EXTENSION_NAMES
  end

  # @return [Boolean] whether this type is a map entry
  def map_entry?
    descriptor.options&.map_entry
  end

  # @return [String] The full name for this message
  #   (e.g. `google.example.Message`).
  #   Useful when matching against other pieces of information
  #   which also reference full proto name.
  def full_name
    @address.join "."
  end

  # @return [Boolean] True if this message is marked as deprecated, false
  #   otherwise.
  def is_deprecated?
    option_named "deprecated"
  end

  # @!method name
  #   @return [String] the unqualified name of the message.
  # @!method oneof_decl
  #   @return [Array<Google::Protobuf::OneofDescriptorProto>]
  #     The oneofs declared in this message.
  # @!method options
  #   @return [Array<Google::Protobuf::MessageOptions>]
  #     The options of this meessage.
  def_delegators(
    :descriptor,
    :name,
    :oneof_decl,
    :options
  )
end

#fieldsObject (readonly)

@ return [Enumerable] The fields of a message.



662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
# File 'lib/gapic/schema/wrappers.rb', line 662

class Message < Proto
  extend Forwardable

  attr_reader :fields
  attr_reader :extensions
  attr_reader :resource
  attr_reader :nested_messages
  attr_reader :nested_enums

  # Initializes a message object.
  # @param descriptor [Google::Protobuf::DescriptorProto] the protobuf
  #   representation of this service.
  # @param address [Enumerable<String>] The address of the proto. See
  #   #address for more info.
  # @param docs [Google::Protobuf::SourceCodeInfo::Location] The docs
  #   of the proto. See #docs for more info.
  # @param fields [Enumerable<Field>] The fields of this message.
  # @param extensions [Enumerable<Field>] The extensions of this message.
  # @param resource [Resource,nil] The resource of this message, or nil if none.
  # @param nested_messages [Enumerable<Message>] The nested message
  #   declarations of this message.
  # @param nested_enums [Enumerable<Enum>] The nested enum declarations
  #   of this message.
  def initialize descriptor, address, docs, fields, extensions, resource,
                 nested_messages, nested_enums
    super descriptor, address, docs
    @fields = fields || []
    @extensions = extensions || []
    @resource = resource
    @nested_messages = nested_messages || []
    @nested_enums = nested_enums || []

    @fields.each          { |f| f.parent = self }
    @extensions.each      { |x| x.parent = self }
    @nested_messages.each { |m| m.parent = self }
    @nested_enums.each    { |e| e.parent = self }
    @resource.parent = self if @resource
  end

  OPTION_EXTENSION_NAMES = {
    "google.api.resource" => [1053, ::Google::Api::ResourceDescriptor]
  }.freeze

  ##
  # Return a configuration of supported option extensions.
  #
  def option_extension_names
    OPTION_EXTENSION_NAMES
  end

  # @return [Boolean] whether this type is a map entry
  def map_entry?
    descriptor.options&.map_entry
  end

  # @return [String] The full name for this message
  #   (e.g. `google.example.Message`).
  #   Useful when matching against other pieces of information
  #   which also reference full proto name.
  def full_name
    @address.join "."
  end

  # @return [Boolean] True if this message is marked as deprecated, false
  #   otherwise.
  def is_deprecated?
    option_named "deprecated"
  end

  # @!method name
  #   @return [String] the unqualified name of the message.
  # @!method oneof_decl
  #   @return [Array<Google::Protobuf::OneofDescriptorProto>]
  #     The oneofs declared in this message.
  # @!method options
  #   @return [Array<Google::Protobuf::MessageOptions>]
  #     The options of this meessage.
  def_delegators(
    :descriptor,
    :name,
    :oneof_decl,
    :options
  )
end

#nested_enumsObject (readonly)

@ return [Enumerable] The nested enum declarations of a message.



662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
# File 'lib/gapic/schema/wrappers.rb', line 662

class Message < Proto
  extend Forwardable

  attr_reader :fields
  attr_reader :extensions
  attr_reader :resource
  attr_reader :nested_messages
  attr_reader :nested_enums

  # Initializes a message object.
  # @param descriptor [Google::Protobuf::DescriptorProto] the protobuf
  #   representation of this service.
  # @param address [Enumerable<String>] The address of the proto. See
  #   #address for more info.
  # @param docs [Google::Protobuf::SourceCodeInfo::Location] The docs
  #   of the proto. See #docs for more info.
  # @param fields [Enumerable<Field>] The fields of this message.
  # @param extensions [Enumerable<Field>] The extensions of this message.
  # @param resource [Resource,nil] The resource of this message, or nil if none.
  # @param nested_messages [Enumerable<Message>] The nested message
  #   declarations of this message.
  # @param nested_enums [Enumerable<Enum>] The nested enum declarations
  #   of this message.
  def initialize descriptor, address, docs, fields, extensions, resource,
                 nested_messages, nested_enums
    super descriptor, address, docs
    @fields = fields || []
    @extensions = extensions || []
    @resource = resource
    @nested_messages = nested_messages || []
    @nested_enums = nested_enums || []

    @fields.each          { |f| f.parent = self }
    @extensions.each      { |x| x.parent = self }
    @nested_messages.each { |m| m.parent = self }
    @nested_enums.each    { |e| e.parent = self }
    @resource.parent = self if @resource
  end

  OPTION_EXTENSION_NAMES = {
    "google.api.resource" => [1053, ::Google::Api::ResourceDescriptor]
  }.freeze

  ##
  # Return a configuration of supported option extensions.
  #
  def option_extension_names
    OPTION_EXTENSION_NAMES
  end

  # @return [Boolean] whether this type is a map entry
  def map_entry?
    descriptor.options&.map_entry
  end

  # @return [String] The full name for this message
  #   (e.g. `google.example.Message`).
  #   Useful when matching against other pieces of information
  #   which also reference full proto name.
  def full_name
    @address.join "."
  end

  # @return [Boolean] True if this message is marked as deprecated, false
  #   otherwise.
  def is_deprecated?
    option_named "deprecated"
  end

  # @!method name
  #   @return [String] the unqualified name of the message.
  # @!method oneof_decl
  #   @return [Array<Google::Protobuf::OneofDescriptorProto>]
  #     The oneofs declared in this message.
  # @!method options
  #   @return [Array<Google::Protobuf::MessageOptions>]
  #     The options of this meessage.
  def_delegators(
    :descriptor,
    :name,
    :oneof_decl,
    :options
  )
end

#nested_messagesObject (readonly)

@ return [Enumerable] The nested message declarations of a message.



662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
# File 'lib/gapic/schema/wrappers.rb', line 662

class Message < Proto
  extend Forwardable

  attr_reader :fields
  attr_reader :extensions
  attr_reader :resource
  attr_reader :nested_messages
  attr_reader :nested_enums

  # Initializes a message object.
  # @param descriptor [Google::Protobuf::DescriptorProto] the protobuf
  #   representation of this service.
  # @param address [Enumerable<String>] The address of the proto. See
  #   #address for more info.
  # @param docs [Google::Protobuf::SourceCodeInfo::Location] The docs
  #   of the proto. See #docs for more info.
  # @param fields [Enumerable<Field>] The fields of this message.
  # @param extensions [Enumerable<Field>] The extensions of this message.
  # @param resource [Resource,nil] The resource of this message, or nil if none.
  # @param nested_messages [Enumerable<Message>] The nested message
  #   declarations of this message.
  # @param nested_enums [Enumerable<Enum>] The nested enum declarations
  #   of this message.
  def initialize descriptor, address, docs, fields, extensions, resource,
                 nested_messages, nested_enums
    super descriptor, address, docs
    @fields = fields || []
    @extensions = extensions || []
    @resource = resource
    @nested_messages = nested_messages || []
    @nested_enums = nested_enums || []

    @fields.each          { |f| f.parent = self }
    @extensions.each      { |x| x.parent = self }
    @nested_messages.each { |m| m.parent = self }
    @nested_enums.each    { |e| e.parent = self }
    @resource.parent = self if @resource
  end

  OPTION_EXTENSION_NAMES = {
    "google.api.resource" => [1053, ::Google::Api::ResourceDescriptor]
  }.freeze

  ##
  # Return a configuration of supported option extensions.
  #
  def option_extension_names
    OPTION_EXTENSION_NAMES
  end

  # @return [Boolean] whether this type is a map entry
  def map_entry?
    descriptor.options&.map_entry
  end

  # @return [String] The full name for this message
  #   (e.g. `google.example.Message`).
  #   Useful when matching against other pieces of information
  #   which also reference full proto name.
  def full_name
    @address.join "."
  end

  # @return [Boolean] True if this message is marked as deprecated, false
  #   otherwise.
  def is_deprecated?
    option_named "deprecated"
  end

  # @!method name
  #   @return [String] the unqualified name of the message.
  # @!method oneof_decl
  #   @return [Array<Google::Protobuf::OneofDescriptorProto>]
  #     The oneofs declared in this message.
  # @!method options
  #   @return [Array<Google::Protobuf::MessageOptions>]
  #     The options of this meessage.
  def_delegators(
    :descriptor,
    :name,
    :oneof_decl,
    :options
  )
end

#resourceObject (readonly)

@ return [Resource,nil] A representation of the resource.



662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
# File 'lib/gapic/schema/wrappers.rb', line 662

class Message < Proto
  extend Forwardable

  attr_reader :fields
  attr_reader :extensions
  attr_reader :resource
  attr_reader :nested_messages
  attr_reader :nested_enums

  # Initializes a message object.
  # @param descriptor [Google::Protobuf::DescriptorProto] the protobuf
  #   representation of this service.
  # @param address [Enumerable<String>] The address of the proto. See
  #   #address for more info.
  # @param docs [Google::Protobuf::SourceCodeInfo::Location] The docs
  #   of the proto. See #docs for more info.
  # @param fields [Enumerable<Field>] The fields of this message.
  # @param extensions [Enumerable<Field>] The extensions of this message.
  # @param resource [Resource,nil] The resource of this message, or nil if none.
  # @param nested_messages [Enumerable<Message>] The nested message
  #   declarations of this message.
  # @param nested_enums [Enumerable<Enum>] The nested enum declarations
  #   of this message.
  def initialize descriptor, address, docs, fields, extensions, resource,
                 nested_messages, nested_enums
    super descriptor, address, docs
    @fields = fields || []
    @extensions = extensions || []
    @resource = resource
    @nested_messages = nested_messages || []
    @nested_enums = nested_enums || []

    @fields.each          { |f| f.parent = self }
    @extensions.each      { |x| x.parent = self }
    @nested_messages.each { |m| m.parent = self }
    @nested_enums.each    { |e| e.parent = self }
    @resource.parent = self if @resource
  end

  OPTION_EXTENSION_NAMES = {
    "google.api.resource" => [1053, ::Google::Api::ResourceDescriptor]
  }.freeze

  ##
  # Return a configuration of supported option extensions.
  #
  def option_extension_names
    OPTION_EXTENSION_NAMES
  end

  # @return [Boolean] whether this type is a map entry
  def map_entry?
    descriptor.options&.map_entry
  end

  # @return [String] The full name for this message
  #   (e.g. `google.example.Message`).
  #   Useful when matching against other pieces of information
  #   which also reference full proto name.
  def full_name
    @address.join "."
  end

  # @return [Boolean] True if this message is marked as deprecated, false
  #   otherwise.
  def is_deprecated?
    option_named "deprecated"
  end

  # @!method name
  #   @return [String] the unqualified name of the message.
  # @!method oneof_decl
  #   @return [Array<Google::Protobuf::OneofDescriptorProto>]
  #     The oneofs declared in this message.
  # @!method options
  #   @return [Array<Google::Protobuf::MessageOptions>]
  #     The options of this meessage.
  def_delegators(
    :descriptor,
    :name,
    :oneof_decl,
    :options
  )
end

Instance Method Details

#full_nameString

Returns The full name for this message (e.g. google.example.Message). Useful when matching against other pieces of information which also reference full proto name.

Returns:

  • (String)

    The full name for this message (e.g. google.example.Message). Useful when matching against other pieces of information which also reference full proto name.



721
722
723
# File 'lib/gapic/schema/wrappers.rb', line 721

def full_name
  @address.join "."
end

#is_deprecated?Boolean

Returns True if this message is marked as deprecated, false otherwise.

Returns:

  • (Boolean)

    True if this message is marked as deprecated, false otherwise.



727
728
729
# File 'lib/gapic/schema/wrappers.rb', line 727

def is_deprecated?
  option_named "deprecated"
end

#map_entry?Boolean

Returns whether this type is a map entry.

Returns:

  • (Boolean)

    whether this type is a map entry



713
714
715
# File 'lib/gapic/schema/wrappers.rb', line 713

def map_entry?
  descriptor.options&.map_entry
end

#nameString

Returns the unqualified name of the message.

Returns:

  • (String)

    the unqualified name of the message.



739
740
741
742
743
744
# File 'lib/gapic/schema/wrappers.rb', line 739

def_delegators(
  :descriptor,
  :name,
  :oneof_decl,
  :options
)

#oneof_declArray<Google::Protobuf::OneofDescriptorProto>

Returns The oneofs declared in this message.

Returns:

  • (Array<Google::Protobuf::OneofDescriptorProto>)

    The oneofs declared in this message.



739
740
741
742
743
744
# File 'lib/gapic/schema/wrappers.rb', line 739

def_delegators(
  :descriptor,
  :name,
  :oneof_decl,
  :options
)

#option_extension_namesObject

Return a configuration of supported option extensions.



708
709
710
# File 'lib/gapic/schema/wrappers.rb', line 708

def option_extension_names
  OPTION_EXTENSION_NAMES
end

#optionsArray<Google::Protobuf::MessageOptions>

Returns The options of this meessage.

Returns:

  • (Array<Google::Protobuf::MessageOptions>)

    The options of this meessage.



739
740
741
742
743
744
# File 'lib/gapic/schema/wrappers.rb', line 739

def_delegators(
  :descriptor,
  :name,
  :oneof_decl,
  :options
)