lib/deputy.rb in deputy-0.1.13 vs lib/deputy.rb in deputy-0.1.14
- old
+ new
@@ -11,21 +11,47 @@
class Scout
class Plugin
OPTIONS = {}.to_yaml
+ protected
+
def report(metrics)
metrics.each do |key, value|
- Deputy.send_report "#{self.class.to_s.split('::')[1..-1]}.#{key}", value
+ Deputy.send_report "#{clean_class_name}.#{key}", value
end
end
def error(*args)
report :error => args.map{|a| a.inspect}.join(', ')
end
def alert(*args)
report :alert => args.map{|a| a.inspect}.join(', ')
+ end
+
+ def memory(key)
+ complete_memory[key]
+ end
+
+ def remember(data)
+ all = complete_memory.merge(data)
+ File.open(memory_file, 'w'){|f| f.write all.to_yaml }
+ end
+
+ private
+
+ def complete_memory
+ return {} unless File.exist?(memory_file)
+ YAML.load(File.read(memory_file)) || {}
+ end
+
+ def memory_file
+ "/tmp/deputy.memory.#{clean_class_name}.yml"
+ end
+
+ def clean_class_name
+ self.class.to_s.split('::')[1..-1].join('::')
end
# stub options for now...
def option(key)
(YAML.load(self.class::OPTIONS)[key.to_s]||{})['default']
\ No newline at end of file