Class: Jerakia
- Inherits:
-
Object
show all
- Defined in:
- lib/jerakia.rb,
lib/jerakia/cli.rb,
lib/jerakia/util.rb,
lib/jerakia/request.rb,
lib/jerakia/version.rb
Defined Under Namespace
Modules: Util
Classes: Answer, CLI, Cache, Config, Datamodel, Datasource, Launcher, Log, Lookup, Policy, Request, Response, Scope
Constant Summary
collapse
- VERSION =
Public API to retrieve the latest released version of the code
This should be updated when a new gem is released and it is read from the gemspec file
"0.4.4"
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(options = {}) ⇒ Jerakia
Returns a new instance of Jerakia.
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/jerakia.rb', line 13
def initialize(options={})
configfile = options[:config] || ENV['JERAKIA_CONFIG'] || '/etc/jerakia/jerakia.yaml'
@@config = Jerakia::Config.load_from_file(configfile)
if @@config[:plugindir]
$LOAD_PATH << @@config[:plugindir] unless $LOAD_PATH.include?(@@config[:plugindir])
end
@@filecache = {}
loglevel = options[:loglevel] || @@config["loglevel"] || "info"
logfile = options[:logfile] || @@config["logfile"] || "/var/log/jerakia.log"
@@log = Jerakia::Log.new(loglevel.to_sym, logfile)
@@log.debug("Jerakia initialized")
end
|
Class Method Details
.config ⇒ Object
53
54
55
|
# File 'lib/jerakia.rb', line 53
def self.config
@@config
end
|
.crit(msg) ⇒ Object
65
66
67
68
|
# File 'lib/jerakia.rb', line 65
def self.crit(msg)
Jerakia.log.error msg
fail msg
end
|
.fatal(msg, e) ⇒ Object
36
37
38
39
40
41
42
|
# File 'lib/jerakia.rb', line 36
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"
throw Exception
end
|
.filecache(name) ⇒ Object
44
45
46
47
|
# File 'lib/jerakia.rb', line 44
def self.filecache(name)
@@filecache[name] ||= File.read(name)
return @@filecache[name]
end
|
.log ⇒ Object
61
62
63
|
# File 'lib/jerakia.rb', line 61
def self.log
@@log
end
|
Instance Method Details
#add_to_filecache(name, data) ⇒ Object
49
50
51
|
# File 'lib/jerakia.rb', line 49
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
57
58
59
|
# File 'lib/jerakia.rb', line 57
def log
@@log
end
|
#lookup(request) ⇒ Object