Class: GoodData::Invitation

Inherits:
Rest::Resource show all
Defined in:
lib/gooddata/models/invitation.rb

Instance Attribute Summary

Attributes inherited from Rest::Object

#client, #json

Instance Method Summary collapse

Methods included from Mixin::ObjId

#obj_id

Methods inherited from Rest::Object

client, default_client, #saved?

Methods included from Mixin::DataPropertyReader

#data_property_reader

Methods included from Mixin::DataPropertyWriter

#data_property_writer

Methods included from Mixin::MetaPropertyReader

#metadata_property_reader

Methods included from Mixin::MetaPropertyWriter

#metadata_property_writer

Methods included from Mixin::MetaGetter

#meta

Methods included from Mixin::DataGetter

#data

Methods included from Mixin::RootKeyGetter

#root_key

Methods included from Mixin::ContentGetter

#content

Constructor Details

#initialize(json) ⇒ Invitation

Returns a new instance of Invitation.



11
12
13
# File 'lib/gooddata/models/invitation.rb', line 11

def initialize(json)
  @json = json
end

Instance Method Details

#contributorObject



15
16
17
18
# File 'lib/gooddata/models/invitation.rb', line 15

def contributor
  data = client.get @json['invitation']['meta']['contributor']
  client.create GoodData::AccountSettings, data
end

#createdObject



20
21
22
# File 'lib/gooddata/models/invitation.rb', line 20

def created
  DateTime.parse(@json['invitation']['meta']['created'])
end

#emailObject



24
25
26
# File 'lib/gooddata/models/invitation.rb', line 24

def email
  @json['invitation']['content']['email']
end

#first_nameObject



28
29
30
# File 'lib/gooddata/models/invitation.rb', line 28

def first_name
  @json['invitation']['content']['firstname']
end

#phoneObject



32
33
34
# File 'lib/gooddata/models/invitation.rb', line 32

def phone
  @json['invitation']['content']['phone']
end

#profileObject



36
37
38
39
# File 'lib/gooddata/models/invitation.rb', line 36

def profile
  data = client.get @json['invitation']['links']['profile']
  client.create GoodData::AccountSettings, data
end

#projectObject



41
42
43
44
# File 'lib/gooddata/models/invitation.rb', line 41

def project
  data = client.get @json['invitation']['links']['project']
  client.create GoodData::Project, data
end

#project_nameObject



46
47
48
# File 'lib/gooddata/models/invitation.rb', line 46

def project_name
  @json['invitation']['content']['projectname']
end

#roleObject



50
51
52
53
# File 'lib/gooddata/models/invitation.rb', line 50

def role
  # TODO: Return object instead
  @json['invitation']['content']['role']
end

#statusObject



55
56
57
# File 'lib/gooddata/models/invitation.rb', line 55

def status
  @json['invitation']['content']['status']
end

#summaryObject



59
60
61
# File 'lib/gooddata/models/invitation.rb', line 59

def summary
  @json['invitation']['content']['summary']
end

#titleObject



63
64
65
# File 'lib/gooddata/models/invitation.rb', line 63

def title
  @json['invitation']['content']['title']
end

#updatedObject



67
68
69
# File 'lib/gooddata/models/invitation.rb', line 67

def updated
  DateTime.parse(@json['invitation']['meta']['updated'])
end

#uriObject



71
72
73
# File 'lib/gooddata/models/invitation.rb', line 71

def uri
  @json['invitation']['links']['self']
end