Method: SPQR::App#initialize

Defined in:
lib/spqr/app.rb

#initialize(options = nil) ⇒ App

Returns a new instance of App.



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/spqr/app.rb', line 23

def initialize(options=nil)
  defaults = {:logfile=>STDERR, :loglevel=>Logger::WARN, :notifier=>nil, :server=>"localhost", :port=>5672}
  
  # convenient shorthands for log levels
  loglevels = {:debug => Logger::DEBUG, :info => Logger::INFO, :warn => Logger::WARN, :error => Logger::ERROR, :fatal => Logger::FATAL}
    
  options = defaults unless options

  # set unsupplied options to defaults
  defaults.each do |k,v|
    options[k] = v unless options[k]
  end

  # fix up shorthands
  options[:loglevel] = loglevels[options[:loglevel]] if loglevels[options[:loglevel]]

  @log = Logger.new(options[:logfile])
  @log.level = options[:loglevel]

  @log.info("initializing SPQR app....")

  @classes_by_name = {}
  @classes_by_id = {}
  @pipe = options[:notifier]
  @app_name = (options[:appname] or "SPQR application")
  @qmf_host = options[:server]
  @qmf_port = options[:port]
  @qmf_sendUserId = if options.has_key?(:send_user_id)
                      options[:send_user_id]
                    else
                      (options.has_key?(:user) or options.has_key?(:password))
                    end
  
  @qmf_user = options[:user]
  @qmf_password = options[:password]
end