class Doxie::Scanner
Public Class Methods
devices(frisky = Frisky::SSDP)
click to toggle source
# File lib/doxie/scanner.rb, line 12 def self.devices(frisky = Frisky::SSDP) root_devices = frisky.search 'upnp:rootdevices' doxies = root_devices.select { |device| device[:location].include?('doxie')} hosts = doxies.map do |doxie| { ip: URI.parse(doxie[:location]).host, model: Doxie::Scanner.api_version(doxie[:server]) } end hosts.uniq end
ips(frisky = Frisky::SSDP)
click to toggle source
# File lib/doxie/scanner.rb, line 5 def self.ips(frisky = Frisky::SSDP) root_devices = frisky.search 'upnp:rootdevices' doxies = root_devices.select { |device| device[:location].include?('doxie')} hosts = doxies.map {|doxie| URI.parse(doxie[:location]).host } hosts.uniq end
Private Class Methods
api_version(server)
click to toggle source
# File lib/doxie/scanner.rb, line 26 def self.api_version server server.include?('DX250') ? "API_V1" : "API_V2" end