def self.rpc_get_fact(fact, server=nil, forceRediscovery=false, additional_filters=nil, custom_rpc_opts=nil)
result = nil
options = custom_rpc_opts ? custom_rpc_opts : rpc_options
options[:filter]['fact'] = options[:filter]['fact'] + additional_filters if additional_filters
Rails.logger.debug("DEBUG: rpc_get_fact: fact=#{fact}")
rpc_exec('rpcutil', server, forceRediscovery, options) do |client|
client.get_fact(:fact => fact) do |response|
next unless Integer(response[:body][:statuscode]) == 0
result = rvalue(response)
yield response[:senderid], result if result
end
end
result
end