Class: Google::Cloud::Storage::Bucket::Updater

Inherits:
Google::Cloud::Storage::Bucket show all
Defined in:
lib/google/cloud/storage/bucket.rb

Overview

Yielded to a block to accumulate changes for a patch request.

Instance Attribute Summary collapse

Attributes inherited from Google::Cloud::Storage::Bucket

#user_project

Instance Method Summary collapse

Methods inherited from Google::Cloud::Storage::Bucket

#acl, #api_url, #autoclass, #autoclass_enabled, #autoclass_enabled=, #autoclass_terminal_storage_class, #autoclass_terminal_storage_class_update_time, #autoclass_toggle_time, #compose, #create_file, #create_notification, #created_at, #data_locations, #default_acl, #default_event_based_hold=, #default_event_based_hold?, #default_kms_key, #default_kms_key=, #delete, #exists?, #file, #files, #generate_signed_post_policy_v4, #generation, #hard_delete_time, #hierarchical_namespace, #hierarchical_namespace=, #id, #kind, #location, #location_type, #lock_retention_policy!, #logging_bucket, #logging_bucket=, #logging_prefix, #logging_prefix=, #metageneration, #move_file, #name, #notification, #notifications, #object_retention, #policy, #policy_only=, #policy_only?, #policy_only_locked_at, #post_object, #public_access_prevention, #public_access_prevention=, #public_access_prevention_enforced?, #public_access_prevention_inherited?, #reload!, #requester_pays, #requester_pays=, #restore_file, #retention_effective_at, #retention_period, #retention_period=, #retention_policy_locked?, #rpo, #rpo=, #signed_url, #soft_delete_policy, #soft_delete_policy=, #soft_delete_time, #storage_class, #storage_class=, #test_permissions, #uniform_bucket_level_access=, #uniform_bucket_level_access?, #uniform_bucket_level_access_locked_at, #update, #update_autoclass, #update_policy, #versioning=, #versioning?, #website_404, #website_404=, #website_main, #website_main=

Constructor Details

#initialize(gapi) ⇒ Updater

Create an Updater object.



3320
3321
3322
3323
3324
3325
3326
3327
# File 'lib/google/cloud/storage/bucket.rb', line 3320

def initialize gapi
  super()
  @updates = []
  @gapi = gapi
  @labels = @gapi.labels.to_h.dup
  @cors_builder = nil
  @lifecycle_builder = nil
end

Instance Attribute Details

#updatesObject (readonly)

Returns the value of attribute updates.



3316
3317
3318
# File 'lib/google/cloud/storage/bucket.rb', line 3316

def updates
  @updates
end

Instance Method Details

#cors {|@cors_builder| ... } ⇒ Object

Yields:

  • (@cors_builder)


3357
3358
3359
3360
3361
3362
# File 'lib/google/cloud/storage/bucket.rb', line 3357

def cors
  # Same as Bucket#cors, but not frozen
  @cors_builder ||= Bucket::Cors.from_gapi @gapi.cors_configurations
  yield @cors_builder if block_given?
  @cors_builder
end

#labelsHash(String => String)

A hash of user-provided labels. Changes are allowed.

Returns:

  • (Hash(String => String))


3334
3335
3336
# File 'lib/google/cloud/storage/bucket.rb', line 3334

def labels
  @labels
end

#labels=(labels) ⇒ Object

Updates the hash of user-provided labels.

Parameters:

  • labels (Hash(String => String))

    The user-provided labels.



3343
3344
3345
3346
3347
# File 'lib/google/cloud/storage/bucket.rb', line 3343

def labels= labels
  @labels = labels
  @gapi.labels = @labels
  patch_gapi! :labels
end

#lifecycle {|@lifecycle_builder| ... } ⇒ Object

Yields:

  • (@lifecycle_builder)


3373
3374
3375
3376
3377
3378
# File 'lib/google/cloud/storage/bucket.rb', line 3373

def lifecycle
  # Same as Bucket#lifecycle, but not frozen
  @lifecycle_builder ||= Bucket::Lifecycle.from_gapi @gapi.lifecycle
  yield @lifecycle_builder if block_given?
  @lifecycle_builder
end