class RubyWifiScanner::Scanner

Constants

WifiInfo

Attributes

networks[R]

Public Class Methods

create(raw_scan=nil) click to toggle source
# File lib/ruby_wifi_scanner/scanner.rb, line 7
def self.create(raw_scan=nil)
  case
  when osx? then OSXScanner.new(raw_scan)
  when linux? then LinuxScanner.new(raw_scan)
  end
end
new(raw_scan = nil) click to toggle source
# File lib/ruby_wifi_scanner/scanner.rb, line 25
def initialize(raw_scan = nil)
  @raw_scan = raw_scan || self.raw_scan
  @networks = parse(@raw_scan).sort_by { |w| -w.level }
end

Private Class Methods

linux?() click to toggle source
# File lib/ruby_wifi_scanner/scanner.rb, line 20
def self.linux?
  RUBY_PLATFORM =~ /linux/
end
osx?() click to toggle source
# File lib/ruby_wifi_scanner/scanner.rb, line 15
def self.osx?
  RUBY_PLATFORM =~ /darwin/
end

Protected Instance Methods

parse() click to toggle source
# File lib/ruby_wifi_scanner/scanner.rb, line 64
def parse
  raise NotImplemented
end
raw_scan() click to toggle source
# File lib/ruby_wifi_scanner/scanner.rb, line 68
def raw_scan
  raise NotImplemented
end

Private Instance Methods

deep_scan() click to toggle source
# File lib/ruby_wifi_scanner/scanner.rb, line 30
def deep_scan
  ssids = @networks.map(&:ssid).uniq
  @networks = []

  ssids.each do |ssid|
    @networks += parse directed_scan ssid
  end
end
print_fmt(freq: nil, **kargs) click to toggle source
print_json() click to toggle source