Method: GoodData::ProjectRole.create_object

Defined in:
lib/gooddata/models/project_role.rb

.create_object(data) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/gooddata/models/project_role.rb', line 29

def self.create_object(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())
    d['projectRole']['permissions'] = d['projectRole']['permissions'].merge(GoodData::Helpers.stringify_keys(data[:permissions] || {}))
  end
  new(new_data)
end