class DRbQS::ProcessList::Server
Public Instance Methods
clear_process_not_exist()
click to toggle source
# File lib/drbqs/config/process_list.rb, line 119 def clear_process_not_exist list.each do |uri, data| if !DRbQS::Misc.process_running_normally?(data[:pid]) || !DRbQS::Manage.new(:uri => uri).server_respond? delete(uri) end end end
delete(uri)
click to toggle source
# File lib/drbqs/config/process_list.rb, line 115 def delete(uri) delete_file(uri_to_file(uri)) end
get(uri)
click to toggle source
# File lib/drbqs/config/process_list.rb, line 111 def get(uri) load_file(uri_to_file(uri)) end
list()
click to toggle source
# File lib/drbqs/config/process_list.rb, line 95 def list h = {} entries.each do |file| h[file_to_uri(file)] = load_file(file) end h end
save(uri, data)
click to toggle source
If file exists then this method overwrites the file.
# File lib/drbqs/config/process_list.rb, line 104 def save(uri, data) unless save_file(uri_to_file(uri), data) delete(uri) save(uri, data) end end
Private Instance Methods
file_to_uri(file)
click to toggle source
# File lib/drbqs/config/process_list.rb, line 82 def file_to_uri(file) s = file.sub(/\.yaml$/, '') case s when /^druby_(.+)$/ "druby://:#{CGI.unescape(Regexp.last_match[1])}" when /^drbunix_(.+)$/ "drbunix:#{CGI.unescape(Regexp.last_match[1])}" else raise ArgumentError, "Invalid file name in process list: #{file}" end end
uri_to_file(uri)
click to toggle source
# File lib/drbqs/config/process_list.rb, line 70 def uri_to_file(uri) case uri when /^druby.*:(\d+)$/ "druby_#{CGI.escape(Regexp.last_match[1])}.yaml" when /^drbunix:(.+)$/ "drbunix_#{CGI.escape(Regexp.last_match[1])}.yaml" else raise ArgumentError, "Invalid uri of drbqs server: #{uri}" end end