kismet-gpsxml 0.0.1 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +6 -0
- data/Gemfile +1 -1
- data/{README.rdoc → README.md} +22 -3
- data/VERSION +1 -1
- data/bin/gpsxml2csv +11 -16
- data/kismet-gpsxml.gemspec +12 -11
- data/lib/kismet-gpsxml.rb +51 -0
- data/test/helper.rb +7 -5
- data/test/test.xml +13 -0
- data/test/test_kismet-gpsxml.rb +43 -0
- metadata +22 -21
- data/Gemfile.lock +0 -81
- data/lib/kismet-gpsxml2csv.rb +0 -0
- data/test/test_kismet-gpsxml2csv.rb +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 082909a1892fe7eb5624537ecf61a7a6ffbc5447
|
4
|
+
data.tar.gz: 6a49b8666fb2c6e551f449c68790321095256c2b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8813e43976f20d93e3174a10e666763ca7f9fd76cb77421b5943ae3911e0997e925eed742dcc93035bd2ca48716212c3b7fc81f5604d591a6f3743615938f1f6
|
7
|
+
data.tar.gz: f11f2600b63db3db5bb7ca7abc78efd1384e54a330f9bca28175c05f45f31a58baef1293781d96681793a332eff82eee0dad75a5150b737aaa2a4981b7577bad
|
data/.travis.yml
ADDED
data/Gemfile
CHANGED
@@ -3,9 +3,9 @@ source "http://rubygems.org"
|
|
3
3
|
gem "nokogiri", "~> 1.6.3.0"
|
4
4
|
|
5
5
|
group :development do
|
6
|
-
gem "shoulda", ">= 0"
|
7
6
|
gem "rdoc", "~> 3.12"
|
8
7
|
gem "bundler", "~> 1.0"
|
9
8
|
gem "jeweler", "~> 2.0.1"
|
10
9
|
gem "simplecov", ">= 0"
|
10
|
+
gem "minitest-spec-expect", "~> 2.0.0"
|
11
11
|
end
|
data/{README.rdoc → README.md}
RENAMED
@@ -1,4 +1,7 @@
|
|
1
|
-
|
1
|
+
kismet-gpsxml
|
2
|
+
=============
|
3
|
+
|
4
|
+
[![Travis-CI status](http://img.shields.io/travis/pittmesh/kismet-gpsxml.svg)](https://travis-ci.org/pittmesh/kismet-gpsxml/)
|
2
5
|
|
3
6
|
This gem enables users to model Kismet's gpsxml log format in Ruby.
|
4
7
|
|
@@ -6,7 +9,22 @@ It provides a series of helper executables for doing things such as extracting
|
|
6
9
|
the bssid and points, and counting the number of bssids within a certain
|
7
10
|
vicinity.
|
8
11
|
|
9
|
-
|
12
|
+
Installing
|
13
|
+
----------
|
14
|
+
|
15
|
+
Simply do:
|
16
|
+
|
17
|
+
gem install kismet-gpsxml
|
18
|
+
|
19
|
+
or throw this into your `Gemfile`:
|
20
|
+
|
21
|
+
gem "kismet-gpsxml", "~> 0.0.1"
|
22
|
+
|
23
|
+
Note that kismet-gpsxml is not yet a 1.0.0 release and may change wildly between
|
24
|
+
releases. It is wise to lock to a version.
|
25
|
+
|
26
|
+
Contributing to kismet-gpsxml
|
27
|
+
-----------------------------
|
10
28
|
|
11
29
|
* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
|
12
30
|
* Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
|
@@ -16,7 +34,8 @@ vicinity.
|
|
16
34
|
* Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
|
17
35
|
* Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
|
18
36
|
|
19
|
-
|
37
|
+
Copyright
|
38
|
+
---------
|
20
39
|
|
21
40
|
Copyright (c) 2014 Meta Mesh, LLC. See LICENSE.txt for further details.
|
22
41
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0
|
1
|
+
0.1.0
|
data/bin/gpsxml2csv
CHANGED
@@ -1,26 +1,21 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
require '
|
4
|
-
require 'set'
|
5
|
-
ELEM = Nokogiri::XML::Reader::TYPE_ELEMENT
|
3
|
+
require './lib/kismet-gpsxml'
|
6
4
|
|
7
|
-
|
5
|
+
DEFAULT_ROUNDING = 4
|
8
6
|
|
9
|
-
|
10
|
-
|
7
|
+
unless ARGV[0]
|
8
|
+
$stderr.puts "Usage: #{__FILE__} logfile.gpsxml [rounding-level]\nDefault rounding-level is #{DEFAULT_ROUNDING} decimal places."
|
9
|
+
exit 1
|
10
|
+
end
|
11
11
|
|
12
|
-
|
12
|
+
file = ARGV[0]
|
13
|
+
rounding = ARGV[1] ? ARGV[1].to_i : DEFAULT_ROUNDING
|
13
14
|
|
14
|
-
|
15
|
+
reader = Kismet::GPSXML::Reader.from_io File.open(file)
|
16
|
+
reader.rounding = rounding
|
15
17
|
|
16
|
-
reader.
|
17
|
-
next unless node.name == "gps-point" && node.node_type == ELEM
|
18
|
-
lat = node.attribute("lat").to_f.round(rounding)
|
19
|
-
long = node.attribute("lon").to_f.round(rounding)
|
20
|
-
key = [lat,long].join(",")
|
21
|
-
points[key] = Set.new if points[key].nil?
|
22
|
-
points[key].add node.attribute("bssid")
|
23
|
-
end
|
18
|
+
points = reader.points
|
24
19
|
|
25
20
|
points.each do |point,set|
|
26
21
|
puts [point, set.size].join(",")
|
data/kismet-gpsxml.gemspec
CHANGED
@@ -2,36 +2,37 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: kismet-gpsxml 0.0
|
5
|
+
# stub: kismet-gpsxml 0.1.0 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "kismet-gpsxml"
|
9
|
-
s.version = "0.0
|
9
|
+
s.version = "0.1.0"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|
13
13
|
s.authors = ["Colin Dean"]
|
14
|
-
s.date = "2014-08-
|
14
|
+
s.date = "2014-08-17"
|
15
15
|
s.description = "A quick solution to model Kismet-generated gpsxml log files and output to CSV"
|
16
16
|
s.email = "colin.dean@metamesh.org"
|
17
17
|
s.executables = ["gpsxml2csv"]
|
18
18
|
s.extra_rdoc_files = [
|
19
19
|
"LICENSE.txt",
|
20
|
-
"README.
|
20
|
+
"README.md"
|
21
21
|
]
|
22
22
|
s.files = [
|
23
23
|
".document",
|
24
|
+
".travis.yml",
|
24
25
|
"Gemfile",
|
25
|
-
"Gemfile.lock",
|
26
26
|
"LICENSE.txt",
|
27
|
-
"README.
|
27
|
+
"README.md",
|
28
28
|
"Rakefile",
|
29
29
|
"VERSION",
|
30
30
|
"bin/gpsxml2csv",
|
31
31
|
"kismet-gpsxml.gemspec",
|
32
|
-
"lib/kismet-
|
32
|
+
"lib/kismet-gpsxml.rb",
|
33
33
|
"test/helper.rb",
|
34
|
-
"test/
|
34
|
+
"test/test.xml",
|
35
|
+
"test/test_kismet-gpsxml.rb"
|
35
36
|
]
|
36
37
|
s.homepage = "http://github.com/pittmesh/kismet-gpsxml"
|
37
38
|
s.licenses = ["MIT"]
|
@@ -43,26 +44,26 @@ Gem::Specification.new do |s|
|
|
43
44
|
|
44
45
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
45
46
|
s.add_runtime_dependency(%q<nokogiri>, ["~> 1.6.3.0"])
|
46
|
-
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
47
47
|
s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
|
48
48
|
s.add_development_dependency(%q<bundler>, ["~> 1.0"])
|
49
49
|
s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
|
50
50
|
s.add_development_dependency(%q<simplecov>, [">= 0"])
|
51
|
+
s.add_development_dependency(%q<minitest-spec-expect>, ["~> 2.0.0"])
|
51
52
|
else
|
52
53
|
s.add_dependency(%q<nokogiri>, ["~> 1.6.3.0"])
|
53
|
-
s.add_dependency(%q<shoulda>, [">= 0"])
|
54
54
|
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
55
55
|
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
56
56
|
s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
|
57
57
|
s.add_dependency(%q<simplecov>, [">= 0"])
|
58
|
+
s.add_dependency(%q<minitest-spec-expect>, ["~> 2.0.0"])
|
58
59
|
end
|
59
60
|
else
|
60
61
|
s.add_dependency(%q<nokogiri>, ["~> 1.6.3.0"])
|
61
|
-
s.add_dependency(%q<shoulda>, [">= 0"])
|
62
62
|
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
63
63
|
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
64
64
|
s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
|
65
65
|
s.add_dependency(%q<simplecov>, [">= 0"])
|
66
|
+
s.add_dependency(%q<minitest-spec-expect>, ["~> 2.0.0"])
|
66
67
|
end
|
67
68
|
end
|
68
69
|
|
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'nokogiri'
|
2
|
+
require 'set'
|
3
|
+
|
4
|
+
module Kismet
|
5
|
+
module GPSXML
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class Kismet::GPSXML::Reader
|
10
|
+
|
11
|
+
private_class_method :new
|
12
|
+
|
13
|
+
attr_reader :reader
|
14
|
+
attr_accessor :rounding
|
15
|
+
|
16
|
+
def self.from_io io
|
17
|
+
new Nokogiri::XML::Reader.from_io(io)
|
18
|
+
end
|
19
|
+
|
20
|
+
def initialize xml_reader
|
21
|
+
@reader = xml_reader
|
22
|
+
@rounding = 4
|
23
|
+
end
|
24
|
+
|
25
|
+
def points
|
26
|
+
points = {}
|
27
|
+
reader.each do |node|
|
28
|
+
next unless interesting_node? node
|
29
|
+
point = point_info node
|
30
|
+
lat, lon, bssid = point.values
|
31
|
+
key = [lat,lon].join(",")
|
32
|
+
points[key] = Set.new if points[key].nil?
|
33
|
+
points[key].add bssid
|
34
|
+
end
|
35
|
+
points
|
36
|
+
end
|
37
|
+
|
38
|
+
private
|
39
|
+
|
40
|
+
def interesting_node? node
|
41
|
+
node.name == "gps-point" &&
|
42
|
+
node.node_type == Nokogiri::XML::Reader::TYPE_ELEMENT &&
|
43
|
+
node.attribute("bssid") != "00:00:00:00:00:00"
|
44
|
+
end
|
45
|
+
|
46
|
+
def point_info node
|
47
|
+
{lat: node.attribute("lat").to_f.round(rounding),
|
48
|
+
lon: node.attribute("lon").to_f.round(rounding),
|
49
|
+
bssid: node.attribute("bssid")}
|
50
|
+
end
|
51
|
+
end
|
data/test/helper.rb
CHANGED
@@ -8,7 +8,7 @@ end
|
|
8
8
|
|
9
9
|
SimpleCov.configure do
|
10
10
|
clean_filters
|
11
|
-
|
11
|
+
load_profile 'test_frameworks'
|
12
12
|
end
|
13
13
|
|
14
14
|
ENV["COVERAGE"] && SimpleCov.start do
|
@@ -23,12 +23,14 @@ rescue Bundler::BundlerError => e
|
|
23
23
|
$stderr.puts "Run `bundle install` to install missing gems"
|
24
24
|
exit e.status_code
|
25
25
|
end
|
26
|
-
require '
|
27
|
-
require '
|
26
|
+
require 'minitest/spec'
|
27
|
+
require 'minitest/spec/expect'
|
28
|
+
require 'minitest/autorun'
|
28
29
|
|
29
30
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
30
31
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
31
|
-
require 'kismet-
|
32
|
+
require 'kismet-gpsxml'
|
32
33
|
|
33
|
-
|
34
|
+
def test_xml_location
|
35
|
+
File.join [File.dirname(__FILE__), "test.xml"]
|
34
36
|
end
|
data/test/test.xml
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
<?xml version="1.0" encoding="ISO-8859-1"?>
|
2
|
+
<!DOCTYPE gps-run SYSTEM "http://kismetwireless.net/kismet-gps-2.9.1.dtd">
|
3
|
+
|
4
|
+
<gps-run gps-version="5" start-time="Sun Jun 29 16:27:04 2014">
|
5
|
+
|
6
|
+
<network-file>Kismet-20140629-16-27-04-1.netxml</network-file>
|
7
|
+
|
8
|
+
<gps-point bssid="54:BE:F7:99:89:78" source="54:BE:F7:99:89:78" time-sec="1404073624" time-usec="698754" lat="40.429444" lon="-79.970444" spd="0.185000" heading="309.760010" fix="3" alt="223.399994" signal_dbm="-79" noise_dbm="0"/>
|
9
|
+
<gps-point bssid="A0:21:B7:74:EF:0B" source="A0:21:B7:74:EF:0B" time-sec="1404073624" time-usec="705437" lat="40.429555" lon="-79.970555" spd="0.185000" heading="309.760010" fix="3" alt="223.399994" signal_dbm="-72" noise_dbm="0"/>
|
10
|
+
<gps-point bssid="74:BF:33:11:BB:AA" source="74:BF:33:11:BB:AA" time-sec="1404073624" time-usec="698754" lat="40.429499" lon="-79.970999" spd="0.185000" heading="309.760010" fix="3" alt="223.399994" signal_dbm="-79" noise_dbm="0"/>
|
11
|
+
<gps-point bssid="00:06:B1:22:51:F9" source="00:06:B1:22:51:F9" time-sec="1404073624" time-usec="734943" lat="40.430000" lon="-79.980000" spd="0.185000" heading="309.760010" fix="3" alt="223.399994" signal_dbm="-83" noise_dbm="0"/>
|
12
|
+
<gps-point bssid="00:00:00:00:00:00" source="00:00:00:00:00:00" time-sec="1404073624" time-usec="734943" lat="40.430000" lon="-79.980000" spd="0.185000" heading="309.760010" fix="3" alt="223.399994" signal_dbm="-83" noise_dbm="0"/>
|
13
|
+
</gps-run>
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
describe Kismet::GPSXML::Reader do
|
4
|
+
subject { Kismet::GPSXML::Reader }
|
5
|
+
|
6
|
+
describe "Expected methods" do
|
7
|
+
it "responds to from_io" do
|
8
|
+
subject.must_respond_to :from_io
|
9
|
+
end
|
10
|
+
|
11
|
+
it "responds to points" do
|
12
|
+
subject.public_instance_methods.must_include :points
|
13
|
+
# subject.must_respond_to :points # this doesn't work on classes, just instances
|
14
|
+
end
|
15
|
+
|
16
|
+
it "cannot be initialized directly" do
|
17
|
+
expect{ subject.new StringIO.new }.to_raise NoMethodError
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe "IO operations" do
|
22
|
+
let(:text_xml_io) { File.open test_xml_location }
|
23
|
+
|
24
|
+
before do
|
25
|
+
text_xml_io.rewind
|
26
|
+
@reader = subject.from_io text_xml_io
|
27
|
+
end
|
28
|
+
|
29
|
+
it "retrieves points" do
|
30
|
+
@reader.points.wont_be_empty
|
31
|
+
end
|
32
|
+
|
33
|
+
it "retrieves the expected number of points" do
|
34
|
+
@reader.points.size.must_equal 4 # one should be filtered out
|
35
|
+
end
|
36
|
+
|
37
|
+
it "filters bssid = 00:00:00:00:00:00" do
|
38
|
+
points_with_bad_bssid = @reader.points.select{|position,bssid| bssid == '00:00:00:00:00:00'}
|
39
|
+
points_with_bad_bssid.must_be_empty
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kismet-gpsxml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Colin Dean
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
11
|
+
date: 2014-08-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -24,20 +24,6 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 1.6.3.0
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: shoulda
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: rdoc
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,6 +80,20 @@ dependencies:
|
|
94
80
|
- - ">="
|
95
81
|
- !ruby/object:Gem::Version
|
96
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: minitest-spec-expect
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 2.0.0
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 2.0.0
|
97
97
|
description: A quick solution to model Kismet-generated gpsxml log files and output
|
98
98
|
to CSV
|
99
99
|
email: colin.dean@metamesh.org
|
@@ -102,20 +102,21 @@ executables:
|
|
102
102
|
extensions: []
|
103
103
|
extra_rdoc_files:
|
104
104
|
- LICENSE.txt
|
105
|
-
- README.
|
105
|
+
- README.md
|
106
106
|
files:
|
107
107
|
- ".document"
|
108
|
+
- ".travis.yml"
|
108
109
|
- Gemfile
|
109
|
-
- Gemfile.lock
|
110
110
|
- LICENSE.txt
|
111
|
-
- README.
|
111
|
+
- README.md
|
112
112
|
- Rakefile
|
113
113
|
- VERSION
|
114
114
|
- bin/gpsxml2csv
|
115
115
|
- kismet-gpsxml.gemspec
|
116
|
-
- lib/kismet-
|
116
|
+
- lib/kismet-gpsxml.rb
|
117
117
|
- test/helper.rb
|
118
|
-
- test/
|
118
|
+
- test/test.xml
|
119
|
+
- test/test_kismet-gpsxml.rb
|
119
120
|
homepage: http://github.com/pittmesh/kismet-gpsxml
|
120
121
|
licenses:
|
121
122
|
- MIT
|
data/Gemfile.lock
DELETED
@@ -1,81 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: http://rubygems.org/
|
3
|
-
specs:
|
4
|
-
activesupport (4.1.4)
|
5
|
-
i18n (~> 0.6, >= 0.6.9)
|
6
|
-
json (~> 1.7, >= 1.7.7)
|
7
|
-
minitest (~> 5.1)
|
8
|
-
thread_safe (~> 0.1)
|
9
|
-
tzinfo (~> 1.1)
|
10
|
-
addressable (2.3.6)
|
11
|
-
builder (3.2.2)
|
12
|
-
descendants_tracker (0.0.4)
|
13
|
-
thread_safe (~> 0.3, >= 0.3.1)
|
14
|
-
docile (1.1.5)
|
15
|
-
faraday (0.9.0)
|
16
|
-
multipart-post (>= 1.2, < 3)
|
17
|
-
git (1.2.8)
|
18
|
-
github_api (0.12.0)
|
19
|
-
addressable (~> 2.3)
|
20
|
-
descendants_tracker (~> 0.0.4)
|
21
|
-
faraday (~> 0.8, < 0.10)
|
22
|
-
hashie (>= 3.2)
|
23
|
-
multi_json (>= 1.7.5, < 2.0)
|
24
|
-
nokogiri (~> 1.6.3)
|
25
|
-
oauth2
|
26
|
-
hashie (3.2.0)
|
27
|
-
highline (1.6.21)
|
28
|
-
i18n (0.6.11)
|
29
|
-
jeweler (2.0.1)
|
30
|
-
builder
|
31
|
-
bundler (>= 1.0)
|
32
|
-
git (>= 1.2.5)
|
33
|
-
github_api
|
34
|
-
highline (>= 1.6.15)
|
35
|
-
nokogiri (>= 1.5.10)
|
36
|
-
rake
|
37
|
-
rdoc
|
38
|
-
json (1.8.1)
|
39
|
-
jwt (1.0.0)
|
40
|
-
mini_portile (0.6.0)
|
41
|
-
minitest (5.4.0)
|
42
|
-
multi_json (1.10.1)
|
43
|
-
multi_xml (0.5.5)
|
44
|
-
multipart-post (2.0.0)
|
45
|
-
nokogiri (1.6.3.1)
|
46
|
-
mini_portile (= 0.6.0)
|
47
|
-
oauth2 (1.0.0)
|
48
|
-
faraday (>= 0.8, < 0.10)
|
49
|
-
jwt (~> 1.0)
|
50
|
-
multi_json (~> 1.3)
|
51
|
-
multi_xml (~> 0.5)
|
52
|
-
rack (~> 1.2)
|
53
|
-
rack (1.5.2)
|
54
|
-
rake (10.3.2)
|
55
|
-
rdoc (3.12.2)
|
56
|
-
json (~> 1.4)
|
57
|
-
shoulda (3.5.0)
|
58
|
-
shoulda-context (~> 1.0, >= 1.0.1)
|
59
|
-
shoulda-matchers (>= 1.4.1, < 3.0)
|
60
|
-
shoulda-context (1.2.1)
|
61
|
-
shoulda-matchers (2.6.2)
|
62
|
-
activesupport (>= 3.0.0)
|
63
|
-
simplecov (0.9.0)
|
64
|
-
docile (~> 1.1.0)
|
65
|
-
multi_json
|
66
|
-
simplecov-html (~> 0.8.0)
|
67
|
-
simplecov-html (0.8.0)
|
68
|
-
thread_safe (0.3.4)
|
69
|
-
tzinfo (1.2.1)
|
70
|
-
thread_safe (~> 0.1)
|
71
|
-
|
72
|
-
PLATFORMS
|
73
|
-
ruby
|
74
|
-
|
75
|
-
DEPENDENCIES
|
76
|
-
bundler (~> 1.0)
|
77
|
-
jeweler (~> 2.0.1)
|
78
|
-
nokogiri (~> 1.6.3.0)
|
79
|
-
rdoc (~> 3.12)
|
80
|
-
shoulda
|
81
|
-
simplecov
|
data/lib/kismet-gpsxml2csv.rb
DELETED
File without changes
|