class FDB::DirectoryLayer
def check_version(tr, write_access)
def check_version(tr, write_access) version = tr[@root_node['version']] initialize_directory(tr) if !version && write_access return if !version version = version.to_s.unpack('III<') dir_ver = "#{version[0]}.#{version[1]}.#{version[2]}" layer_ver = "#{@@VERSION[0]}.#{@@VERSION[1]}.#{@@VERSION[2]}" if version[0] != @@VERSION[0] raise "Cannot load directory with version #{dir_ver} using directory layer #{layer_ver}" elsif version[1] != @@VERSION[1] && write_access raise "Directory with version #{dir_ver} is read-only when opened using directory layer #{layer_ver}" end end