Class: Gapic::Schema::File

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

Overview

Wrapper for a protobuf file.

Instance Attribute Summary collapse

Attributes inherited from Proto

#address, #descriptor, #docs, #parent

Instance Method Summary collapse

Methods inherited from Proto

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

Constructor Details

#initialize(descriptor, address, docs, messages, enums, services, resources, generate, registry) ⇒ File

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.

  • messages (Enumerable<Message>)

    The top level messages of this file.

  • enums (Enumerable<Enum>)

    The top level enums of this file.

  • services (Enumerable<Service>)

    The services of this file.

  • resources (Enumerable<Resource>)

    The resources from this file.

  • generate (Boolean)

    Whether this file should be generated.



521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
# File 'lib/gapic/schema/wrappers.rb', line 521

def initialize descriptor, address, docs, messages, enums, services,
               resources, generate, registry
  super descriptor, address, docs
  @messages = messages || []
  @enums = enums || []
  @services = services || []
  @resources = resources || []
  @generate = generate
  @registry = registry

  # Apply parent
  @messages.each { |m| m.parent = self }
  @enums.each { |m| m.parent = self }
  @services.each { |m| m.parent = self }
  @resources.each { |m| m.parent = self }
end

Instance Attribute Details

#enumsEnumerable<Enum> (readonly)

Returns The top level enums contained in this file.

Returns:

  • (Enumerable<Enum>)

    The top level enums contained in this file.



499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
# File 'lib/gapic/schema/wrappers.rb', line 499

class File < Proto
  extend Forwardable

  attr_reader :messages
  attr_reader :enums
  attr_reader :services
  attr_reader :resources
  attr_reader :registry

  # 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 messages [Enumerable<Message>] The top level messages of this
  #   file.
  # @param enums [Enumerable<Enum>] The top level enums of this file.
  # @param services [Enumerable<Service>] The services of this file.
  # @param resources [Enumerable<Resource>] The resources from this file.
  # @param generate [Boolean] Whether this file should be generated.
  def initialize descriptor, address, docs, messages, enums, services,
                 resources, generate, registry
    super descriptor, address, docs
    @messages = messages || []
    @enums = enums || []
    @services = services || []
    @resources = resources || []
    @generate = generate
    @registry = registry

    # Apply parent
    @messages.each { |m| m.parent = self }
    @enums.each { |m| m.parent = self }
    @services.each { |m| m.parent = self }
    @resources.each { |m| m.parent = self }
  end

  def containing_file
    self
  end

  def lookup address
    address = address.split(".").reject(&:empty?).join(".")
    @registry[address]
  end

  def generate?
    @generate
  end

  # @return [String] Ruby Package
  def ruby_package
    option_named "ruby_package"
  end

  # @!method name
  #   @return [String] file name, relative to root of source tree.
  # @!method package
  #   @return [String] package of the file. e.g. "foo", "foo.bar", etc.
  # @!method dependency
  #   @return [Array<String>] Names of files imported by this file.
  # @!method public_dependency
  #   @return [Array<Integer>] Indexes of the public imported files in the
  #     dependency list returned by #dependency.
  # @!method options
  #   @return [Google::Protobuf::FileOptions] the options of this file.
  def_delegators(
    :descriptor,
    :name,
    :package,
    :dependency,
    :public_dependency,
    :options
  )
end

#messagesEnumerable<Message> (readonly)

Returns The top level messages contained in this file.

Returns:

  • (Enumerable<Message>)

    The top level messages contained in this file.



499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
# File 'lib/gapic/schema/wrappers.rb', line 499

