gis-distance 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGES +4 -1
- data/README +1 -1
- data/Rakefile +25 -18
- data/gis-distance.gemspec +15 -16
- data/lib/gis/distance.rb +2 -2
- data/test/test_gis_distance.rb +93 -93
- metadata +27 -35
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: de0d6744ec7592d14cdb3398067abd15588b55d0
|
4
|
+
data.tar.gz: eb2841a2bc5a5929ad11e2f80fdecdaae76790f3
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ea6d9b7e977287c7eed702bb268201fab900b676289ed74c1e6a79a46ada9b5a3a867c7fab1050c2c6321e37b23ec224a9910ea3440bf43d763650fa754b3b3e
|
7
|
+
data.tar.gz: 75fb7849d35c167dc14563a9c711abf6a734491da8ce4f74687c1c721c91609bbaf04b68ed21f15149d8ebea9fe2628bd09f55e9b9f2d221f78550b7af53924a
|
data/CHANGES
CHANGED
data/README
CHANGED
data/Rakefile
CHANGED
@@ -1,27 +1,34 @@
|
|
1
1
|
require 'rake'
|
2
|
+
require 'rake/clean'
|
2
3
|
require 'rake/testtask'
|
3
|
-
|
4
|
+
require 'rbconfig'
|
5
|
+
include RbConfig
|
4
6
|
|
5
|
-
|
6
|
-
task :install_lib do
|
7
|
-
dest = File.join(CONFIG['sitelibdir'], 'gis')
|
8
|
-
Dir.mkdir(dest) unless File.exists? dest
|
9
|
-
cp 'lib/gis/distance.rb', dest, :verbose => true
|
10
|
-
end
|
7
|
+
CLEAN.include('**/*.gem', '**/*.log')
|
11
8
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
end
|
9
|
+
namespace 'gem' do
|
10
|
+
desc 'Create the gis-distance gem'
|
11
|
+
task :create => [:clean] do
|
12
|
+
spec = eval(IO.read('gis-distance.gemspec'))
|
17
13
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
14
|
+
if Gem::VERSION < "2.0"
|
15
|
+
Gem::Builder.new(spec).build
|
16
|
+
else
|
17
|
+
require 'rubygems/package'
|
18
|
+
Gem::Package.build(spec)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
desc 'Install the gis-distance gem'
|
23
|
+
task :install => [:create] do
|
24
|
+
file = Dir["*.gem"].first
|
25
|
+
sh "gem install -l #{file}"
|
26
|
+
end
|
22
27
|
end
|
23
28
|
|
24
29
|
Rake::TestTask.new do |t|
|
25
|
-
|
26
|
-
|
30
|
+
t.warning = true
|
31
|
+
t.verbose = true
|
27
32
|
end
|
33
|
+
|
34
|
+
task :default => :test
|
data/gis-distance.gemspec
CHANGED
@@ -1,22 +1,21 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
|
3
3
|
Gem::Specification.new do |gem|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
gem.homepage = 'http://github.com/djberg96/gis-distance'
|
4
|
+
gem.name = 'gis-distance'
|
5
|
+
gem.version = '1.0.1'
|
6
|
+
gem.authors = ['Daniel J. Berger', 'Ardith Falkner']
|
7
|
+
gem.license = 'Artistic 2.0'
|
8
|
+
gem.description = 'Calculate the distance between 2 points on Earth'
|
9
|
+
gem.email = 'djberg96@gmail.com'
|
10
|
+
gem.files = Dir['**/*'].reject{ |f| f.include?('git') }
|
11
|
+
gem.test_files = ['test/test_gis_distance.rb']
|
12
|
+
gem.homepage = 'http://github.com/djberg96/gis-distance'
|
14
13
|
|
15
|
-
|
14
|
+
gem.extra_rdoc_files = ['README', 'CHANGES', 'MANIFEST']
|
16
15
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
16
|
+
gem.summary = <<-EOF
|
17
|
+
The gis-distance library provides a simple interface for
|
18
|
+
calculating the distance between two points on Earth using
|
19
|
+
latitude and longitude.
|
20
|
+
EOF
|
22
21
|
end
|
data/lib/gis/distance.rb
CHANGED
@@ -6,7 +6,7 @@ module GIS
|
|
6
6
|
class Error < StandardError; end
|
7
7
|
|
8
8
|
# The version of the gis-distance library
|
9
|
-
VERSION = '1.0.
|
9
|
+
VERSION = '1.0.1'
|
10
10
|
|
11
11
|
# Create a new GIS::Distance object using the two sets of coordinates
|
12
12
|
# that are provided.
|
@@ -45,7 +45,7 @@ module GIS
|
|
45
45
|
#
|
46
46
|
def radius=(kms)
|
47
47
|
if kms < 6357.0 || kms > 6378.0
|
48
|
-
raise Error, "Proposed radius '#{kms}' is out of range"
|
48
|
+
raise Error, "Proposed radius '#{kms}' is out of range"
|
49
49
|
end
|
50
50
|
@radius = kms
|
51
51
|
end
|
data/test/test_gis_distance.rb
CHANGED
@@ -2,97 +2,97 @@ require 'test/unit'
|
|
2
2
|
require 'gis/distance'
|
3
3
|
|
4
4
|
class TC_GIS_Distance < Test::Unit::TestCase
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
5
|
+
def setup
|
6
|
+
@gis = GIS::Distance.new(40.47, 73.58, 34.3, 118.15)
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_version
|
10
|
+
assert_equal('1.0.1', GIS::Distance::VERSION)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_distance_basic_functionality
|
14
|
+
assert_respond_to(@gis, :distance)
|
15
|
+
assert_nothing_raised{ @gis.distance }
|
16
|
+
assert_kind_of(Float, @gis.distance)
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_distance
|
20
|
+
assert_in_delta(0.01, 3952.39, @gis.distance)
|
21
|
+
assert_equal(0.0, GIS::Distance.new(40.47, 73.58, 40.47, 73.58).distance)
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_distance_expected_argument_errors
|
25
|
+
assert_raise(ArgumentError){ GIS::Distance.new }
|
26
|
+
assert_raise(ArgumentError){ GIS::Distance.new(40.47) }
|
27
|
+
assert_raise(ArgumentError){ GIS::Distance.new(40.47, 73.58) }
|
28
|
+
assert_raise(ArgumentError){ GIS::Distance.new(40.47, 73.58, 34.3) }
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_distance_expected_range_errors
|
32
|
+
assert_raise(GIS::Distance::Error){ GIS::Distance.new(91.0, 100.0, 45.0, 45.0) }
|
33
|
+
assert_raise(GIS::Distance::Error){ GIS::Distance.new(90.0, 190.0, 45.0, 45.0) }
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_radius_basic_functionality
|
37
|
+
assert_respond_to(@gis, :radius)
|
38
|
+
assert_nothing_raised{ @gis.radius }
|
39
|
+
assert_kind_of(Float, @gis.radius)
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_default_radius
|
43
|
+
assert_equal(6367.45, @gis.radius)
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_radius_expected_errors
|
47
|
+
assert_raise(ArgumentError){ @gis.radius(1) }
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_radius_setter_basic_functionality
|
51
|
+
assert_respond_to(@gis, :radius=)
|
52
|
+
assert_nothing_raised{ @gis.radius = 6368.0 }
|
53
|
+
assert_equal(6368.0, @gis.radius)
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_radius_setter_expected_errors
|
57
|
+
assert_raise(GIS::Distance::Error){ @gis.radius = 6200 }
|
58
|
+
assert_raise(GIS::Distance::Error){ @gis.radius = 6400 }
|
59
|
+
end
|
60
|
+
|
61
|
+
def test_formula_basic_functionality
|
62
|
+
assert_respond_to(@gis, :formula)
|
63
|
+
assert_nothing_raised{ @gis.formula }
|
64
|
+
assert_kind_of(String, @gis.formula)
|
65
|
+
end
|
66
|
+
|
67
|
+
def test_formula
|
68
|
+
assert_equal('haversine', @gis.formula)
|
69
|
+
end
|
70
|
+
|
71
|
+
def test_formula_setter_basic_functionality
|
72
|
+
assert_respond_to(@gis, :formula=)
|
73
|
+
assert_nothing_raised{ @gis.formula = 'haversine' }
|
74
|
+
end
|
75
|
+
|
76
|
+
def test_formula_expected_errors
|
77
|
+
assert_raise(ArgumentError){ @gis.formula(1) }
|
78
|
+
assert_raise(GIS::Distance::Error){ @gis.formula = 'foo' }
|
79
|
+
end
|
80
|
+
|
81
|
+
def test_mi_basic_functionality
|
82
|
+
assert_respond_to(@gis.distance, :mi)
|
83
|
+
assert_nothing_raised{ @gis.distance.mi }
|
84
|
+
assert_kind_of(Float, @gis.distance.mi)
|
85
|
+
end
|
86
|
+
|
87
|
+
def test_mi
|
88
|
+
assert(@gis.distance > @gis.distance.mi)
|
89
|
+
end
|
90
|
+
|
91
|
+
def test_mi_expected_errors
|
92
|
+
assert_raise(ArgumentError){ @gis.distance.mi(1) }
|
93
|
+
end
|
94
|
+
|
95
|
+
def teardown
|
96
|
+
@gis = nil
|
97
|
+
end
|
98
98
|
end
|
metadata
CHANGED
@@ -1,64 +1,56 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: gis-distance
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
6
|
+
authors:
|
7
7
|
- Daniel J. Berger
|
8
|
-
- Ardith
|
8
|
+
- Ardith Falkner
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
date: 2009-10-10 00:00:00 -06:00
|
14
|
-
default_executable:
|
12
|
+
date: 2014-10-26 00:00:00.000000000 Z
|
15
13
|
dependencies: []
|
16
|
-
|
17
14
|
description: Calculate the distance between 2 points on Earth
|
18
15
|
email: djberg96@gmail.com
|
19
16
|
executables: []
|
20
|
-
|
21
17
|
extensions: []
|
22
|
-
|
23
|
-
extra_rdoc_files:
|
18
|
+
extra_rdoc_files:
|
24
19
|
- README
|
25
20
|
- CHANGES
|
26
21
|
- MANIFEST
|
27
|
-
files:
|
22
|
+
files:
|
28
23
|
- CHANGES
|
29
|
-
- gis-distance.gemspec
|
30
|
-
- lib/gis/distance.rb
|
31
24
|
- MANIFEST
|
32
|
-
- Rakefile
|
33
25
|
- README
|
26
|
+
- Rakefile
|
27
|
+
- gis-distance.gemspec
|
28
|
+
- lib/gis/distance.rb
|
34
29
|
- test/test_gis_distance.rb
|
35
|
-
has_rdoc: true
|
36
30
|
homepage: http://github.com/djberg96/gis-distance
|
37
|
-
licenses:
|
31
|
+
licenses:
|
38
32
|
- Artistic 2.0
|
33
|
+
metadata: {}
|
39
34
|
post_install_message:
|
40
35
|
rdoc_options: []
|
41
|
-
|
42
|
-
require_paths:
|
36
|
+
require_paths:
|
43
37
|
- lib
|
44
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
45
|
-
requirements:
|
38
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
46
40
|
- - ">="
|
47
|
-
- !ruby/object:Gem::Version
|
48
|
-
version:
|
49
|
-
|
50
|
-
|
51
|
-
requirements:
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '0'
|
43
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
52
45
|
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version:
|
55
|
-
version:
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
56
48
|
requirements: []
|
57
|
-
|
58
49
|
rubyforge_project:
|
59
|
-
rubygems_version:
|
50
|
+
rubygems_version: 2.4.2
|
60
51
|
signing_key:
|
61
|
-
specification_version:
|
62
|
-
summary: The gis-distance library provides a simple interface for calculating the
|
63
|
-
|
52
|
+
specification_version: 4
|
53
|
+
summary: The gis-distance library provides a simple interface for calculating the
|
54
|
+
distance between two points on Earth using latitude and longitude.
|
55
|
+
test_files:
|
64
56
|
- test/test_gis_distance.rb
|