5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/ledger_web/watcher.rb', line 5
def self.run!
directory = LedgerWeb::Config.instance.get :watch_directory
glob = "*"
if directory.nil?
directory = File.dirname(LedgerWeb::Config.instance.get :ledger_file)
glob = File.basename(LedgerWeb::Config.instance.get :ledger_file)
end
@@dw = DirectoryWatcher.new directory, :glob => glob
@@dw.interval = LedgerWeb::Config.instance.get :watch_interval
@@dw.stable = LedgerWeb::Config.instance.get :watch_stable_count
LedgerWeb::Database.connect
@@dw.add_observer do |*args|
args.each do |event|
if event.type == :stable
puts "Loading database"
LedgerWeb::Database.run_migrations
file = LedgerWeb::Database.dump_ledger_to_csv
count = LedgerWeb::Database.load_database(file)
puts "Loaded #{count} records"
end
end
end
@@dw.start
end
|