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

#contributor ⇒ Object



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

#created ⇒ Object



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

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

#email ⇒ Object



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

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

#first_name ⇒ Object



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

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

#phone ⇒ Object



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

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

#profile ⇒ Object



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

#project ⇒ Object



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_name ⇒ Object



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

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

#role ⇒ Object



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

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

#status ⇒ Object



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

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

#summary ⇒ Object



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

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

#title ⇒ Object



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

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

#updated ⇒ Object



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

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

#uri ⇒ Object



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

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