gis-distance 1.1.0 → 1.2.0
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGES.md +7 -0
- data/Gemfile +2 -3
- data/README.md +13 -0
- data/Rakefile +10 -2
- data/gis-distance.gemspec +11 -7
- data/lib/gis/distance.rb +37 -31
- data/lib/gis-distance.rb +2 -0
- data/spec/gis_distance_spec.rb +62 -32
- data.tar.gz.sig +0 -0
- metadata +47 -4
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: afa5f1131b787db92e5e13a3992c471e8381167b926dc942eea37a398a8dc01a
|
4
|
+
data.tar.gz: 60996c27a828f65302c80afc8e15ae3bfc327b7f49a4283fa130a6fd6e476492
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f2ab85690778cb6b8c2a70b28f473b7fbdc5ec088ccdbc97282cfc0a47c0719ad2fd80f294d8b6eff8ff6d34ab38edfa3df54864cc1194ba9a53371c820dddae
|
7
|
+
data.tar.gz: 26dd4b737786902955c447fe6e7537116786be6c57ecada17bbe8151f59ee767230699b767f45242f5fe08320983eb1fa182d3cf3a2d7b27e55d9a2e99f5a9d2
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/CHANGES.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
## 1.2.0 - 3-Oct-2024
|
2
|
+
* Added support for the vicenty formula, and the rvicenty gem is now a
|
3
|
+
runtime dependency.
|
4
|
+
* Dropped Ruby 2.x from the github test matrix. It will still work with
|
5
|
+
older versions of Ruby, however.
|
6
|
+
* Some minor updates to the README.md.
|
7
|
+
|
1
8
|
## 1.1.0 - 27-Feb-2021
|
2
9
|
* Switched from test-unit to rspec.
|
3
10
|
* Added a Gemfile.
|
data/Gemfile
CHANGED
@@ -1,3 +1,2 @@
|
|
1
|
-
source 'https://rubygems.org'
|
2
|
-
|
3
|
-
end
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
gemspec
|
data/README.md
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
[](https://github.com/djberg96/gis-distance/actions/workflows/ruby.yml)
|
2
|
+
|
1
3
|
## Description
|
2
4
|
The gis-distance library allows you to calculate geographic distance between
|
3
5
|
two points using the formula of your choice.
|
@@ -5,6 +7,9 @@ two points using the formula of your choice.
|
|
5
7
|
## Installation
|
6
8
|
`gem install gis-distance`
|
7
9
|
|
10
|
+
## Adding the trusted cert
|
11
|
+
`gem cert --add <(curl -Ls https://raw.githubusercontent.com/djberg96/gis-distance/main/certs/djberg96_pub.pem)`
|
12
|
+
|
8
13
|
## Synopsis
|
9
14
|
```ruby
|
10
15
|
require 'gis/distance' # or 'gis-distance'
|
@@ -15,6 +20,7 @@ gis = GIS::Distance.new(40.47, 73.58, 34.3, 118.15)
|
|
15
20
|
# Set the formula of your choice
|
16
21
|
gis.formula = 'cosines'
|
17
22
|
gis.formula = 'haversine'
|
23
|
+
gis.formula = 'vincenty'
|
18
24
|
|
19
25
|
p gis.distance # Kilometers
|
20
26
|
p gis.distance.mi # Miles
|
@@ -23,10 +29,17 @@ p gis.distance.mi # Miles
|
|
23
29
|
## Available Formulas
|
24
30
|
* haversine (https://en.wikipedia.org/wiki/Haversine_formula)
|
25
31
|
* cosine (https://en.wikipedia.org/wiki/Law_of_cosines)
|
32
|
+
* vincenty (https://en.wikipedia.org/wiki/Vincenty%27s_formulae)
|
26
33
|
|
27
34
|
## See Also
|
28
35
|
http://en.wikipedia.org/wiki/Earth_radius
|
29
36
|
|
37
|
+
## Miscellaneous
|
38
|
+
Ruby 2.x was dropped from the test matrix as of version 1.2 because of
|
39
|
+
incompatibility with bundler. This library should still work fine with
|
40
|
+
older versions of Ruby, but you should strongly consider upgrading at this
|
41
|
+
point since Ruby 2.x is now EOL.
|
42
|
+
|
30
43
|
## License
|
31
44
|
Artistic-2.0
|
32
45
|
|
data/Rakefile
CHANGED
@@ -2,14 +2,15 @@ require 'rake'
|
|
2
2
|
require 'rake/clean'
|
3
3
|
require 'rbconfig'
|
4
4
|
require 'rspec/core/rake_task'
|
5
|
+
require 'rubocop/rake_task'
|
5
6
|
|
6
|
-
CLEAN.include('**/*.gem', '**/*.log')
|
7
|
+
CLEAN.include('**/*.gem', '**/*.log', '**/*.lock')
|
7
8
|
|
8
9
|
namespace 'gem' do
|
9
10
|
desc 'Create the gis-distance gem'
|
10
11
|
task :create => [:clean] do
|
11
12
|
require 'rubygems/package'
|
12
|
-
spec =
|
13
|
+
spec = Gem::Specification.load('gis-distance.gemspec')
|
13
14
|
spec.signing_key = File.join(Dir.home, '.ssh', 'gem-private_key.pem')
|
14
15
|
Gem::Package.build(spec)
|
15
16
|
end
|
@@ -21,7 +22,14 @@ namespace 'gem' do
|
|
21
22
|
end
|
22
23
|
end
|
23
24
|
|
25
|
+
RuboCop::RakeTask.new
|
26
|
+
|
24
27
|
desc "Run the test suite"
|
25
28
|
RSpec::Core::RakeTask.new(:spec)
|
26
29
|
|
30
|
+
# Clean up afterwards
|
31
|
+
Rake::Task[:spec].enhance do
|
32
|
+
Rake::Task[:clean].invoke
|
33
|
+
end
|
34
|
+
|
27
35
|
task :default => :spec
|
data/gis-distance.gemspec
CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = 'gis-distance'
|
5
|
-
spec.version = '1.
|
5
|
+
spec.version = '1.2.0'
|
6
6
|
spec.authors = ['Daniel J. Berger', 'Ardith Falkner']
|
7
7
|
spec.license = 'Artistic-2.0'
|
8
8
|
spec.description = 'Calculate the distance between two points on Earth'
|
@@ -12,16 +12,20 @@ Gem::Specification.new do |spec|
|
|
12
12
|
spec.homepage = 'http://github.com/djberg96/gis-distance'
|
13
13
|
spec.cert_chain = ['certs/djberg96_pub.pem']
|
14
14
|
|
15
|
+
spec.add_dependency('rvincenty', '~> 0.1.0')
|
15
16
|
spec.add_development_dependency('rake')
|
16
17
|
spec.add_development_dependency('rspec', '~> 3.9')
|
18
|
+
spec.add_development_dependency('rubocop')
|
19
|
+
spec.add_development_dependency('rubocop-rspec')
|
17
20
|
|
18
21
|
spec.metadata = {
|
19
|
-
'homepage_uri'
|
20
|
-
'bug_tracker_uri'
|
21
|
-
'changelog_uri'
|
22
|
-
'documentation_uri'
|
23
|
-
'source_code_uri'
|
24
|
-
'wiki_uri'
|
22
|
+
'homepage_uri' => 'https://github.com/djberg96/gis-distance',
|
23
|
+
'bug_tracker_uri' => 'https://github.com/djberg96/gis-distance/issues',
|
24
|
+
'changelog_uri' => 'https://github.com/djberg96/gis-distance/blob/main/CHANGES.md',
|
25
|
+
'documentation_uri' => 'https://github.com/djberg96/gis-distance/wiki',
|
26
|
+
'source_code_uri' => 'https://github.com/djberg96/gis-distance',
|
27
|
+
'wiki_uri' => 'https://github.com/djberg96/gis-distance/wiki',
|
28
|
+
'rubygems_mfa_required' => 'true'
|
25
29
|
}
|
26
30
|
|
27
31
|
spec.summary = <<-EOF
|
data/lib/gis/distance.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# The GIS module serves as a namespace only.
|
2
4
|
module GIS
|
3
5
|
# The Distance class encapsulates methods related to geographic distance.
|
@@ -6,7 +8,7 @@ module GIS
|
|
6
8
|
class Error < StandardError; end
|
7
9
|
|
8
10
|
# The version of the gis-distance library
|
9
|
-
VERSION = '1.
|
11
|
+
VERSION = '1.2.0'
|
10
12
|
|
11
13
|
# Create a new GIS::Distance object using the two sets of coordinates
|
12
14
|
# that are provided.
|
@@ -28,9 +30,7 @@ module GIS
|
|
28
30
|
|
29
31
|
# Returns the radius of the Earth in kilometers. The default is 6367.45.
|
30
32
|
#
|
31
|
-
|
32
|
-
@radius
|
33
|
-
end
|
33
|
+
attr_reader :radius
|
34
34
|
|
35
35
|
# Sets the radius of the Earth in kilometers. This is variable because
|
36
36
|
# the Earth is not perfectly spherical, and you may wish to adjust it.
|
@@ -44,9 +44,7 @@ module GIS
|
|
44
44
|
# See http://en.wikipedia.org/wiki/Earth_radius for more information.
|
45
45
|
#
|
46
46
|
def radius=(kms)
|
47
|
-
if kms < 6357.0 || kms > 6378.0
|
48
|
-
raise Error, "Proposed radius '#{kms}' is out of range"
|
49
|
-
end
|
47
|
+
raise Error, "Proposed radius '#{kms}' is out of range" if kms < 6357.0 || kms > 6378.0
|
50
48
|
@radius = kms
|
51
49
|
end
|
52
50
|
|
@@ -54,9 +52,7 @@ module GIS
|
|
54
52
|
# is 'haversine'.
|
55
53
|
#--
|
56
54
|
# See http://en.wikipedia.org/wiki/Haversine_formula for details.
|
57
|
-
|
58
|
-
@formula
|
59
|
-
end
|
55
|
+
attr_reader :formula
|
60
56
|
|
61
57
|
# Sets the formula to be used internally for calculating the distance.
|
62
58
|
# The default is 'haversine'. Your other option is 'cosines' (i.e. the
|
@@ -66,12 +62,14 @@ module GIS
|
|
66
62
|
#
|
67
63
|
def formula=(formula)
|
68
64
|
case formula.to_s.downcase
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
65
|
+
when 'haversine'
|
66
|
+
@formula = 'haversine'
|
67
|
+
when 'cosines'
|
68
|
+
@formula = 'cosines'
|
69
|
+
when 'vincenty'
|
70
|
+
@formula = 'vincenty'
|
71
|
+
else
|
72
|
+
raise Error, "Formula '#{formula}' not supported"
|
75
73
|
end
|
76
74
|
end
|
77
75
|
|
@@ -80,12 +78,14 @@ module GIS
|
|
80
78
|
#
|
81
79
|
def distance
|
82
80
|
@distance =
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
81
|
+
case @formula.to_s.downcase
|
82
|
+
when 'haversine'
|
83
|
+
haversine_formula
|
84
|
+
when 'cosines'
|
85
|
+
law_of_cosines_formula
|
86
|
+
when 'vincenty'
|
87
|
+
vincenty_formula
|
88
|
+
end
|
89
89
|
end
|
90
90
|
|
91
91
|
private
|
@@ -94,19 +94,19 @@ module GIS
|
|
94
94
|
# 90.0 and -90.0 while longitudes must be between 180.0 and -180.0.
|
95
95
|
#
|
96
96
|
def validate(lat1, lon1, lat2, lon2)
|
97
|
-
[lat1, lat2].each
|
97
|
+
[lat1, lat2].each do |lat|
|
98
98
|
if lat > 90 || lat < -90
|
99
99
|
msg = "Latitude '#{lat}' is invalid - must be between -90 and 90"
|
100
100
|
raise Error, msg
|
101
101
|
end
|
102
|
-
|
102
|
+
end
|
103
103
|
|
104
|
-
[lon1, lon2].each
|
104
|
+
[lon1, lon2].each do |lon|
|
105
105
|
if lon > 180 || lon < -180
|
106
106
|
msg = "Longitude '#{lon}' is invalid - must be between -180 and 180"
|
107
107
|
raise Error, msg
|
108
108
|
end
|
109
|
-
|
109
|
+
end
|
110
110
|
end
|
111
111
|
|
112
112
|
# See https://en.wikipedia.org/wiki/Law_of_cosines
|
@@ -116,9 +116,9 @@ module GIS
|
|
116
116
|
sin2 = Math.sin(@latitude2 * Math::PI / 180)
|
117
117
|
cos1 = Math.cos(@latitude1 * Math::PI / 180)
|
118
118
|
cos2 = Math.cos(@latitude2 * Math::PI / 180)
|
119
|
-
cos3 = Math.cos(@longitude2 * Math::PI / 180 - @longitude1 * Math::PI / 180)
|
119
|
+
cos3 = Math.cos((@longitude2 * Math::PI / 180) - (@longitude1 * Math::PI / 180))
|
120
120
|
|
121
|
-
Math.acos(sin1 * sin2 + cos1 * cos2 * cos3) * radius
|
121
|
+
Math.acos((sin1 * sin2) + (cos1 * cos2 * cos3)) * radius
|
122
122
|
end
|
123
123
|
|
124
124
|
# See http://en.wikipedia.org/wiki/Haversine_formula
|
@@ -132,15 +132,21 @@ module GIS
|
|
132
132
|
dlat = lat2 - lat1
|
133
133
|
dlon = lon2 - lon1
|
134
134
|
|
135
|
-
a = (
|
136
|
-
c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a))
|
135
|
+
a = (Math.sin(dlat / 2)**2) + (Math.cos(lat1) * Math.cos(lat2) * (Math.sin(dlon / 2)**2))
|
136
|
+
c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a))
|
137
137
|
|
138
138
|
radius * c
|
139
139
|
end
|
140
140
|
|
141
|
+
# See https://en.wikipedia.org/wiki/Vincenty's_formulae
|
142
|
+
def vincenty_formula
|
143
|
+
require 'rvincenty'
|
144
|
+
RVincenty.distance([@latitude1, @longitude1], [@latitude2, @longitude2]) / 1000.0
|
145
|
+
end
|
146
|
+
|
141
147
|
# Add a custom method to the base Float class if it isn't already defined.
|
142
148
|
class ::Float
|
143
|
-
unless
|
149
|
+
unless respond_to?(:mi)
|
144
150
|
# Convert miles to kilometers.
|
145
151
|
def mi
|
146
152
|
self * 0.621371192
|
data/lib/gis-distance.rb
CHANGED
data/spec/gis_distance_spec.rb
CHANGED
@@ -1,94 +1,124 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'rspec'
|
2
4
|
require 'gis/distance'
|
3
5
|
|
4
6
|
RSpec.describe GIS::Distance do
|
5
|
-
let(:gis){
|
7
|
+
let(:gis){ described_class.new(40.47, 73.58, 34.3, 118.15) }
|
6
8
|
|
7
|
-
example
|
8
|
-
expect(GIS::Distance::VERSION).to eq('1.
|
9
|
+
example 'version' do
|
10
|
+
expect(GIS::Distance::VERSION).to eq('1.2.0')
|
9
11
|
expect(GIS::Distance::VERSION).to be_frozen
|
10
12
|
end
|
11
13
|
|
12
|
-
example
|
14
|
+
example 'distance basic functionality' do
|
13
15
|
expect(gis).to respond_to(:distance)
|
14
16
|
expect{ gis.distance }.not_to raise_error
|
15
|
-
expect(gis.distance).to
|
17
|
+
expect(gis.distance).to be_a(Float)
|
18
|
+
end
|
19
|
+
|
20
|
+
context 'haversine' do
|
21
|
+
before do
|
22
|
+
gis.formula = 'haversine'
|
23
|
+
end
|
24
|
+
|
25
|
+
example 'distance method returns expected result' do
|
26
|
+
expect(gis.distance).to be_within(0.01).of(3952.39)
|
27
|
+
expect(described_class.new(40.47, 73.58, 40.47, 73.58).distance).to eq(0.0)
|
28
|
+
end
|
16
29
|
end
|
17
30
|
|
18
|
-
|
19
|
-
|
20
|
-
|
31
|
+
context 'cosines' do
|
32
|
+
before do
|
33
|
+
gis.formula = 'cosines'
|
34
|
+
end
|
35
|
+
|
36
|
+
example 'distance method returns expected result' do
|
37
|
+
expect(gis.distance).to be_within(0.01).of(3952.39)
|
38
|
+
expect(described_class.new(40.47, 73.58, 40.47, 73.58).distance).to eq(0.0)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
context 'vincenty' do
|
43
|
+
before do
|
44
|
+
gis.formula = 'vincenty'
|
45
|
+
end
|
46
|
+
|
47
|
+
example 'distance method returns expected result' do
|
48
|
+
expect(gis.distance).to be_within(0.01).of(3963.40)
|
49
|
+
expect(described_class.new(40.47, 73.58, 40.47, 73.58).distance).to eq(0.0)
|
50
|
+
end
|
21
51
|
end
|
22
52
|
|
23
|
-
example
|
24
|
-
expect{
|
25
|
-
expect{
|
26
|
-
expect{
|
27
|
-
expect{
|
53
|
+
example 'constructor requires four arguments' do
|
54
|
+
expect{ described_class.new }.to raise_error(ArgumentError)
|
55
|
+
expect{ described_class.new(40.47) }.to raise_error(ArgumentError)
|
56
|
+
expect{ described_class.new(40.47, 73.58) }.to raise_error(ArgumentError)
|
57
|
+
expect{ described_class.new(40.47, 73.58, 34.3) }.to raise_error(ArgumentError)
|
28
58
|
end
|
29
59
|
|
30
|
-
example
|
31
|
-
expect{
|
32
|
-
expect{
|
60
|
+
example 'latitude and longitude must be within range' do
|
61
|
+
expect{ described_class.new(91.0, 100.0, 45.0, 45.0) }.to raise_error(GIS::Distance::Error)
|
62
|
+
expect{ described_class.new(90.0, 190.0, 45.0, 45.0) }.to raise_error(GIS::Distance::Error)
|
33
63
|
end
|
34
64
|
|
35
|
-
example
|
65
|
+
example 'radius basic functionality' do
|
36
66
|
expect(gis).to respond_to(:radius)
|
37
67
|
expect{ gis.radius }.not_to raise_error
|
38
|
-
expect(
|
68
|
+
expect(gis.radius).to be_a(Float)
|
39
69
|
end
|
40
70
|
|
41
|
-
example
|
71
|
+
example 'default radius returns expected value' do
|
42
72
|
expect(gis.radius).to eq(6367.45)
|
43
73
|
end
|
44
74
|
|
45
|
-
example
|
75
|
+
example 'radius does not accept an argument' do
|
46
76
|
expect{ gis.radius(1) }.to raise_error(ArgumentError)
|
47
77
|
end
|
48
78
|
|
49
|
-
example
|
79
|
+
example 'radius setter basic functionality' do
|
50
80
|
expect(gis).to respond_to(:radius=)
|
51
81
|
expect{ gis.radius = 6368.0 }.not_to raise_error
|
52
|
-
expect(
|
82
|
+
expect(gis.radius).to eq(6368.0)
|
53
83
|
end
|
54
84
|
|
55
|
-
example
|
85
|
+
example 'radius value must be within a certain range' do
|
56
86
|
expect{ gis.radius = 6200 }.to raise_error(GIS::Distance::Error)
|
57
87
|
expect{ gis.radius = 6400 }.to raise_error(GIS::Distance::Error)
|
58
88
|
end
|
59
89
|
|
60
|
-
example
|
90
|
+
example 'formula basic functionality' do
|
61
91
|
expect(gis).to respond_to(:formula)
|
62
92
|
expect{ gis.formula }.not_to raise_error
|
63
|
-
expect(gis.formula).to
|
93
|
+
expect(gis.formula).to be_a(String)
|
64
94
|
end
|
65
95
|
|
66
|
-
example
|
96
|
+
example 'formula default value' do
|
67
97
|
expect(gis.formula).to eq('haversine')
|
68
98
|
end
|
69
99
|
|
70
|
-
example
|
100
|
+
example 'formula setter basic functionality' do
|
71
101
|
expect(gis).to respond_to(:formula=)
|
72
102
|
expect{ gis.formula = 'haversine' }.not_to raise_error
|
73
103
|
end
|
74
104
|
|
75
|
-
example
|
105
|
+
example 'formula setter validates value' do
|
76
106
|
expect{ gis.formula(1) }.to raise_error(ArgumentError)
|
77
107
|
expect{ gis.formula = 'foo' }.to raise_error(GIS::Distance::Error)
|
78
108
|
end
|
79
109
|
|
80
|
-
example
|
110
|
+
example 'mi basic functionality' do
|
81
111
|
expect(gis.distance).to respond_to(:mi)
|
82
112
|
expect{ gis.distance.mi }.not_to raise_error
|
83
|
-
expect(gis.distance.mi).to
|
113
|
+
expect(gis.distance.mi).to be_a(Float)
|
84
114
|
end
|
85
115
|
|
86
|
-
example
|
116
|
+
example 'mi behaves as expected' do
|
87
117
|
expect(gis.distance).to be > gis.distance.mi
|
88
118
|
expect(gis.distance.mi).to be_within(0.1).of(2455.9)
|
89
119
|
end
|
90
120
|
|
91
|
-
example
|
121
|
+
example 'mi_expected_errors' do
|
92
122
|
expect{ gis.distance.mi(1) }.to raise_error(ArgumentError)
|
93
123
|
end
|
94
124
|
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gis-distance
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel J. Berger
|
@@ -36,8 +36,22 @@ cert_chain:
|
|
36
36
|
ORVCZpRuCPpmC8qmqxUnARDArzucjaclkxjLWvCVHeFa9UP7K3Nl9oTjJNv+7/jM
|
37
37
|
WZs4eecIcUc4tKdHxcAJ0MO/Dkqq7hGaiHpwKY76wQ1+8xAh
|
38
38
|
-----END CERTIFICATE-----
|
39
|
-
date:
|
39
|
+
date: 2024-10-03 00:00:00.000000000 Z
|
40
40
|
dependencies:
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rvincenty
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.1.0
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.1.0
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: rake
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,6 +80,34 @@ dependencies:
|
|
66
80
|
- - "~>"
|
67
81
|
- !ruby/object:Gem::Version
|
68
82
|
version: '3.9'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rubocop
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rubocop-rspec
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
69
111
|
description: Calculate the distance between two points on Earth
|
70
112
|
email: djberg96@gmail.com
|
71
113
|
executables: []
|
@@ -88,10 +130,11 @@ licenses:
|
|
88
130
|
metadata:
|
89
131
|
homepage_uri: https://github.com/djberg96/gis-distance
|
90
132
|
bug_tracker_uri: https://github.com/djberg96/gis-distance/issues
|
91
|
-
changelog_uri: https://github.com/djberg96/gis-distance/blob/
|
133
|
+
changelog_uri: https://github.com/djberg96/gis-distance/blob/main/CHANGES.md
|
92
134
|
documentation_uri: https://github.com/djberg96/gis-distance/wiki
|
93
135
|
source_code_uri: https://github.com/djberg96/gis-distance
|
94
136
|
wiki_uri: https://github.com/djberg96/gis-distance/wiki
|
137
|
+
rubygems_mfa_required: 'true'
|
95
138
|
post_install_message:
|
96
139
|
rdoc_options: []
|
97
140
|
require_paths:
|
@@ -107,7 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
107
150
|
- !ruby/object:Gem::Version
|
108
151
|
version: '0'
|
109
152
|
requirements: []
|
110
|
-
rubygems_version: 3.
|
153
|
+
rubygems_version: 3.5.16
|
111
154
|
signing_key:
|
112
155
|
specification_version: 4
|
113
156
|
summary: The gis-distance library provides a simple interface for calculating the
|
metadata.gz.sig
CHANGED
Binary file
|