h3 3.7.1 → 3.7.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: a2e10e1deba82674a8ea642385fdbd753ba86860
4
- data.tar.gz: df8a3687f67e5ebfa8432ce1c456b7c038a2de50
2
+ SHA256:
3
+ metadata.gz: acb338f235d3507df322d3e148a135fe72d67911ba05edf9af82873ac190a556
4
+ data.tar.gz: 506b3fddfec2bdd388a57a8e08aeac7522508b8f6e04e9f1d421a6611367890a
5
5
  SHA512:
6
- metadata.gz: f4b83e62d5b0cea99238ad0c04e06e906b73a4d871c6fb0205994ec493036cbd56561184c0998b6e04f81bd0c7af27eff37e82e7c4da7f5d6a5ca214b14b4bd1
7
- data.tar.gz: 33d956b62f5e0a465efebc8014bd03c05743e9e013fbdbbfd52ff6da94a448728c1677b69ba8ff23f26eab6a166f8d62ecd537a9d3a160ff480a311e7f9c5457
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
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.3
2
+ TargetRubyVersion: 2.5
3
3
  Exclude:
4
4
  - "vendor/**/*"
5
5
  - "db/schema.rb"
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.1)
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
- docile (1.3.1)
20
- ffi (1.13.1)
21
- json (2.3.1)
13
+ ffi (1.15.3)
22
14
  rake (12.3.3)
23
- rgeo (2.1.1)
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.0)
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
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2018-2019 Stuart Delivery
3
+ Copyright (c) 2018-2020 Stuart Delivery
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -2,8 +2,7 @@
2
2
 
3
3
  ![h3](https://user-images.githubusercontent.com/98526/50283275-48177300-044d-11e9-8337-eba8d3cc88a2.png)
4
4
 
5
- [![Build Status](https://travis-ci.org/StuartApp/h3_ruby.svg?branch=master)](https://travis-ci.org/StuartApp/h3_ruby)
6
- [![Maintainability](https://api.codeclimate.com/v1/badges/74a47e7fa516588ab545/maintainability)](https://codeclimate.com/repos/5ca38395a86379029800281f/maintainability) [![Coverage Status](https://coveralls.io/repos/github/StuartApp/h3_ruby/badge.svg?branch=master)](https://coveralls.io/github/StuartApp/h3_ruby?branch=master) [![Gem Version](https://badge.fury.io/rb/h3.svg)](https://badge.fury.io/rb/h3)
5
+ ![Build Status](https://github.com/StuartApp/h3_ruby/actions/workflows/ruby_ci/badge.svg) [![Coverage Status](https://coveralls.io/repos/github/StuartApp/h3_ruby/badge.svg?branch=master)](https://coveralls.io/github/StuartApp/h3_ruby?branch=master) [![Maintainability](https://api.codeclimate.com/v1/badges/74a47e7fa516588ab545/maintainability)](https://codeclimate.com/repos/5ca38395a86379029800281f/maintainability) [![Gem Version](https://badge.fury.io/rb/h3.svg)](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.2"
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-macos
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:
@@ -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: 10.x
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
@@ -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
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 (isResClassIII(r + 1)) {
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 = "> 2.3"
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
@@ -1,3 +1,3 @@
1
1
  module H3
2
- VERSION = "3.7.1".freeze
2
+ VERSION = "3.7.2".freeze
3
3
  end
data/spec/spec_helper.rb CHANGED
@@ -1,5 +1,5 @@
1
- require "coveralls"
2
- Coveralls.wear!
1
+ # require "coveralls"
2
+ # Coveralls.wear!
3
3
 
4
4
  begin
5
5
  require "h3"
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.1
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: 2020-10-13 00:00:00.000000000 Z
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
- - ".travis.yml"
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.3'
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
- rubyforge_project:
467
- rubygems_version: 2.6.14.3
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: []
data/.travis.yml DELETED
@@ -1,11 +0,0 @@
1
- language: ruby
2
- cache: bundler
3
- rvm:
4
- - 2.4
5
- addons:
6
- apt:
7
- packages:
8
- - cmake
9
- - make
10
- - gcc
11
- - libtool