class Elastix::Base

Public Class Methods

close_db_connection() click to toggle source
# File lib/elastix/base.rb, line 27
def self.close_db_connection
  ActiveRecord::Base.connection.close
end
establish_connection(web_options={}, db_options={}) click to toggle source
# File lib/elastix/base.rb, line 22
def self.establish_connection(web_options={}, db_options={})
  establish_web_connection(web_options[:host], web_options[:username], web_options[:password])
  establish_db_connection(db_options[:host], db_options[:username], db_options[:password])
end
establish_db_connection(host, username, password) click to toggle source
# File lib/elastix/base.rb, line 12
def self.establish_db_connection(host, username, password)
  ActiveRecord::Base.establish_connection(
    :adapter  => "mysql2",
    :host     => host,
    :database => "asterisk",
    :username => username,
    :password => password,
  )
end
establish_web_connection(host, username, password) click to toggle source
# File lib/elastix/base.rb, line 4
def self.establish_web_connection host, username, password
  @@elastix = Mechanize.new
  @@elastix.agent.http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  @@base_address = "https://#{host}"
  login username, password
end
reload() click to toggle source
# File lib/elastix/base.rb, line 40
def self.reload
  @@elastix.get("#{@@base_address}/config.php?handler=reload")
end
web_connected?() click to toggle source
# File lib/elastix/base.rb, line 36
def self.web_connected?
  @@elastix.current_page.title != "Elastix - Login page"
end

Private Class Methods

login(username, password) click to toggle source
# File lib/elastix/base.rb, line 45
def self.login username, password
  @@elastix.get(@@base_address) 
  login_form = @@elastix.page.forms[0]
  login_form.input_user = username
  login_form.input_pass = password
  @@elastix.submit(login_form,login_form.button_with("submit_login"))
end