Class: Jerakia

Inherits:
Object
  • Object
show all
Defined in:
lib/jerakia.rb,
lib/jerakia/util.rb

Overview

require 'faster_require'

Direct Known Subclasses

Datamodel, Log, Response

Defined Under Namespace

Modules: Util Classes: Answer, Cache, Config, Datamodel, Datasource, Launcher, Log, Lookup, Policy, Request, Response, Scope

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Jerakia

Returns a new instance of Jerakia.



16
17
18
19
20
21
22
23
24
25
# File 'lib/jerakia.rb', line 16

def initialize(options={})
  configfile = options[:config] || '/etc/jerakia/jerakia.yml'
  @@config = Jerakia::Config.new(configfile)
  @@filecache = {}
  @@cache = Jerakia::Cache.new
  loglevel = options[:loglevel] || @@config["loglevel"] || "info"
  @@log = Jerakia::Log.new(loglevel.to_sym)
  @@log.debug("Jerakia initialized")

end

Class Method Details

.config ⇒ Object



45
46
47
# File 'lib/jerakia.rb', line 45

def self.config
  @@config
end

.crit(msg) ⇒ Object



66
67
68
69
70
# File 'lib/jerakia.rb', line 66

def self.crit(msg)
  
  puts msg
  exit 1 
end

.fatal(msg, e) ⇒ Object



37
38
39
40
41
42
43
# File 'lib/jerakia.rb', line 37

def self.fatal(msg,e)
  stacktrace=e.backtrace.join("\n")
  Jerakia.log.fatal msg
  Jerakia.log.fatal "Full stacktrace output:\n#{$!}\n\n#{stacktrace}"
  puts "Fatal error, check log output for details"
  exit 1
end

.filecache(name) ⇒ Object



49
50
51
52
# File 'lib/jerakia.rb', line 49

def self.filecache(name)
  @@filecache[name] ||= File.read(name)
  return @@filecache[name]
end

.log ⇒ Object



62
63
64
# File 'lib/jerakia.rb', line 62

def self.log
  @@log
end

Instance Method Details

#add_to_filecache(name, data) ⇒ Object



54
55
56
# File 'lib/jerakia.rb', line 54

def add_to_filecache(name,data)
  @@filecache[name] = data
end

#config ⇒ Object



32
33
34
# File 'lib/jerakia.rb', line 32

def config
  @@config
end

#log ⇒ Object



58
59
60
# File 'lib/jerakia.rb', line 58

def log
  @@log
end

#lookup(request) ⇒ Object



27
28
29
30
# File 'lib/jerakia.rb', line 27

def lookup(request)
  res=Jerakia::Launcher.new(request)
  return res.answer
end