Class: AccessPointList
- Inherits:
-
Object
- Object
- AccessPointList
- Includes:
- WpaCliRuby
- Defined in:
- lib/wpa_cli_web/access_point_list.rb
Instance Method Summary collapse
- #access_points ⇒ Object
- #access_points_grouped_by_ssid ⇒ Object
- #access_points_with_an_ssid ⇒ Object
-
#initialize(cli_client = WpaCli.new) ⇒ AccessPointList
constructor
Initialize with scan results.
- #network_groups ⇒ Object
- #strongest_unique_ssids ⇒ Object
- #strongest_unique_ssids_sorted_alphabetically ⇒ Object
Constructor Details
#initialize(cli_client = WpaCli.new) ⇒ AccessPointList
Initialize with scan results. This assumes that cli_client.scan() has been called elsewhere. When this application is run with the wifi interface in AP mode, calling scan() is destructive.
7 8 9 |
# File 'lib/wpa_cli_web/access_point_list.rb', line 7 def initialize(cli_client = WpaCli.new) @access_points = cli_client.scan_results end |
Instance Method Details
#access_points ⇒ Object
11 12 13 |
# File 'lib/wpa_cli_web/access_point_list.rb', line 11 def access_points strongest_unique_ssids_sorted_alphabetically end |
#access_points_grouped_by_ssid ⇒ Object
30 31 32 |
# File 'lib/wpa_cli_web/access_point_list.rb', line 30 def access_points_grouped_by_ssid access_points_with_an_ssid.group_by {|network| network.ssid} end |
#access_points_with_an_ssid ⇒ Object
34 35 36 |
# File 'lib/wpa_cli_web/access_point_list.rb', line 34 def access_points_with_an_ssid @access_points.reject { |network| network.ssid.nil? } end |
#network_groups ⇒ Object
26 27 28 |
# File 'lib/wpa_cli_web/access_point_list.rb', line 26 def network_groups access_points_grouped_by_ssid.map {|ssid, network_group| network_group} end |
#strongest_unique_ssids ⇒ Object
20 21 22 23 24 |
# File 'lib/wpa_cli_web/access_point_list.rb', line 20 def strongest_unique_ssids network_groups. map {|network_group| network_group.sort_by { |network| network.signal_level}.reverse.take(1)}. flatten end |
#strongest_unique_ssids_sorted_alphabetically ⇒ Object
15 16 17 18 |
# File 'lib/wpa_cli_web/access_point_list.rb', line 15 def strongest_unique_ssids_sorted_alphabetically strongest_unique_ssids. sort_by { |network| network.ssid.downcase } end |