module GoodData::Mixin::MdGrantees
Public Instance Methods
change_permission(opts)
click to toggle source
# File lib/gooddata/mixins/md_grantees.rb, line 24 def change_permission(opts) permission = opts[:permission] member = opts[:member] op = opts[:operation] klasses = [GoodData::Profile, GoodData::UserGroup, GoodData::Membership] fail "Permission has to be set. Current value '#{permission}'" unless permission fail 'Member has to be either user or group' unless klasses.any? { |c| member.is_a?(c) } payload = { granteeURIs: { items: [ { aclEntryURI: { permission: permission, grantee: member.uri } } ] } } client.post(uri + '/grantees/' + op.to_s, payload) end
grant(opts = {})
click to toggle source
# File lib/gooddata/mixins/md_grantees.rb, line 16 def grant(opts = {}) change_permission(opts.merge(operation: :add)) end
grantees(opts = {})
click to toggle source
# File lib/gooddata/mixins/md_grantees.rb, line 10 def grantees(opts = {}) permission = opts[:permission] params = permission ? { permission: permission } : {} client.get(uri + '/grantees', params: params) end
revoke(opts = {})
click to toggle source
# File lib/gooddata/mixins/md_grantees.rb, line 20 def revoke(opts = {}) change_permission(opts.merge(operation: :remove)) end