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