Class: Rubyconf
- Inherits:
-
Object
show all
- Defined in:
- lib/rubyconf.rb
Defined Under Namespace
Classes: CurrentNetwork, WirelessNetwork
Constant Summary
collapse
- VERSION =
'1.0.0'
Instance Method Summary
collapse
Instance Method Details
#current_network ⇒ Object
75
76
77
78
79
80
81
|
# File 'lib/rubyconf.rb', line 75
def current_network
data = `airport -I`
vals = data.split("\n").map { |x| x.split(":", 2).map { |i| i.strip } }
CurrentNetwork.new Hash[*vals.flatten]
end
|
#post! ⇒ Object
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
# File 'lib/rubyconf.rb', line 94
def post!
data = current_network.external
data['ttg'] = ttg
Net::HTTP.start "rubyconf-wireless.herokuapp.com", 80 do |http|
r = http.post "/sampler", JSON.dump(data)
if r.code != "200"
puts "Error posting results: #{r.inspect}"
if $DEBUG
puts r.body
end
end
end
end
|
#refresh_wireless(xml = nil) ⇒ Object
40
41
42
43
44
45
46
|
# File 'lib/rubyconf.rb', line 40
def refresh_wireless(xml=nil)
xml ||= `airport -x -s`
out = Plist.parse_xml xml
@networks = out.map { |w| WirelessNetwork.new(w) }
end
|
#show_networks(filter = /./) ⇒ Object
48
49
50
51
52
53
54
55
|
# File 'lib/rubyconf.rb', line 48
def show_networks(filter=/./)
printf "%20s %4s %s\n", "SSID", "RSSI", "CHANNEL"
@networks.each do |n|
if n.ssid =~ filter
n.show
end
end
end
|
#ttg ⇒ Object
83
84
85
86
87
88
89
90
91
92
|
# File 'lib/rubyconf.rb', line 83
def ttg
s = TCPSocket.new "74.125.224.134", 80
start = Time.now
s << "GET / HTTP/1.0\r\n\r\n"
s.read(4)
fin = Time.now
s.close
fin - start
end
|