class GoodData::ProjectRole
Constants
- EMPTY_OBJECT
Public Class Methods
Source
# File lib/gooddata/models/project_role.rb, line 29 def self.create_object(data) meta_data = {}.tap do |d| d[:created] = data[:created] || Time.now d[:identifier] = data[:identifier] d[:updated] = data[:updated] || d[:created] || Time.now d[:title] = data[:title] d[:summary] = data[:summary] d[:uri] = data[:uri] end new_data = GoodData::Helpers.deep_dup(EMPTY_OBJECT).tap do |d| d['projectRole']['links']['self'] = data[:uri] if data[:uri] d['projectRole']['meta'] = d['projectRole']['meta'].merge(GoodData::Helpers.stringify_keys(meta_data)) d['projectRole']['permissions'] = d['projectRole']['permissions'].merge(GoodData::Helpers.stringify_keys(data[:permissions] || {})) end new(new_data) end
Source
# File lib/gooddata/models/project_role.rb, line 46 def initialize(json) @json = json end
Public Instance Methods
Source
# File lib/gooddata/models/project_role.rb, line 74 def ==(other) uri == other.uri end
Source
# File lib/gooddata/models/project_role.rb, line 70 def uri @json['projectRole']['meta']['uri'] end
Gets Raw object URI
@return [string] URI of this project role
Source
# File lib/gooddata/models/project_role.rb, line 57 def users url = uri + '/users' tmp = client.get url tmp['associatedUsers']['users'].pmap do |user_url| url = user_url user = client.get url client.create(GoodData::Profile, user) end end
Gets Users with this Role
@return [Array<GoodData::Profile>] List of users