mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
Minor bug fix when acls are nil. Also, added support for specifying list of users for grant and revoke as a comma-separated list.
This commit is contained in:
parent
3274dc6b7c
commit
ee2168a855
1 changed files with 20 additions and 8 deletions
|
@ -52,26 +52,38 @@ module Fog
|
||||||
return users
|
return users
|
||||||
end
|
end
|
||||||
|
|
||||||
def grant(perm, users=[])
|
def grant(perm, users=nil)
|
||||||
r_acl, w_acl = connection.perm_to_acl(perm, users)
|
# support passing in a list of users in a comma-separated list or as an Array
|
||||||
unless r_acl.nil?
|
if users.is_a?(String)
|
||||||
|
user_list = users.split(',')
|
||||||
|
else
|
||||||
|
user_list = users
|
||||||
|
end
|
||||||
|
r_acl, w_acl = connection.perm_to_acl(perm, user_list)
|
||||||
|
unless r_acl.nil? || r_acl.empty?
|
||||||
@read_acl = @read_acl + r_acl
|
@read_acl = @read_acl + r_acl
|
||||||
@read_acl.uniq!
|
@read_acl.uniq!
|
||||||
end
|
end
|
||||||
unless w_acl.nil?
|
unless w_acl.nil? || w_acl.empty?
|
||||||
@write_acl = @write_acl + w_acl
|
@write_acl = @write_acl + w_acl
|
||||||
@write_acl.uniq!
|
@write_acl.uniq!
|
||||||
end
|
end
|
||||||
true
|
true
|
||||||
end
|
end
|
||||||
|
|
||||||
def revoke(perm, users=[])
|
def revoke(perm, users=nil)
|
||||||
r_acl, w_acl = connection.perm_to_acl(perm, users)
|
# support passing in a list of users in a comma-separated list or as an Array
|
||||||
unless r_acl.nil?
|
if users.is_a?(String)
|
||||||
|
user_list = users.split(',')
|
||||||
|
else
|
||||||
|
user_list = users
|
||||||
|
end
|
||||||
|
r_acl, w_acl = connection.perm_to_acl(perm, user_list)
|
||||||
|
unless (r_acl.nil? || r_acl.empty?) && (@read_acl.nil? || @read_acl.empty?)
|
||||||
@read_acl = @read_acl - r_acl
|
@read_acl = @read_acl - r_acl
|
||||||
@read_acl.uniq!
|
@read_acl.uniq!
|
||||||
end
|
end
|
||||||
unless w_acl.nil?
|
unless (w_acl.nil? || w_acl.empty?) && (@write_acl.nil? || @write_acl.empty?)
|
||||||
@write_acl = @write_acl - w_acl
|
@write_acl = @write_acl - w_acl
|
||||||
@write_acl.uniq!
|
@write_acl.uniq!
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Reference in a new issue