Class: Google::Cloud::Storage::File::Acl
- Inherits:
-
Object
- Object
- Google::Cloud::Storage::File::Acl
- Defined in:
- lib/google/cloud/storage/file/acl.rb
Overview
File Access Control List
Represents a File's Access Control List.
Instance Method Summary collapse
-
#add_owner(entity, generation: nil) ⇒ Object
Grants owner permission to the file.
-
#add_reader(entity, generation: nil) ⇒ Object
Grants reader permission to the file.
-
#auth! ⇒ Object
(also: #authenticatedRead!, #auth_read!, #authenticated!, #authenticated_read!)
Convenience method to apply the
authenticatedRead
predefined ACL rule to the file. -
#delete(entity, generation: nil) ⇒ Object
Permanently deletes the entity from the file's access control list.
-
#owner_full! ⇒ Object
(also: #bucketOwnerFullControl!)
Convenience method to apply the
bucketOwnerFullControl
predefined ACL rule to the file. -
#owner_read! ⇒ Object
(also: #bucketOwnerRead!)
Convenience method to apply the
bucketOwnerRead
predefined ACL rule to the file. -
#owners ⇒ Array<String>
Lists the owners of the file.
-
#private! ⇒ Object
Convenience method to apply the
private
predefined ACL rule to the file. -
#project_private! ⇒ Object
(also: #projectPrivate!)
Convenience method to apply the
projectPrivate
predefined ACL rule to the file. -
#public! ⇒ Object
(also: #publicRead!, #public_read!)
Convenience method to apply the
publicRead
predefined ACL rule to the file. -
#readers ⇒ Array<String>
Lists the readers of the file.
-
#reload! ⇒ Object
(also: #refresh!)
Reloads all Access Control List data for the file.
Instance Method Details
#add_owner(entity, generation: nil) ⇒ Object
Grants owner permission to the file.
165 166 167 168 169 170 171 172 |
# File 'lib/google/cloud/storage/file/acl.rb', line 165 def add_owner entity, generation: nil = { generation: generation } gapi = @service.insert_file_acl @bucket, @file, entity, "OWNER", entity = gapi.entity @owners.push entity unless @owners.nil? entity end |
#add_reader(entity, generation: nil) ⇒ Object
Grants reader permission to the file.
214 215 216 217 218 219 220 221 |
# File 'lib/google/cloud/storage/file/acl.rb', line 214 def add_reader entity, generation: nil = { generation: generation } gapi = @service.insert_file_acl @bucket, @file, entity, "READER", entity = gapi.entity @readers.push entity unless @readers.nil? entity end |
#auth! ⇒ Object Also known as: authenticatedRead!, auth_read!, authenticated!, authenticated_read!
Convenience method to apply the authenticatedRead
predefined ACL
rule to the file.
281 282 283 |
# File 'lib/google/cloud/storage/file/acl.rb', line 281 def auth! update_predefined_acl! "authenticatedRead" end |
#delete(entity, generation: nil) ⇒ Object
Permanently deletes the entity from the file's access control list.
252 253 254 255 256 257 258 |
# File 'lib/google/cloud/storage/file/acl.rb', line 252 def delete entity, generation: nil = { generation: generation } @service.delete_file_acl @bucket, @file, entity, @owners.delete entity unless @owners.nil? @readers.delete entity unless @readers.nil? true end |
#owner_full! ⇒ Object Also known as: bucketOwnerFullControl!
Convenience method to apply the bucketOwnerFullControl
predefined
ACL rule to the file.
303 304 305 |
# File 'lib/google/cloud/storage/file/acl.rb', line 303 def owner_full! update_predefined_acl! "bucketOwnerFullControl" end |
#owner_read! ⇒ Object Also known as: bucketOwnerRead!
Convenience method to apply the bucketOwnerRead
predefined ACL
rule to the file.
322 323 324 |
# File 'lib/google/cloud/storage/file/acl.rb', line 322 def owner_read! update_predefined_acl! "bucketOwnerRead" end |
#owners ⇒ Array<String>
Lists the owners of the file.
100 101 102 103 |
# File 'lib/google/cloud/storage/file/acl.rb', line 100 def owners reload! if @owners.nil? @owners end |
#private! ⇒ Object
Convenience method to apply the private
predefined ACL
rule to the file.
341 342 343 |
# File 'lib/google/cloud/storage/file/acl.rb', line 341 def private! update_predefined_acl! "private" end |
#project_private! ⇒ Object Also known as: projectPrivate!
Convenience method to apply the projectPrivate
predefined ACL
rule to the file.
359 360 361 |
# File 'lib/google/cloud/storage/file/acl.rb', line 359 def project_private! update_predefined_acl! "projectPrivate" end |
#public! ⇒ Object Also known as: publicRead!, public_read!
Convenience method to apply the publicRead
predefined ACL
rule to the file.
378 379 380 |
# File 'lib/google/cloud/storage/file/acl.rb', line 378 def public! update_predefined_acl! "publicRead" end |
#readers ⇒ Array<String>
Lists the readers of the file.
120 121 122 123 |
# File 'lib/google/cloud/storage/file/acl.rb', line 120 def readers reload! if @readers.nil? @readers end |
#reload! ⇒ Object Also known as: refresh!
Reloads all Access Control List data for the file.
77 78 79 80 81 82 |
# File 'lib/google/cloud/storage/file/acl.rb', line 77 def reload! gapi = @service.list_file_acls @bucket, @file acls = Array(gapi.items) @owners = entities_from_acls acls, "OWNER" @readers = entities_from_acls acls, "READER" end |