mirror of
https://github.com/cmur2/dyndnsd.git
synced 2026-04-03 02:18:29 +02:00
Fiat lux
This commit is contained in:
32
lib/dyndnsd/database.rb
Normal file
32
lib/dyndnsd/database.rb
Normal file
@@ -0,0 +1,32 @@
|
||||
|
||||
require 'forwardable'
|
||||
|
||||
module Dyndnsd
|
||||
class Database
|
||||
extend Forwardable
|
||||
|
||||
def_delegators :@db, :[], :[]=, :each, :has_key?
|
||||
|
||||
def initialize(db_file)
|
||||
@db_file = db_file
|
||||
end
|
||||
|
||||
def load
|
||||
if File.file?(@db_file)
|
||||
@db = JSON.load(File.open(@db_file, 'r') { |f| f.read })
|
||||
else
|
||||
@db = {}
|
||||
end
|
||||
@db_hash = @db.hash
|
||||
end
|
||||
|
||||
def save
|
||||
File.open(@db_file, 'w') { |f| JSON.dump(@db, f) }
|
||||
@db_hash = @db.hash
|
||||
end
|
||||
|
||||
def changed?
|
||||
@db_hash != @db.hash
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user