class Egi::Fedcloud::Cloudhound::AppdbAppliance
Attributes
checksum[R]
format[R]
identifier[R]
mpuri[R]
owner[R]
published[R]
sites[R]
url[R]
version[R]
Public Class Methods
extract_site_vos(element)
click to toggle source
# File lib/egi/fedcloud/cloudhound/appdb_appliance.rb, line 41 def extract_site_vos(element) return [] if element.blank? vos = [] element.each do |service| vos << service['vos'].collect { |vo| vo['name'] } end vos.flatten! vos.compact! vos.uniq! vos end
extract_sites(element)
click to toggle source
# File lib/egi/fedcloud/cloudhound/appdb_appliance.rb, line 28 def extract_sites(element) return [] if element.blank? element.collect do |site| st = {} st['name'] = site['name'] st['gocdb_link'] = site['url'] ? site['url']['portal'] : 'unknown' st['vos'] = extract_site_vos(site['services']) st end end
new(element)
click to toggle source
# File lib/egi/fedcloud/cloudhound/appdb_appliance.rb, line 10 def initialize(element) Egi::Fedcloud::Cloudhound::Log.debug "[#{self.class}] Initializing with #{element.inspect}" @identifier = element['identifier'] @version = element['version'] @url = element['url'] @checksum = element['checksum'] @format = element['format'] @owner = element['addedby'] ? element['addedby']['permalink'] : 'unknown' @published = element['published'] @mpuri = element['mpuri'] # and now the difficult part @sites = self.class.extract_sites(element['sites']) end