h3 3.7.1 → 3.7.2
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 +5 -5
- data/.github/workflows/ruby_ci.yml +30 -0
- data/.rubocop.yml +1 -1
- data/.ruby-version +1 -0
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +4 -22
- data/LICENSE.md +1 -1
- data/README.md +2 -3
- data/ext/h3/src/.github/workflows/test-linux.yml +3 -3
- data/ext/h3/src/.github/workflows/test-macos.yml +2 -2
- data/ext/h3/src/.github/workflows/test-website.yml +3 -3
- data/ext/h3/src/.github/workflows/test-windows.yml +3 -3
- data/ext/h3/src/CHANGELOG.md +4 -0
- data/ext/h3/src/VERSION +1 -1
- data/ext/h3/src/src/apps/testapps/testKRing.c +18 -0
- data/ext/h3/src/src/h3lib/lib/algos.c +4 -1
- data/h3.gemspec +2 -2
- data/lib/h3/version.rb +1 -1
- data/spec/spec_helper.rb +2 -2
- metadata +11 -25
- data/.travis.yml +0 -11
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: acb338f235d3507df322d3e148a135fe72d67911ba05edf9af82873ac190a556
|
|
4
|
+
data.tar.gz: 506b3fddfec2bdd388a57a8e08aeac7522508b8f6e04e9f1d421a6611367890a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e73b0b8d43710cf5b0a802bd08a0a87f607990c162c34eddda36940b10890f6bc252873d96431d2063b659e32af55336a0edd7d748e82aebc3d5ad7d0adfc54c
|
|
7
|
+
data.tar.gz: 7bf43c08a6fe09da1a4b0cbf9f688d56a3d0ec3bab060af939f422f39b0f1e43ec40e45f50b2aa14fd8c486ace24ef4beb7b1e50c9e440df9f0f1d67212e5c64
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
name: Ruby CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ master ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ master ]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
test:
|
|
11
|
+
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
|
|
14
|
+
strategy:
|
|
15
|
+
matrix:
|
|
16
|
+
ruby-version: [3.0.1, 2.7.3, 2.6.7, 2.5.9]
|
|
17
|
+
|
|
18
|
+
steps:
|
|
19
|
+
- uses: actions/checkout@v2
|
|
20
|
+
- name: Set up Ruby ${{ matrix.ruby-version }}
|
|
21
|
+
uses: ruby/setup-ruby@477b21f02be01bcb8030d50f37cfec92bfa615b6
|
|
22
|
+
with:
|
|
23
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
24
|
+
bundler-cache: true
|
|
25
|
+
- name: Install system dependencies
|
|
26
|
+
run: sudo apt-get install cmake make gcc libtool
|
|
27
|
+
- name: Install gems
|
|
28
|
+
run: bundle install
|
|
29
|
+
- name: Run tests
|
|
30
|
+
run: bundle exec rake spec
|
data/.rubocop.yml
CHANGED
data/.ruby-version
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2.7.2
|
data/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,10 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
|
6
6
|
|
|
7
7
|
We track the MAJOR and MINOR version levels of Uber's H3 project (https://github.com/uber/h3) but maintain independent patch levels so we can make small fixes and non breaking changes.
|
|
8
8
|
|
|
9
|
+
## [3.7.2] - 2020-07-17
|
|
10
|
+
### Fixed
|
|
11
|
+
- kRing of invalid indexes should not crash.
|
|
12
|
+
|
|
9
13
|
## [3.7.1] - 2020-10-7
|
|
10
14
|
### Added
|
|
11
15
|
- Area and haversine distance functions:
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
h3 (3.7.
|
|
4
|
+
h3 (3.7.2)
|
|
5
5
|
ffi (~> 1.9)
|
|
6
6
|
rgeo-geojson (~> 2.1)
|
|
7
7
|
zeitwerk (~> 2.1)
|
|
@@ -9,18 +9,10 @@ PATH
|
|
|
9
9
|
GEM
|
|
10
10
|
remote: https://rubygems.org/
|
|
11
11
|
specs:
|
|
12
|
-
coveralls (0.8.22)
|
|
13
|
-
json (>= 1.8, < 3)
|
|
14
|
-
simplecov (~> 0.16.1)
|
|
15
|
-
term-ansicolor (~> 1.3)
|
|
16
|
-
thor (~> 0.19.4)
|
|
17
|
-
tins (~> 1.6)
|
|
18
12
|
diff-lcs (1.3)
|
|
19
|
-
|
|
20
|
-
ffi (1.13.1)
|
|
21
|
-
json (2.3.1)
|
|
13
|
+
ffi (1.15.3)
|
|
22
14
|
rake (12.3.3)
|
|
23
|
-
rgeo (2.
|
|
15
|
+
rgeo (2.3.0)
|
|
24
16
|
rgeo-geojson (2.1.1)
|
|
25
17
|
rgeo (>= 1.0.0)
|
|
26
18
|
rspec (3.8.0)
|
|
@@ -36,23 +28,13 @@ GEM
|
|
|
36
28
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
37
29
|
rspec-support (~> 3.8.0)
|
|
38
30
|
rspec-support (3.8.0)
|
|
39
|
-
simplecov (0.16.1)
|
|
40
|
-
docile (~> 1.1)
|
|
41
|
-
json (>= 1.8, < 3)
|
|
42
|
-
simplecov-html (~> 0.10.0)
|
|
43
|
-
simplecov-html (0.10.2)
|
|
44
|
-
term-ansicolor (1.7.0)
|
|
45
|
-
tins (~> 1.0)
|
|
46
|
-
thor (0.19.4)
|
|
47
|
-
tins (1.20.2)
|
|
48
31
|
yard (0.9.20)
|
|
49
|
-
zeitwerk (2.4.
|
|
32
|
+
zeitwerk (2.4.2)
|
|
50
33
|
|
|
51
34
|
PLATFORMS
|
|
52
35
|
ruby
|
|
53
36
|
|
|
54
37
|
DEPENDENCIES
|
|
55
|
-
coveralls (~> 0.8)
|
|
56
38
|
h3!
|
|
57
39
|
rake (~> 12.3)
|
|
58
40
|
rspec (~> 3.8)
|
data/LICENSE.md
CHANGED
data/README.md
CHANGED
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|

|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
[](https://codeclimate.com/repos/5ca38395a86379029800281f/maintainability) [](https://coveralls.io/github/StuartApp/h3_ruby?branch=master) [](https://badge.fury.io/rb/h3)
|
|
5
|
+
 [](https://coveralls.io/github/StuartApp/h3_ruby?branch=master) [](https://codeclimate.com/repos/5ca38395a86379029800281f/maintainability) [](https://badge.fury.io/rb/h3)
|
|
7
6
|
|
|
8
7
|
Ruby-to-C bindings for Uber's [H3 library](https://uber.github.io/h3/).
|
|
9
8
|
|
|
@@ -39,7 +38,7 @@ or add it to your Gemfile
|
|
|
39
38
|
|
|
40
39
|
```ruby
|
|
41
40
|
# Gemfile
|
|
42
|
-
gem "h3", "~> 3.
|
|
41
|
+
gem "h3", "~> 3.7"
|
|
43
42
|
```
|
|
44
43
|
|
|
45
44
|
## Usage
|
|
@@ -2,9 +2,9 @@ name: test-linux
|
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
4
|
push:
|
|
5
|
-
branches: [master]
|
|
5
|
+
branches: [master, stable-*]
|
|
6
6
|
pull_request:
|
|
7
|
-
branches: [master]
|
|
7
|
+
branches: [master, stable-*]
|
|
8
8
|
|
|
9
9
|
jobs:
|
|
10
10
|
tests:
|
|
@@ -23,7 +23,7 @@ jobs:
|
|
|
23
23
|
- name: Install Doxygen
|
|
24
24
|
run: |
|
|
25
25
|
sudo apt update
|
|
26
|
-
sudo apt-get install doxygen graphviz
|
|
26
|
+
sudo apt-get install doxygen graphviz clang-format-9
|
|
27
27
|
|
|
28
28
|
- name: Configure build
|
|
29
29
|
run: cmake -Bbuild -DWARNINGS_AS_ERRORS=ON .
|
|
@@ -2,9 +2,9 @@ name: test-website
|
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
4
|
push:
|
|
5
|
-
branches: [master]
|
|
5
|
+
branches: [master, stable-*]
|
|
6
6
|
pull_request:
|
|
7
|
-
branches: [master]
|
|
7
|
+
branches: [master, stable-*]
|
|
8
8
|
|
|
9
9
|
jobs:
|
|
10
10
|
tests:
|
|
@@ -16,7 +16,7 @@ jobs:
|
|
|
16
16
|
|
|
17
17
|
- uses: actions/setup-node@v1
|
|
18
18
|
with:
|
|
19
|
-
node-version:
|
|
19
|
+
node-version: 12.x
|
|
20
20
|
|
|
21
21
|
- name: Install FOSSA
|
|
22
22
|
run: |
|
|
@@ -2,9 +2,9 @@ name: test-windows
|
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
4
|
push:
|
|
5
|
-
branches: [master]
|
|
5
|
+
branches: [master, stable-*]
|
|
6
6
|
pull_request:
|
|
7
|
-
branches: [master]
|
|
7
|
+
branches: [master, stable-*]
|
|
8
8
|
|
|
9
9
|
jobs:
|
|
10
10
|
tests:
|
|
@@ -24,7 +24,7 @@ jobs:
|
|
|
24
24
|
|
|
25
25
|
- name: Configure build
|
|
26
26
|
shell: cmd
|
|
27
|
-
run: cmake -Bbuild -A ${{ matrix.arch }} -DWARNINGS_AS_ERRORS=ON .
|
|
27
|
+
run: cmake -Bbuild -A ${{ matrix.arch }} -DWARNINGS_AS_ERRORS=ON -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=ON .
|
|
28
28
|
|
|
29
29
|
- name: Build
|
|
30
30
|
working-directory: build
|
data/ext/h3/src/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,10 @@ The public API of this library consists of the functions declared in file
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [3.7.2] - 2021-07-15
|
|
11
|
+
### Fixed
|
|
12
|
+
- `gridDisk` of invalid indexes should not crash. (#498)
|
|
13
|
+
|
|
10
14
|
## [3.7.1] - 2020-10-05
|
|
11
15
|
### Fixed
|
|
12
16
|
- Finding invalid edge boundaries should not crash. (#399)
|
data/ext/h3/src/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.7.
|
|
1
|
+
3.7.2
|
|
@@ -351,4 +351,22 @@ SUITE(kRing) {
|
|
|
351
351
|
}
|
|
352
352
|
}
|
|
353
353
|
}
|
|
354
|
+
|
|
355
|
+
TEST(kRingInvalid) {
|
|
356
|
+
int k = 1000;
|
|
357
|
+
int kSz = H3_EXPORT(maxKringSize)(k);
|
|
358
|
+
H3Index *neighbors = calloc(kSz, sizeof(H3Index));
|
|
359
|
+
H3_EXPORT(kRing)(0x7fffffffffffffff, k, neighbors);
|
|
360
|
+
// Assertion is should not crash - should return an error in the future
|
|
361
|
+
free(neighbors);
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
TEST(kRingInvalidDigit) {
|
|
365
|
+
int k = 2;
|
|
366
|
+
int kSz = H3_EXPORT(maxKringSize)(k);
|
|
367
|
+
H3Index *neighbors = calloc(kSz, sizeof(H3Index));
|
|
368
|
+
H3_EXPORT(kRing)(0x4d4b00fe5c5c3030, k, neighbors);
|
|
369
|
+
// Assertion is should not crash - should return an error in the future
|
|
370
|
+
free(neighbors);
|
|
371
|
+
}
|
|
354
372
|
}
|
|
@@ -317,7 +317,10 @@ H3Index h3NeighborRotations(H3Index origin, Direction dir, int* rotations) {
|
|
|
317
317
|
} else {
|
|
318
318
|
Direction oldDigit = H3_GET_INDEX_DIGIT(out, r + 1);
|
|
319
319
|
Direction nextDir;
|
|
320
|
-
if (
|
|
320
|
+
if (oldDigit == INVALID_DIGIT) {
|
|
321
|
+
// Only possible on invalid input
|
|
322
|
+
return H3_NULL;
|
|
323
|
+
} else if (isResClassIII(r + 1)) {
|
|
321
324
|
H3_SET_INDEX_DIGIT(out, r + 1, NEW_DIGIT_II[oldDigit][dir]);
|
|
322
325
|
nextDir = NEW_ADJUSTMENT_II[oldDigit][dir];
|
|
323
326
|
} else {
|
data/h3.gemspec
CHANGED
|
@@ -9,14 +9,14 @@ Gem::Specification.new do |spec|
|
|
|
9
9
|
spec.authors = ["Lachlan Laycock", "Sean Handley"]
|
|
10
10
|
spec.email = "l.laycock@stuart.com"
|
|
11
11
|
|
|
12
|
-
spec.required_ruby_version = "
|
|
12
|
+
spec.required_ruby_version = ">= 2.5"
|
|
13
13
|
spec.files = `git ls-files --recurse-submodules`.split("\n")
|
|
14
14
|
|
|
15
15
|
spec.add_runtime_dependency "ffi", "~> 1.9"
|
|
16
16
|
spec.add_runtime_dependency "rgeo-geojson", "~> 2.1"
|
|
17
17
|
spec.add_runtime_dependency "zeitwerk", "~> 2.1"
|
|
18
18
|
|
|
19
|
-
spec.add_development_dependency "coveralls", "~> 0.8"
|
|
19
|
+
# spec.add_development_dependency "coveralls", "~> 0.8"
|
|
20
20
|
spec.add_development_dependency "rake", "~> 12.3"
|
|
21
21
|
spec.add_development_dependency "rspec", "~> 3.8"
|
|
22
22
|
spec.add_development_dependency "yard", "~> 0.9"
|
data/lib/h3/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: h3
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.7.
|
|
4
|
+
version: 3.7.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Lachlan Laycock
|
|
8
8
|
- Sean Handley
|
|
9
|
-
autorequire:
|
|
9
|
+
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2021-07-19 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: ffi
|
|
@@ -53,20 +53,6 @@ dependencies:
|
|
|
53
53
|
- - "~>"
|
|
54
54
|
- !ruby/object:Gem::Version
|
|
55
55
|
version: '2.1'
|
|
56
|
-
- !ruby/object:Gem::Dependency
|
|
57
|
-
name: coveralls
|
|
58
|
-
requirement: !ruby/object:Gem::Requirement
|
|
59
|
-
requirements:
|
|
60
|
-
- - "~>"
|
|
61
|
-
- !ruby/object:Gem::Version
|
|
62
|
-
version: '0.8'
|
|
63
|
-
type: :development
|
|
64
|
-
prerelease: false
|
|
65
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
66
|
-
requirements:
|
|
67
|
-
- - "~>"
|
|
68
|
-
- !ruby/object:Gem::Version
|
|
69
|
-
version: '0.8'
|
|
70
56
|
- !ruby/object:Gem::Dependency
|
|
71
57
|
name: rake
|
|
72
58
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -109,7 +95,7 @@ dependencies:
|
|
|
109
95
|
- - "~>"
|
|
110
96
|
- !ruby/object:Gem::Version
|
|
111
97
|
version: '0.9'
|
|
112
|
-
description:
|
|
98
|
+
description:
|
|
113
99
|
email: l.laycock@stuart.com
|
|
114
100
|
executables: []
|
|
115
101
|
extensions:
|
|
@@ -117,11 +103,12 @@ extensions:
|
|
|
117
103
|
extra_rdoc_files: []
|
|
118
104
|
files:
|
|
119
105
|
- ".codeclimate.yml"
|
|
106
|
+
- ".github/workflows/ruby_ci.yml"
|
|
120
107
|
- ".gitignore"
|
|
121
108
|
- ".gitmodules"
|
|
122
109
|
- ".rspec"
|
|
123
110
|
- ".rubocop.yml"
|
|
124
|
-
- ".
|
|
111
|
+
- ".ruby-version"
|
|
125
112
|
- CHANGELOG.md
|
|
126
113
|
- CONTRIBUTING.md
|
|
127
114
|
- Gemfile
|
|
@@ -448,24 +435,23 @@ homepage: https://github.com/StuartApp/h3_ruby
|
|
|
448
435
|
licenses:
|
|
449
436
|
- MIT
|
|
450
437
|
metadata: {}
|
|
451
|
-
post_install_message:
|
|
438
|
+
post_install_message:
|
|
452
439
|
rdoc_options: []
|
|
453
440
|
require_paths:
|
|
454
441
|
- lib
|
|
455
442
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
456
443
|
requirements:
|
|
457
|
-
- - "
|
|
444
|
+
- - ">="
|
|
458
445
|
- !ruby/object:Gem::Version
|
|
459
|
-
version: '2.
|
|
446
|
+
version: '2.5'
|
|
460
447
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
461
448
|
requirements:
|
|
462
449
|
- - ">="
|
|
463
450
|
- !ruby/object:Gem::Version
|
|
464
451
|
version: '0'
|
|
465
452
|
requirements: []
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
signing_key:
|
|
453
|
+
rubygems_version: 3.1.4
|
|
454
|
+
signing_key:
|
|
469
455
|
specification_version: 4
|
|
470
456
|
summary: C Bindings for Uber's H3 library
|
|
471
457
|
test_files: []
|