Class: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDirectory

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/remotebuildexecution_v1alpha/classes.rb,
generated/google/apis/remotebuildexecution_v1alpha/representations.rb,
generated/google/apis/remotebuildexecution_v1alpha/representations.rb

Overview

A Directory represents a directory node in a file tree, containing zero or more children FileNodes and DirectoryNodes. Each Node contains its name in the directory, the digest of its content (either a file blob or a Directory proto), as well as possibly some metadata about the file or directory. In order to ensure that two equivalent directory trees hash to the same value, the following restrictions MUST be obeyed when constructing a a Directory:

  • Every child in the directory must have a path of exactly one segment. Multiple levels of directory hierarchy may not be collapsed.
  • Each child in the directory must have a unique path segment (file name).
  • The files and directories in the directory must each be sorted in lexicographical order by path. The path strings must be sorted by code point, equivalently, by UTF-8 bytes. A Directory that obeys the restrictions is said to be in canonical form. As an example, the following could be used for a file named bar and a directory named foo with an executable file named baz (hashes shortened for readability): json // (Directory proto) ` files: [ ` name: "bar", digest: ` hash: "4a73bc9d03...", size: 65534 ` ` ], directories: [ ` name: "foo", digest: ` hash: "4cf2eda940...", size: 43 ` ` ] ` // (Directory proto with hash "4cf2eda940..." and size 43) ` files: [ ` name: "baz", digest: ` hash: "b2c941073e...", size: 1294, `, is_executable: true ` ] `

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ GoogleDevtoolsRemoteexecutionV1testDirectory

Returns a new instance of GoogleDevtoolsRemoteexecutionV1testDirectory



2384
2385
2386
# File 'generated/google/apis/remotebuildexecution_v1alpha/classes.rb', line 2384

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#directoriesArray<Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDirectoryNode>

The subdirectories in the directory. Corresponds to the JSON property directories



2377
2378
2379
# File 'generated/google/apis/remotebuildexecution_v1alpha/classes.rb', line 2377

def directories
  @directories
end

#filesArray<Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testFileNode>

The files in the directory. Corresponds to the JSON property files



2382
2383
2384
# File 'generated/google/apis/remotebuildexecution_v1alpha/classes.rb', line 2382

def files
  @files
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2389
2390
2391
2392
# File 'generated/google/apis/remotebuildexecution_v1alpha/classes.rb', line 2389

def update!(**args)
  @directories = args[:directories] if args.key?(:directories)
  @files = args[:files] if args.key?(:files)
end