class File < Proto
  extend Forwardable

  attr_reader :messages
  attr_reader :enums
  attr_reader :services
  attr_reader :resources
  attr_reader :registry

  # 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 messages [Enumerable<Message>] The top level messages of this
  #   file.
  # @param enums [Enumerable<Enum>] The top level enums of this file.
  # @param services [Enumerable<Service>] The services of this file.
  # @param resources [Enumerable<Resource>] The resources from this file.
  # @param generate [Boolean] Whether this file should be generated.
  def initialize descriptor, address, docs, messages, enums, services,
                 resources, generate, registry
    super descriptor, address, docs
    @messages = messages || []
    @enums = enums || []
    @services = services || []
    @resources = resources || []
    @generate = generate
    @registry = registry

    # Apply parent
    @messages.each { |m| m.parent = self }
    @enums.each { |m| m.parent = self }
    @services.each { |m| m.parent = self }
    @resources.each { |m| m.parent = self }
  end

  def containing_file
    self
  end

  def lookup address
    address = address.split(".").reject(&:empty?).join(".")
    @registry[address]
  end

  def generate?
    @generate
  end

  # @return [String] Ruby Package
  def ruby_package
    option_named "ruby_package"
  end

  # @!method name
  #   @return [String] file name, relative to root of source tree.
  # @!method package
  #   @return [String] package of the file. e.g. "foo", "foo.bar", etc.
  # @!method dependency
  #   @return [Array<String>] Names of files imported by this file.
  # @!method public_dependency
  #   @return [Array<Integer>] Indexes of the public imported files in the
  #     dependency list returned by #dependency.
  # @!method options
  #   @return [Google::Protobuf::FileOptions] the options of this file.
  def_delegators(
    :descriptor,
    :name,
    :package,
    :dependency,
    :public_dependency,
    :options
  )
end

#registryObject (readonly)

Returns the value of attribute registry.



506
507
508
# File 'lib/gapic/schema/wrappers.rb', line 506

def registry
  @registry
end

#resourcesEnumerable<Resource> (readonly)

Returns The top level resources contained in this file.

Returns:

  • (Enumerable<Resource>)

    The top level resources contained in this file.



499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
# File 'lib/gapic/schema/wrappers.rb', line 499

class File < Proto
  extend Forwardable

  attr_reader :messages
  attr_reader :enums
  attr_reader :services
  attr_reader :resources
  attr_reader :registry

  # 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 messages [Enumerable<Message>] The top level messages of this
  #   file.
  # @param enums [Enumerable<Enum>] The top level enums of this file.
  # @param services [Enumerable<Service>] The services of this file.
  # @param resources [Enumerable<Resource>] The resources from this file.
  # @param generate [Boolean] Whether this file should be generated.
  def initialize descriptor, address, docs, messages, enums, services,
                 resources, generate, registry
    super descriptor, address, docs
    @messages = messages || []
    @enums = enums || []
    @services = services || []
    @resources = resources || []
    @generate = generate
    @registry = registry

    # Apply parent
    @messages.each { |m| m.parent = self }
    @enums.each { |m| m.parent = self }
    @services.each { |m| m.parent = self }
    @resources.each { |m| m.parent = self }
  end

  def containing_file
    self
  end

  def lookup address
    address = address.split(".").reject(&:empty?).join(".")
    @registry[address]
  end

  def generate?
    @generate
  end

  # @return [String] Ruby Package
  def ruby_package
    option_named "ruby_package"
  end

  # @!method name
  #   @return [String] file name, relative to root of source tree.
  # @!method package
  #   @return [String] package of the file. e.g. "foo", "foo.bar", etc.
  # @!method dependency
  #   @return [Array<String>] Names of files imported by this file.
  # @!method public_dependency
  #   @return [Array<Integer>] Indexes of the public imported files in the
  #     dependency list returned by #dependency.
  # @!method options
  #   @return [Google::Protobuf::FileOptions] the options of this file.
  def_delegators(
    :descriptor,
    :name,
    :package,
    :dependency,
    :public_dependency,
    :options
  )
end

#servicesEnumerable<Service> (readonly)

Returns The services contained in this file.

Returns:

  • (Enumerable<Service>)

    The services contained in this file.



499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
# File 'lib/gapic/schema/wrappers.rb', line 499

