class StudioApi::Util

Utility class for handling whole stack of Studio Api

Public Class Methods

add_options(request_str,options,first=true) click to toggle source
# File lib/studio_api/util.rb, line 31
def self.add_options request_str,options,first=true
                    unless options.empty?
                            options.each do |k,v|
                                    separator = first ? "?" : "&"
                                    first = false
                                    request_str << "#{separator}#{CGI.escape k.to_s}=#{CGI.escape v.to_s}"
                            end
                    end
  request_str
end
configure_studio_connection(connection) click to toggle source

Set connection for all StudioApi class, so then you can use it without explicit settings It is useful when program use only one studio credentials @example

connection = StudioApi::Connection.new ( "user", "password", "http://localhost/api")
StudioApi::Util.configure_studio_connection connection
appliances = StudioApi::Appliance.find :all

@param [StudioApi::Connection] connection which is used for communication with studio @return [Array<Class>] return set of classes which is set

# File lib/studio_api/util.rb, line 13
def self.configure_studio_connection connection
  classes = get_all_usable_class StudioApi
  classes.each {|c| c.studio_connection = connection}
end
join_relative_url(*args) click to toggle source

joins relative url for unix servers as URI.join require at least one absolute adress. Especially take care about only one slash otherwise studio returns 404. @param (Array<String>) args list of Strings to join @return (String) joined String

# File lib/studio_api/util.rb, line 23
def self.join_relative_url(*args)
  args.reduce do |base, append|
    base= base[0..-2] if base.end_with? "/" #remove ending slash in base
    append = append[1..-1] if append.start_with? "/" #remove leading slash in append
    "#{base}/#{append}"
  end
end