]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blob - lib/rbot/registry/daybreak.rb
plugin(script): remove deprecated $SAFE
[user/henk/code/ruby/rbot.git] / lib / rbot / registry / daybreak.rb
1 #-- vim:sw=2:et
2 #++
3 #
4 # :title: Daybreak registry implementation
5 #
6 # Daybreak is a fast in-memory(!!!) database:
7 # http://propublica.github.io/daybreak/
8 #
9
10 require 'daybreak'
11
12 module Irc
13 class Bot
14 class Registry
15
16   class DaybreakAccessor < AbstractAccessor
17
18     def initialize(filename)
19       super filename + '.db'
20     end
21
22     def registry
23       super
24       @registry ||= Daybreak::DB.new(@filename)
25     end
26
27     def flush
28       return unless @registry
29       @registry.flush
30     end
31
32     def optimize
33       return unless @registry
34       @registry.compact
35     end
36
37   end
38
39 end # Registry
40 end # Bot
41 end # Irc
42