Sha256: e60cf7d330aff0a732368480804f28325e2a7ba396878b67e15fe8877e724b40
Contents?: true
Size: 1.14 KB
Versions: 28
Compression:
Stored size: 1.14 KB
Contents
require 'fog/ecloud/models/compute/template' module Fog module Compute class Ecloud class Templates < Fog::Ecloud::Collection identity :href model Fog::Compute::Ecloud::Template def all r_data = [] data = service.get_templates(href).body[:Families] data[:Family].is_a?(Hash) ? data = [data[:Family]] : data = data[:Family] data.each do |d| d[:Categories][:Category].each do |cat| cat[:OperatingSystems][:OperatingSystem].is_a?(Hash) ? cat = [cat[:OperatingSystems][:OperatingSystem]] : cat = cat[:OperatingSystems][:OperatingSystem] cat.each do |os| os[:Templates][:Template].is_a?(Hash) ? os = [os[:Templates][:Template]] : os = os[:Templates][:Template] os.each do |template| r_data << template end end end end load(r_data) end def get(uri) if data = service.get_template(uri) new(data.body) end rescue Fog::Errors::NotFound nil end end end end end
Version data entries
28 entries across 28 versions & 6 rubygems