class File < Proto
  extend Forwardable

  attr_reader :messages
  attr_reader :enums
  attr_reader :services
  attr_reader :resources
  attr_reader :registry

  # 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 messages [Enumerable<Message>] The top level messages of this
  #   file.
  # @param enums [Enumerable<Enum>] The top level enums of this file.
  # @param services [Enumerable<Service>] The services of this file.
  # @param resources [Enumerable<Resource>] The resources from this file.
  # @param generate [Boolean] Whether this file should be generated.
  def initialize descriptor, address, docs, messages, enums, services,
                 resources, generate, registry
    super descriptor, address, docs
    @messages = messages || []
    @enums = enums || []
    @services = services || []
    @resources = resources || []
    @generate = generate
    @registry = registry

    # Apply parent
    @messages.each { |m| m.parent = self }
    @enums.each { |m| m.parent = self }
    @services.each { |m| m.parent = self }
    @resources.each { |m| m.parent = self }
  end

  def containing_file
    self
  end

  def lookup address
    address = address.split(".").reject(&:empty?).join(".")
    @registry[address]
  end

  def generate?
    @generate
  end

  # @return [String] Ruby Package
  def ruby_package
    option_named "ruby_package"
  end

  # @!method name
  #   @return [String] file name, relative to root of source tree.
  # @!method package
  #   @return [String] package of the file. e.g. "foo", "foo.bar", etc.
  # @!method dependency
  #   @return [Array<String>] Names of files imported by this file.
  # @!method public_dependency
  #   @return [Array<Integer>] Indexes of the public imported files in the
  #     dependency list returned by #dependency.
  # @!method options
  #   @return [Google::Protobuf::FileOptions] the options of this file.
  def_delegators(
    :descriptor,
    :name,
    :package,
    :dependency,
    :public_dependency,
    :options
  )
end

Instance Method Details

#containing_fileObject



538
539
540
# File 'lib/gapic/schema/wrappers.rb', line 538

def containing_file
  self
end

#dependencyArray<String>

Returns Names of files imported by this file.

Returns:

  • (Array<String>)

    Names of files imported by this file.



567
568
569
570
571
572
573
574
# File 'lib/gapic/schema/wrappers.rb', line 567

def_delegators(
  :descriptor,
  :name,
  :package,
  :dependency,
  :public_dependency,
  :options
)

#generate?Boolean

Returns:

  • (Boolean)


547
548
549
# File 'lib/gapic/schema/wrappers.rb', line 547

def generate?
  @generate
end

#lookup(address) ⇒ Object



542
543
544
545
# File 'lib/gapic/schema/wrappers.rb', line 542

def lookup address
  address = address.split(".").reject(&:empty?).join(".")
  @registry[address]
end

#nameString

Returns file name, relative to root of source tree.

Returns:

  • (String)

    file name, relative to root of source tree.



567
568
569
570
571
572
573
574
# File 'lib/gapic/schema/wrappers.rb', line 567

def_delegators(
  :descriptor,
  :name,
  :package,
  :dependency,
  :public_dependency,
  :options
)

#optionsGoogle::Protobuf::FileOptions

Returns the options of this file.

Returns:

  • (Google::Protobuf::FileOptions)

    the options of this file.



567
568
569
570
571
572
573
574
# File 'lib/gapic/schema/wrappers.rb', line 567

def_delegators(
  :descriptor,
  :name,
  :package,
  :dependency,
  :public_dependency,
  :options
)

#packageString

Returns package of the file. e.g. "foo", "foo.bar", etc.

Returns:

  • (String)

    package of the file. e.g. "foo", "foo.bar", etc.



567
568
569
570
571
572
573
574
# File 'lib/gapic/schema/wrappers.rb', line 567

def_delegators(
  :descriptor,
  :name,
  :package,
  :dependency,
  :public_dependency,
  :options
)

#public_dependencyArray<Integer>

Returns Indexes of the public imported files in the dependency list returned by #dependency.

Returns:

  • (Array<Integer>)

    Indexes of the public imported files in the dependency list returned by #dependency.



567
568
569
570
571
572
573
574
# File 'lib/gapic/schema/wrappers.rb', line 567

def_delegators(
  :descriptor,
  :name,
  :package,
  :dependency,
  :public_dependency,
  :options
)

#ruby_packageString

Returns Ruby Package.

Returns:

  • (String)

    Ruby Package



552
553
554
# File 'lib/gapic/schema/wrappers.rb', line 552

def ruby_package
  option_named "ruby_package"
end