class WpaCliRuby::WpaCli

Public Class Methods

new(wrapper = WpaCliWrapper.new) click to toggle source
# File lib/wpa_cli_ruby/wpa_cli.rb, line 63
def initialize(wrapper = WpaCliWrapper.new)
  @wrapper = wrapper
end

Public Instance Methods

add_network() click to toggle source
# File lib/wpa_cli_ruby/wpa_cli.rb, line 84
def add_network
  response = @wrapper.add_network
  _, status = response.split("\n")
  network_id = status.to_i
end
enable_network(network_id) click to toggle source
# File lib/wpa_cli_ruby/wpa_cli.rb, line 115
def enable_network(network_id)
  response = @wrapper.enable_network(network_id)
  response = parse_interface_status_response(response)
  raise EnableNetworkFailure unless response.ok?

  response
end
get_network(network_id, key) click to toggle source
# File lib/wpa_cli_ruby/wpa_cli.rb, line 106
def get_network(network_id, key)
  response = @wrapper.get_network(network_id, key)
  _, value = response.split("\n")

  raise NetworkNotFound if value == "FAIL"

  value
end
get_status() click to toggle source
# File lib/wpa_cli_ruby/wpa_cli.rb, line 131
def get_status
  response = @wrapper.get_status
  parse_status_response(response)
end
list_networks() click to toggle source
# File lib/wpa_cli_ruby/wpa_cli.rb, line 78
def list_networks
  response = @wrapper.list_networks
  interface, header, *results = response.split("\n")
  results.map { |result| ListNetworkResult.from_string(result) }
end
save_config() click to toggle source
# File lib/wpa_cli_ruby/wpa_cli.rb, line 98
def save_config
  response = @wrapper.save_config
  response = parse_interface_status_response(response)
  raise SaveConfigFailure unless response.ok?

  response
end
scan() click to toggle source
# File lib/wpa_cli_ruby/wpa_cli.rb, line 67
def scan
  response = @wrapper.scan
  parse_interface_status_response(response)
end
scan_results() click to toggle source
# File lib/wpa_cli_ruby/wpa_cli.rb, line 72
def scan_results
  response = @wrapper.scan_results
  interface, header, *results = response.split("\n")
  results.map { |result| ScanResult.from_string(result) }
end
select_network(network_id) click to toggle source
# File lib/wpa_cli_ruby/wpa_cli.rb, line 123
def select_network(network_id)
  response = @wrapper.select_network(network_id)
  response = parse_interface_status_response(response)
  raise SelectNetworkFailure unless response.ok?

  response
end
set_ap_scan(val) click to toggle source
# File lib/wpa_cli_ruby/wpa_cli.rb, line 136
def set_ap_scan(val)
  @wrapper.set_ap_scan(val)
end
set_network(network_id, key, value) click to toggle source
# File lib/wpa_cli_ruby/wpa_cli.rb, line 90
def set_network(network_id, key, value)
  response = @wrapper.set_network(network_id, key, value)
  response = parse_interface_status_response(response)
  raise SetNetworkFailure unless response.ok?

  response
end

Private Instance Methods

parse_interface_status_response(response) click to toggle source
# File lib/wpa_cli_ruby/wpa_cli.rb, line 141
def parse_interface_status_response(response)
  interface_response, status = response.split("\n")
  interface = interface_response.scan(/'(.*)'/).flatten.first
  Response.new(interface, status)
end
parse_status_response(response) click to toggle source
# File lib/wpa_cli_ruby/wpa_cli.rb, line 147
def parse_status_response(response)
  interface_response, *status = response.split("\n")
  interface = interface_response.scan(/'(.*)'/).flatten.first
  status_items = Hash[status.map{|s| s.split("=")}]
  StatusResponse.new(interface, status_items)
end