module OpenStack::Compute

Constants

MAX_PERSONALITY_FILE_SIZE
MAX_PERSONALITY_ITEMS

Constants that set limits on server creation

MAX_SERVER_PATH_LENGTH
VERSION

Public Class Methods

paginate(options = {}) click to toggle source
# File lib/openstack/compute.rb, line 79
def self.paginate(options = {})
  path_args = []
  path_args.push(URI.encode("limit=#{options[:limit]}")) if options[:limit]
  path_args.push(URI.encode("offset=#{options[:offset]}")) if options[:offset]
  path_args.join("&")
end
symbolize_keys(obj) click to toggle source

Helper method to recursively symbolize hash keys.

# File lib/openstack/compute.rb, line 45
def self.symbolize_keys(obj)
  case obj
  when Array
    obj.inject([]){|res, val|
      res << case val
      when Hash, Array
        symbolize_keys(val)
      else
        val
      end
      res
    }
  when Hash
    obj.inject({}){|res, (key, val)|
      nkey = case key
      when String
        key.to_sym
      else
        key
      end
      nval = case val
      when Hash, Array
        symbolize_keys(val)
      else
        val
      end
      res[nkey] = nval
      res
    }
  else
    obj
  end
end