ffi-geos 1.2.2 → 2.3.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
- data/.github/workflows/main.yml +49 -0
- data/.rubocop.yml +5117 -4
- data/FUNDING.yml +2 -0
- data/Gemfile +9 -16
- data/Guardfile +3 -4
- data/MIT-LICENSE +1 -1
- data/README.rdoc +2 -20
- data/Rakefile +3 -2
- data/ffi-geos.gemspec +7 -2
- data/lib/ffi-geos/buffer_params.rb +1 -1
- data/lib/ffi-geos/coordinate_sequence.rb +179 -177
- data/lib/ffi-geos/geometry.rb +118 -31
- data/lib/ffi-geos/geometry_collection.rb +26 -12
- data/lib/ffi-geos/interrupt.rb +11 -14
- data/lib/ffi-geos/line_string.rb +64 -49
- data/lib/ffi-geos/multi_line_string.rb +1 -1
- data/lib/ffi-geos/point.rb +18 -18
- data/lib/ffi-geos/polygon.rb +44 -30
- data/lib/ffi-geos/prepared_geometry.rb +1 -1
- data/lib/ffi-geos/strtree.rb +28 -30
- data/lib/ffi-geos/tools.rb +1 -1
- data/lib/ffi-geos/utils.rb +16 -23
- data/lib/ffi-geos/version.rb +1 -1
- data/lib/ffi-geos/wkb_reader.rb +1 -1
- data/lib/ffi-geos/wkb_writer.rb +4 -5
- data/lib/ffi-geos/wkt_reader.rb +1 -1
- data/lib/ffi-geos/wkt_writer.rb +7 -13
- data/lib/ffi-geos.rb +134 -48
- data/sonar-project.properties +16 -0
- data/test/coordinate_sequence_tests.rb +148 -126
- data/test/geometry_collection_tests.rb +41 -67
- data/test/geometry_tests.rb +341 -40
- data/test/interrupt_tests.rb +7 -7
- data/test/line_string_tests.rb +23 -15
- data/test/point_tests.rb +5 -5
- data/test/polygon_tests.rb +6 -7
- data/test/prepared_geometry_tests.rb +8 -8
- data/test/strtree_tests.rb +13 -12
- data/test/test_helper.rb +74 -56
- data/test/utils_tests.rb +69 -59
- data/test/wkb_reader_tests.rb +9 -9
- data/test/wkb_writer_tests.rb +14 -12
- data/test/wkt_reader_tests.rb +0 -1
- data/test/wkt_writer_tests.rb +2 -5
- metadata +12 -10
- data/.travis.yml +0 -21
data/FUNDING.yml
ADDED
data/Gemfile
CHANGED
@@ -1,23 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
source 'https://rubygems.org'
|
2
4
|
|
3
5
|
gemspec
|
4
6
|
|
7
|
+
gem 'guard'
|
8
|
+
gem 'guard-minitest'
|
5
9
|
gem 'minitest'
|
6
10
|
gem 'minitest-reporters'
|
7
|
-
gem 'rake'
|
8
|
-
gem 'rdoc'
|
9
|
-
|
10
|
-
|
11
|
-
gem 'rubinius-developer_tools'
|
12
|
-
gem 'rubysl', '~> 2.0'
|
13
|
-
end
|
14
|
-
|
15
|
-
if RUBY_VERSION >= '1.9'
|
16
|
-
gem 'guard'
|
17
|
-
gem 'guard-minitest'
|
18
|
-
gem 'simplecov'
|
19
|
-
end
|
11
|
+
gem 'rake'
|
12
|
+
gem 'rdoc'
|
13
|
+
gem 'rubocop', require: false
|
14
|
+
gem 'simplecov', require: false
|
20
15
|
|
21
|
-
if File.exist?('Gemfile.local')
|
22
|
-
instance_eval File.read('Gemfile.local')
|
23
|
-
end
|
16
|
+
instance_eval File.read('Gemfile.local') if File.exist?('Gemfile.local')
|
data/Guardfile
CHANGED
@@ -1,6 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
|
2
3
|
guard 'minitest', test_folders: 'test', test_file_patterns: '*_tests.rb' do
|
3
|
-
watch(%r
|
4
|
+
watch(%r{^test/(.+)_tests\.rb})
|
4
5
|
|
5
6
|
watch(%r{^lib/(.*/)?([^/]+)\.rb$}) do |m|
|
6
7
|
"test/#{m[2]}_tests.rb"
|
@@ -11,6 +12,4 @@ guard 'minitest', test_folders: 'test', test_file_patterns: '*_tests.rb' do
|
|
11
12
|
end
|
12
13
|
end
|
13
14
|
|
14
|
-
if File.exist?('Guardfile.local')
|
15
|
-
instance_eval File.read('Guardfile.local')
|
16
|
-
end
|
15
|
+
instance_eval File.read('Guardfile.local') if File.exist?('Guardfile.local')
|
data/MIT-LICENSE
CHANGED
data/README.rdoc
CHANGED
@@ -7,15 +7,8 @@
|
|
7
7
|
* GEOS version 3.3.0 or greater. GEOS 3.2.2 and below will work to an extent,
|
8
8
|
but some features and methods will be disabled or missing.
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
* Ruby MRI 1.9.3, 2.0+, 2.1+, 2.2+
|
13
|
-
* Ruby MRI 1.8.7 works but as Ruby 1.8 is no longer being maintained, there's
|
14
|
-
no guarantee this will continue in the future and is therefore no longer
|
15
|
-
being tested with the same rigour as more modern versions of Ruby.
|
16
|
-
* Rubinius 2
|
17
|
-
* JRuby 1.6+, with the exception of versions of JRuby prior to 1.6.3 as per
|
18
|
-
below. This includes both 1.8 and 1.9 modes.
|
10
|
+
We currently test on Travis CI using the current releases of MRI that are
|
11
|
+
maintained. See `.travis.yml` for a list. We also test against jruby-head.
|
19
12
|
|
20
13
|
=== JRuby Notes
|
21
14
|
|
@@ -74,17 +67,6 @@ Ruby bindings along with the following enhancements and additions:
|
|
74
67
|
entire GEOS C API is represented in ffi-geos along with all sorts of useful
|
75
68
|
convenience methods and geometry conversion and manipulation methods.
|
76
69
|
|
77
|
-
* *NEW IN ffi-geos 1.0.0* -- all errors thrown by ffi-geos are now instances of
|
78
|
-
Geos::Error or subclasses thereof. Geos::Error itself is a descendant
|
79
|
-
of RuntimeError as is the case with the native Geos extension. This means
|
80
|
-
that code like rescue RuntimeError should still work but you can now
|
81
|
-
further capture more precise error types by capturing errors like
|
82
|
-
Geos::Error, Geos::ParseError, etc.
|
83
|
-
|
84
|
-
* *NEW IN ffi-geos 1.0.0* -- new methods for Geom::Geometry#voronoi_diagram,
|
85
|
-
Geos::MultiLineString#closed? and Geos::Geometry#clip_by_rect when using
|
86
|
-
GEOS 3.5.0+.
|
87
|
-
|
88
70
|
== Thanks
|
89
71
|
|
90
72
|
* Daniel Azuma for the testing and JRuby help.
|
data/Rakefile
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
|
2
3
|
# -*- ruby -*-
|
3
4
|
|
@@ -7,7 +8,7 @@ require 'rake/testtask'
|
|
7
8
|
require 'rdoc/task'
|
8
9
|
require 'bundler/gem_tasks'
|
9
10
|
|
10
|
-
|
11
|
+
$LOAD_PATH.push File.expand_path(File.dirname(__FILE__), 'lib')
|
11
12
|
|
12
13
|
version = Geos::VERSION
|
13
14
|
|
@@ -19,7 +20,7 @@ Rake::TestTask.new(:test) do |t|
|
|
19
20
|
t.warning = !!ENV['WARNINGS']
|
20
21
|
end
|
21
22
|
|
22
|
-
task :
|
23
|
+
task default: :test
|
23
24
|
|
24
25
|
begin
|
25
26
|
desc 'Build docs'
|
data/ffi-geos.gemspec
CHANGED
@@ -1,12 +1,14 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require File.expand_path('
|
3
|
+
require File.expand_path('lib/ffi-geos/version', __dir__)
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = 'ffi-geos'
|
7
7
|
s.version = Geos::VERSION
|
8
8
|
|
9
9
|
s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
|
10
|
+
s.required_ruby_version = '>= 2.5'
|
11
|
+
|
10
12
|
s.authors = ['J Smith']
|
11
13
|
s.description = 'An ffi wrapper for GEOS, a C++ port of the Java Topology Suite (JTS).'
|
12
14
|
s.summary = s.description
|
@@ -22,4 +24,7 @@ Gem::Specification.new do |s|
|
|
22
24
|
s.require_paths = ['lib']
|
23
25
|
|
24
26
|
s.add_dependency('ffi', ['>= 1.0.0'])
|
27
|
+
s.metadata = {
|
28
|
+
'rubygems_mfa_required' => 'true'
|
29
|
+
}
|
25
30
|
end
|