Class: Fog::Compute::Ecloud::Roles

Inherits:
Ecloud::Collection show all
Defined in:
lib/fog/compute/ecloud/models/roles.rb

Instance Method Summary collapse

Methods inherited from Ecloud::Collection

#check_href!, #load

Instance Method Details

#allObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/fog/compute/ecloud/models/roles.rb', line 11

def all
  data = service.get_roles(href).body
  if data[:OrganizationRole]
    load(data[:OrganizationRole])
  else
    r_data = []
    data[:EnvironmentRoles][:EnvironmentRole].each do |d|
      d[:Environment][:EnvironmentName] = d[:Environment][:name]
      d[:Environment] = d[:Environment].merge(d[:Role]) if d[:Role]
      r_data << d[:Environment]
    end
    load(r_data)
  end
end

#get(uri) ⇒ Object



26
27
28
29
30
31
32
33
# File 'lib/fog/compute/ecloud/models/roles.rb', line 26

def get(uri)
  if data = service.get_role(uri)
    new(data.body)
  end
rescue ServiceError => e
  raise e unless e.status_code == 404
  nil
end