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)
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
|