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