class StudioApi::Gallery
Public Class Methods
appliance(id, version = nil)
click to toggle source
# File lib/studio_api/gallery.rb 127 def self.appliance id, version = nil 128 request_str = "/gallery/appliances/#{id.to_i}" 129 request_str << "/version/#{CGI.escape version.to_s}" if version 130 response = GenericRequest.new(studio_connection).get request_str 131 tree = XmlSimple.xml_in(response,"ForceArray" => ["format","account"])["appliance"] 132 Gallery::Appliance.new tree 133 end
find_appliance(type,options={})
click to toggle source
Searches for appliance with options specified in API help @see susestudio.com/help/api/v2#65 for search specification @param [#to_s] type type of search @param [Hash] options additional options @return TODO
# File lib/studio_api/gallery.rb 111 def self.find_appliance type,options={} 112 request_str = "/gallery/appliances?#{CGI.escape type.to_s}" 113 request_str = Util.add_options request_str, options, false 114 response = GenericRequest.new(studio_connection).get request_str 115 tree = XmlSimple.xml_in(response,"ForceArray" => ["appliance"])["appliances"] 116 count = tree["pages"].to_i 117 page = tree["current_page"].to_i 118 appliances = tree["appliance"].reduce([]) do |acc,appl| 119 appl.each { |k,v| appl[k] = nil if v.empty? } #avoid empty string, array or hash 120 gappl = Gallery::Appliance.dup 121 gappl.studio_connection = studio_connection 122 acc << gappl.new(appl) 123 end 124 return :count => count, :page => page, :appliances => appliances 125 end
publish_appliance(id, version, release_notes)
click to toggle source
# File lib/studio_api/gallery.rb 135 def self.publish_appliance id, version, release_notes 136 request_str = "/gallery/appliances/#{id.to_i}/version/#{CGI.escape version.to_s}" 137 response = GenericRequest.new(studio_connection).post request_str, :__raw => release_notes 138 end