class RightApiHelper::Session

Public Class Methods

new() click to toggle source
# File lib/right_api_helper/session.rb, line 21
def initialize
  logger
end

Public Instance Methods

create_client(email, password, account_id, api_url=nil) click to toggle source

Create a right_api_client session See github.com/rightscale/right_api_client/blob/master/README.md#usage-instructions

Returns: handle to right_api_client gem

# File lib/right_api_helper/session.rb, line 30
def create_client(email, password, account_id, api_url=nil)
  begin
    args = { :email => email, :password => password, :account_id => account_id }
    args[:api_url] = api_url if api_url
    @client ||= RightApi::Client.new(args)
    setup_client_logging
    @client
  rescue Exception => e
    args.delete(:password) # don't log password
    puts "ERROR: could not connect to RightScale API.  Params: #{args.inspect}"
    puts e.message
    puts e.backtrace
    raise e
  end
end
create_client_from_file(filename) click to toggle source

Create a right_api_client session from YAML file See github.com/rightscale/right_api_client/blob/master/README.md#usage-instructions

Returns: handle to right_api_client gem

# File lib/right_api_helper/session.rb, line 51
def create_client_from_file(filename)
  begin
    @client ||= RightApi::Client.new(YAML.load_file(File.expand_path(filename, __FILE__)))
    setup_client_logging
    @client
  rescue Exception => e
    puts "ERROR: could not connect to RightScale API.  filename: '#{filename}'"
    puts e.message
    puts e.backtrace
    raise e
  end
end

Private Instance Methods

setup_client_logging() click to toggle source
# File lib/right_api_helper/session.rb, line 66
def setup_client_logging
  # right_api_client logs too much stuff, throw away unless in debug mode
  if @log.level == Logger::DEBUG
    @client.log(STDOUT)
  else
    @client.log("/dev/null")
  end
end