Parent

Class/Module Index [+]

Quicksearch

Fog::Rackspace::Identity::ServiceCatalog

Attributes

catalog[R]

Public Class Methods

from_response(service, hash) click to toggle source
# File lib/fog/rackspace/models/identity/service_catalog.rb, line 49
def self.from_response(service, hash)
  service_catalog = ServiceCatalog.new :service => service
  services = hash["access"]["serviceCatalog"]
  services.each do |serv|
    name = serv["name"].to_sym
    service_catalog.send(:add_endpoints, name, serv)
  end
  service_catalog
end
new(attributes) click to toggle source
# File lib/fog/rackspace/models/identity/service_catalog.rb, line 9
def initialize(attributes)
  @service = attributes.delete(:service)
  @catalog = {}
end

Public Instance Methods

display_service_regions(service_type) click to toggle source
# File lib/fog/rackspace/models/identity/service_catalog.rb, line 23
def display_service_regions(service_type)
  endpoints = get_endpoints(service_type)
  endpoints.collect { |k,v| ":#{k}" }.join(", ")          
end
get_endpoint(service_type, region=nil) click to toggle source
# File lib/fog/rackspace/models/identity/service_catalog.rb, line 28
def get_endpoint(service_type, region=nil)
  endpoint = get_endpoints(service_type)
  raise "Unable to locate endpoint for service #{service_type}" unless endpoint

  return endpoint if endpoint.is_a?(String) #There is only one endpoint for service

  unless region
    raise "There are multiple endpoints avaliable for #{service_type}. Please specify one of the following regions: #{display_service_regions(service_type)}."
  end
  region = region.is_a?(String) ? region.to_sym : region
  endpoint = get_endpoints(service_type)[region]
  raise "Unknown region :#{region} for service #{service_type}. Please use one of the following regions: #{display_service_regions(service_type)}" unless endpoint
  endpoint
end
get_endpoints(service_type) click to toggle source
# File lib/fog/rackspace/models/identity/service_catalog.rb, line 18
def get_endpoints(service_type)
  service_type = service_type.is_a?(String) ? service_type.to_sym : service_type
  catalog[service_type]
end
reload() click to toggle source
# File lib/fog/rackspace/models/identity/service_catalog.rb, line 43
def reload
  @service.authenticate
  @catalog = @service.service_catalog.catalog
  self
end
services() click to toggle source
# File lib/fog/rackspace/models/identity/service_catalog.rb, line 14
def services
  catalog.keys
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.