ffi-geos 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. data/.gitignore +3 -0
  2. data/Gemfile +15 -0
  3. data/Guardfile +17 -0
  4. data/Rakefile +1 -12
  5. data/ffi-geos.gemspec +0 -4
  6. data/lib/ffi-geos.rb +1 -0
  7. data/lib/ffi-geos/buffer_params.rb +1 -0
  8. data/lib/ffi-geos/coordinate_sequence.rb +1 -0
  9. data/lib/ffi-geos/geometry.rb +1 -0
  10. data/lib/ffi-geos/geometry_collection.rb +1 -0
  11. data/lib/ffi-geos/line_string.rb +1 -0
  12. data/lib/ffi-geos/linear_ring.rb +1 -0
  13. data/lib/ffi-geos/multi_line_string.rb +1 -0
  14. data/lib/ffi-geos/multi_point.rb +1 -0
  15. data/lib/ffi-geos/multi_polygon.rb +1 -0
  16. data/lib/ffi-geos/point.rb +1 -0
  17. data/lib/ffi-geos/polygon.rb +1 -0
  18. data/lib/ffi-geos/prepared_geometry.rb +1 -0
  19. data/lib/ffi-geos/strtree.rb +1 -0
  20. data/lib/ffi-geos/tools.rb +15 -3
  21. data/lib/ffi-geos/utils.rb +1 -0
  22. data/lib/ffi-geos/version.rb +2 -1
  23. data/lib/ffi-geos/wkb_reader.rb +1 -0
  24. data/lib/ffi-geos/wkb_writer.rb +1 -0
  25. data/lib/ffi-geos/wkt_reader.rb +1 -0
  26. data/lib/ffi-geos/wkt_writer.rb +1 -0
  27. data/test/coordinate_sequence_tests.rb +7 -0
  28. data/test/geometry_collection_tests.rb +1 -0
  29. data/test/geometry_tests.rb +36 -0
  30. data/test/line_string_tests.rb +1 -0
  31. data/test/linear_ring_tests.rb +2 -0
  32. data/test/misc_tests.rb +1 -0
  33. data/test/point_tests.rb +8 -0
  34. data/test/polygon_tests.rb +1 -0
  35. data/test/prepared_geometry_tests.rb +1 -0
  36. data/test/strtree_tests.rb +1 -0
  37. data/test/test_helper.rb +14 -7
  38. data/test/tools_tests.rb +85 -0
  39. data/test/utils_tests.rb +14 -0
  40. data/test/wkb_reader_tests.rb +1 -0
  41. data/test/wkb_writer_tests.rb +17 -0
  42. data/test/wkt_reader_tests.rb +1 -0
  43. data/test/wkt_writer_tests.rb +7 -0
  44. metadata +9 -70
data/.gitignore CHANGED
@@ -9,6 +9,7 @@
9
9
  *tmp*
10
10
  pkg/
11
11
  doc/
12
+ coverage/
12
13
  *.orig
13
14
  *.patch
14
15
  .vimrc_local
@@ -16,3 +17,5 @@ doc/
16
17
  test-all.sh
17
18
  .rbx
18
19
  Gemfile.lock
20
+ Gemfile.local
21
+ Guardfile.local
data/Gemfile CHANGED
@@ -1,3 +1,18 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
+
5
+ gem "rdoc", "~> 3.12"
6
+ gem "rake", "~> 10.0"
7
+ gem "minitest"
8
+ gem "minitest-reporters"
9
+ gem "guard-minitest"
10
+
11
+ if RUBY_VERSION >= '1.9'
12
+ gem "simplecov"
13
+ end
14
+
15
+ if File.exists?('Gemfile.local')
16
+ instance_eval File.read('Gemfile.local')
17
+ end
18
+
data/Guardfile ADDED
@@ -0,0 +1,17 @@
1
+
2
+ guard 'minitest', :test_folders => 'test', :test_file_patterns => '*_tests.rb' do
3
+ watch(%r|^test/(.+)_tests\.rb|)
4
+
5
+ watch(%r{^lib/(.*/)?([^/]+)\.rb$}) do |m|
6
+ "test/#{m[2]}_tests.rb"
7
+ end
8
+
9
+ watch(%r|^test/test_helper\.rb|) do
10
+ "test"
11
+ end
12
+ end
13
+
14
+ if File.exists?('Guardfile.local')
15
+ instance_eval File.read('Guardfile.local')
16
+ end
17
+
data/Rakefile CHANGED
@@ -2,23 +2,12 @@
2
2
  # -*- ruby -*-
3
3
 
4
4
  require 'rubygems'
5
-
6
- gem 'rdoc', '~> 3.12'
7
-
8
5
  require 'rubygems/package_task'
9
6
  require 'rake/testtask'
10
7
  require 'rdoc/task'
11
8
  require 'bundler/gem_tasks'
12
9
 
13
- if RUBY_VERSION >= '1.9'
14
- begin
15
- gem 'psych'
16
- rescue Exception => e
17
- # it's okay, fall back on the bundled psych
18
- end
19
- end
20
-
21
- $:.push 'lib'
10
+ $:.push File.expand_path(File.dirname(__FILE__), 'lib')
22
11
 
23
12
  version = Geos::VERSION
24
13
 
data/ffi-geos.gemspec CHANGED
@@ -21,9 +21,5 @@ Gem::Specification.new do |s|
21
21
  s.require_paths = ["lib"]
22
22
 
23
23
  s.add_dependency("ffi", [">= 1.0.0"])
24
- s.add_dependency("rdoc")
25
- s.add_dependency("rake", ["~> 0.9"])
26
- s.add_dependency("minitest")
27
- s.add_dependency("turn")
28
24
  end
29
25
 
data/lib/ffi-geos.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  require 'ffi'
3
4
  require 'rbconfig'
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  module Geos
3
4
  class BufferParams
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  module Geos
3
4
 
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  module Geos
3
4
  class Geometry
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  module Geos
3
4
  class GeometryCollection < Geometry
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  module Geos
3
4
  class LineString < Geometry
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  module Geos
3
4
  class LinearRing < LineString
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  module Geos
3
4
  class MultiLineString < GeometryCollection
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  module Geos
3
4
  class MultiPoint < GeometryCollection
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  module Geos
3
4
  class MultiPolygon < GeometryCollection
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  module Geos
3
4
  class Point < Geometry
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  module Geos
3
4
  class Polygon < Geometry
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  module Geos
3
4
  class PreparedGeometry
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  module Geos
3
4
  class STRtree
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  module Geos
3
4
  module Tools
@@ -51,6 +52,8 @@ module Geos
51
52
  end
52
53
 
53
54
  def pick_srid_from_geoms(srid_a, srid_b, policy = Geos.srid_copy_policy)
55
+ policy = Geos.srid_copy_policy_default if policy == :default
56
+
54
57
  case policy
55
58
  when :zero
56
59
  0
@@ -58,12 +61,16 @@ module Geos
58
61
  srid_a
59
62
  when :strict
60
63
  raise Geos::MixedSRIDsError.new(srid_a, srid_b)
64
+ else
65
+ raise ArgumentError.new("Unexpected policy value: #{policy}")
61
66
  end
62
67
  end
63
68
 
64
69
  def pick_srid_according_to_policy(srid, policy = Geos.srid_copy_policy)
65
- if srid != 0 && Geos.srid_copy_policy != :zero
66
- self.srid
70
+ policy = Geos.srid_copy_policy_default if policy == :default
71
+
72
+ if srid != 0 && policy != :zero
73
+ srid
67
74
  else
68
75
  0
69
76
  end
@@ -81,7 +88,8 @@ module Geos
81
88
  end
82
89
 
83
90
  def check_enum_value(enum, value)
84
- raise TypeError.new("Couldn't find valid #{enum.tag} value: #{value}") unless enum[value]
91
+ enum[value] or
92
+ raise TypeError.new("Couldn't find valid #{enum.tag} value: #{value}")
85
93
  end
86
94
 
87
95
  def symbol_for_enum(enum, value)
@@ -91,5 +99,9 @@ module Geos
91
99
  enum[value]
92
100
  end
93
101
  end
102
+
103
+ class << self
104
+ include Geos::Tools
105
+ end
94
106
  end
95
107
  end
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  module Geos
3
4
  module Utils
@@ -1,5 +1,6 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  module Geos
3
- VERSION = "0.1.0"
4
+ VERSION = "0.1.1"
4
5
  end
5
6
 
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  module Geos
3
4
  class WkbReader
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  module Geos
3
4
  class WkbWriter
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  module Geos
3
4
  class WktReader
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  module Geos
3
4
  class WktWriter
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  $: << File.dirname(__FILE__)
3
4
  require 'test_helper'
@@ -97,6 +98,12 @@ class CoordinateSequenceTests < MiniTest::Unit::TestCase
97
98
  assert_equal(3, cs.dimensions)
98
99
  end
99
100
 
101
+ def test_with_all_sorts_of_arguments
102
+ assert_raises(ArgumentError) do
103
+ Geos::CoordinateSequence.new(0, 1, 2, 3, 4, 5)
104
+ end
105
+ end
106
+
100
107
  def test_read_from_array
101
108
  cs = Geos::CoordinateSequence.new([
102
109
  [ 0, 0 ],
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  $: << File.dirname(__FILE__)
3
4
  require 'test_helper'
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  $: << File.dirname(__FILE__)
3
4
  require 'test_helper'
@@ -1602,4 +1603,39 @@ class GeometryTests < MiniTest::Unit::TestCase
1602
1603
  ensure
1603
1604
  Geos.srid_copy_policy = :default
1604
1605
  end
1606
+
1607
+ def test_bad_srid_copy_policy
1608
+ assert_raises(ArgumentError) do
1609
+ Geos.srid_copy_policy = :blart
1610
+ end
1611
+ end
1612
+
1613
+ def test_srid_copy_policy_default
1614
+ Geos.srid_copy_policy_default = :default
1615
+ assert_equal(:zero, Geos.srid_copy_policy_default)
1616
+
1617
+ Geos.srid_copy_policy_default = :lenient
1618
+ assert_equal(:lenient, Geos.srid_copy_policy_default)
1619
+
1620
+ Geos.srid_copy_policy_default = :strict
1621
+ assert_equal(:strict, Geos.srid_copy_policy_default)
1622
+
1623
+ assert_raises(ArgumentError) do
1624
+ Geos.srid_copy_policy_default = :blart
1625
+ end
1626
+ ensure
1627
+ Geos.srid_copy_policy_default = :default
1628
+ end
1629
+
1630
+ def test_empty_geometry_has_0_area
1631
+ assert_equal(0, read('POLYGON EMPTY').area)
1632
+ end
1633
+
1634
+ def test_empty_geometry_has_0_length
1635
+ assert_equal(0, read('POLYGON EMPTY').length)
1636
+ end
1637
+
1638
+ def test_to_s
1639
+ assert_match(/^\#<Geos::Point: .+>$/, read('POINT(0 0)').to_s)
1640
+ end
1605
1641
  end
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  $: << File.dirname(__FILE__)
3
4
  require 'test_helper'
@@ -1,3 +1,5 @@
1
+ # encoding: UTF-8
2
+
1
3
  $: << File.dirname(__FILE__)
2
4
  require 'test_helper'
3
5
 
data/test/misc_tests.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  $: << File.dirname(__FILE__)
3
4
  require 'test_helper'
data/test/point_tests.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  $: << File.dirname(__FILE__)
3
4
  require 'test_helper'
@@ -89,4 +90,11 @@ class PointTests < MiniTest::Unit::TestCase
89
90
  ensure
90
91
  Geos.srid_copy_policy = :default
91
92
  end
93
+
94
+ def test_normalize
95
+ geom = read('POINT(10 10)')
96
+
97
+ assert_equal(geom.object_id, geom.normalize.object_id)
98
+ assert_equal(geom.object_id, geom.normalize!.object_id)
99
+ end
92
100
  end
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  $: << File.dirname(__FILE__)
3
4
  require 'test_helper'
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  $: << File.dirname(__FILE__)
3
4
  require 'test_helper'
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  $: << File.dirname(__FILE__)
3
4
  require 'test_helper'
data/test/test_helper.rb CHANGED
@@ -1,7 +1,18 @@
1
+ # encoding: BINARY
2
+
3
+ if RUBY_VERSION >= '1.9'
4
+ require 'simplecov'
5
+
6
+ SimpleCov.command_name('Unit Tests')
7
+ SimpleCov.merge_timeout(3600)
8
+ SimpleCov.start do
9
+ add_filter '/test/'
10
+ end
11
+ end
1
12
 
2
13
  require 'rubygems'
3
14
  require 'minitest/autorun'
4
- require 'turn/autorun'
15
+ require 'minitest/reporters' if RUBY_VERSION >= '1.9'
5
16
 
6
17
  if ENV['USE_BINARY_GEOS']
7
18
  require 'geos'
@@ -85,11 +96,7 @@ module TestHelper
85
96
  end
86
97
  end
87
98
 
88
- if ENV['autotest']
89
- module Turn::Colorize
90
- def self.color_supported?
91
- true
92
- end
93
- end
99
+ if RUBY_VERSION >= '1.9'
100
+ MiniTest::Reporters.use!(MiniTest::Reporters::SpecReporter.new)
94
101
  end
95
102
 
@@ -0,0 +1,85 @@
1
+ # encoding: UTF-8
2
+
3
+ $: << File.dirname(__FILE__)
4
+ require 'test_helper'
5
+
6
+ class ToolsTests < MiniTest::Unit::TestCase
7
+ include TestHelper
8
+
9
+ def test_check_geometry
10
+ assert_raises(TypeError) do
11
+ Geos::Tools.check_geometry(:foo)
12
+ end
13
+ end
14
+
15
+ def test_bool_result
16
+ assert(Geos::Tools.bool_result(1))
17
+ refute(Geos::Tools.bool_result(0))
18
+
19
+ assert_raises(RuntimeError) do
20
+ Geos::Tools.bool_result(-1)
21
+ end
22
+ end
23
+
24
+ def test_pick_srid_from_geoms
25
+ Geos.srid_copy_policy = :default
26
+ assert_equal(0, Geos::Tools.pick_srid_from_geoms(4326, 4269))
27
+
28
+ Geos.srid_copy_policy = :zero
29
+ assert_equal(0, Geos::Tools.pick_srid_from_geoms(4326, 4269))
30
+
31
+ Geos.srid_copy_policy = :lenient
32
+ assert_equal(4326, Geos::Tools.pick_srid_from_geoms(4326, 4269))
33
+
34
+ Geos.srid_copy_policy = :strict
35
+ assert_raises(Geos::MixedSRIDsError) do
36
+ Geos::Tools.pick_srid_from_geoms(4326, 4269)
37
+ end
38
+ ensure
39
+ Geos.srid_copy_policy = :default
40
+ end
41
+
42
+ def test_pick_srid_from_geoms_with_option
43
+ assert_equal(0, Geos::Tools.pick_srid_from_geoms(4326, 4269, :default))
44
+ assert_equal(0, Geos::Tools.pick_srid_from_geoms(4326, 4269, :zero))
45
+ assert_equal(4326, Geos::Tools.pick_srid_from_geoms(4326, 4269, :lenient))
46
+
47
+ assert_raises(Geos::MixedSRIDsError) do
48
+ Geos::Tools.pick_srid_from_geoms(4326, 4269, :strict)
49
+ end
50
+
51
+ assert_raises(ArgumentError) do
52
+ Geos::Tools.pick_srid_from_geoms(4326, 4269, :blart)
53
+ end
54
+ end
55
+
56
+ def test_pick_srid_according_to_policy
57
+ Geos.srid_copy_policy = :default
58
+ assert_equal(0, Geos::Tools.pick_srid_according_to_policy(4326))
59
+
60
+ Geos.srid_copy_policy = :zero
61
+ assert_equal(0, Geos::Tools.pick_srid_according_to_policy(4326))
62
+
63
+ Geos.srid_copy_policy = :lenient
64
+ assert_equal(4326, Geos::Tools.pick_srid_according_to_policy(4326))
65
+
66
+ Geos.srid_copy_policy = :strict
67
+ assert_equal(4326, Geos::Tools.pick_srid_according_to_policy(4326))
68
+ ensure
69
+ Geos.srid_copy_policy = :default
70
+ end
71
+
72
+ def test_check_enum_value
73
+ assert_equal(1, Geos::Tools.check_enum_value(Geos::BufferCapStyles, :round))
74
+
75
+ assert_raises(TypeError) do
76
+ Geos::Tools.check_enum_value(Geos::BufferCapStyles, :what)
77
+ end
78
+ end
79
+
80
+ def test_symbol_for_enum
81
+ assert_equal(:round, Geos::Tools.symbol_for_enum(Geos::BufferCapStyles, :round))
82
+ assert_equal(:round, Geos::Tools.symbol_for_enum(Geos::BufferCapStyles, 1))
83
+ end
84
+ end
85
+
data/test/utils_tests.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  $: << File.dirname(__FILE__)
3
4
  require 'test_helper'
@@ -60,6 +61,12 @@ class UtilsTests < MiniTest::Unit::TestCase
60
61
  assert_equal('POINT Z (10 20 30)', write(Geos.create_point(10, 20, 30), :trim => true, :output_dimensions => 3))
61
62
  end
62
63
 
64
+ def test_create_point_with_too_many_arguments
65
+ assert_raises(ArgumentError) do
66
+ Geos.create_point(10, 20, 30, 40, 50)
67
+ end
68
+ end
69
+
63
70
  def test_bad_create_point
64
71
  cs = Geos::CoordinateSequence.new(0, 0)
65
72
  assert_raises(RuntimeError) do
@@ -343,6 +350,13 @@ class UtilsTests < MiniTest::Unit::TestCase
343
350
  )
344
351
  end
345
352
  end
353
+
354
+ def test_create_geometry_collection_with_options
355
+ geom = Geos.create_collection(:multi_line_string, :srid => 4326)
356
+
357
+ assert_kind_of(Geos::MultiLineString, geom)
358
+ assert_equal(4326, geom.srid)
359
+ end
346
360
  end
347
361
 
348
362
  if ENV['FORCE_TESTS'] || Geos.respond_to?(:create_empty_point)
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  $: << File.dirname(__FILE__)
3
4
  require 'test_helper'
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  $: << File.dirname(__FILE__)
3
4
  require 'test_helper'
@@ -25,6 +26,12 @@ class WkbWriterTests < MiniTest::Unit::TestCase
25
26
  @wkb_writer.write(geom)
26
27
  end
27
28
 
29
+ if ''.respond_to?(:force_encoding)
30
+ expected.force_encoding('BINARY')
31
+ end
32
+
33
+ assert_equal(Geos::Tools.symbol_for_enum(Geos::ByteOrders, byte_order), @wkb_writer.byte_order)
34
+ assert_equal(dimensions, @wkb_writer.output_dimensions)
28
35
  assert_equal(expected, result)
29
36
  end
30
37
 
@@ -432,4 +439,14 @@ class WkbWriterTests < MiniTest::Unit::TestCase
432
439
  assert_equal('0101000000000000000000F03F0000000000000040', @wkb_writer.write_hex(geom))
433
440
  end
434
441
  end
442
+
443
+ def test_illegal_output_dimensions
444
+ assert_raises(RuntimeError) do
445
+ @wkb_writer.output_dimensions = 10
446
+ end
447
+
448
+ assert_raises(RuntimeError) do
449
+ @wkb_writer.output_dimensions = 0
450
+ end
451
+ end
435
452
  end
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  $: << File.dirname(__FILE__)
3
4
  require 'test_helper'
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
 
2
3
  $: << File.dirname(__FILE__)
3
4
  require 'test_helper'
@@ -67,6 +68,12 @@ class WktWriterTests < MiniTest::Unit::TestCase
67
68
  tester['POINT (6.1 7.1)', 1]
68
69
  tester['POINT (6 7)', 0]
69
70
  end
71
+
72
+ def test_rounding_precision_too_high
73
+ assert_raises(RuntimeError) do
74
+ @writer.rounding_precision = 1000
75
+ end
76
+ end
70
77
  end
71
78
 
72
79
  if ENV['FORCE_TESTS'] || Geos::WktWriter.method_defined?(:output_dimensions)
metadata CHANGED
@@ -1,96 +1,32 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi-geos
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
5
4
  prerelease:
5
+ version: 0.1.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - J Smith
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-02 00:00:00.000000000 Z
12
+ date: 2012-12-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: ffi
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: 1.0.0
22
- type: :runtime
23
- prerelease: false
24
15
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
16
  requirements:
27
17
  - - ! '>='
28
18
  - !ruby/object:Gem::Version
29
19
  version: 1.0.0
30
- - !ruby/object:Gem::Dependency
31
- name: rdoc
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: '0'
38
- type: :runtime
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
46
- - !ruby/object:Gem::Dependency
47
- name: rake
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ~>
52
- - !ruby/object:Gem::Version
53
- version: '0.9'
54
- type: :runtime
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ~>
60
- - !ruby/object:Gem::Version
61
- version: '0.9'
62
- - !ruby/object:Gem::Dependency
63
- name: minitest
64
- requirement: !ruby/object:Gem::Requirement
65
20
  none: false
66
- requirements:
67
- - - ! '>='
68
- - !ruby/object:Gem::Version
69
- version: '0'
21
+ name: ffi
70
22
  type: :runtime
71
23
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
78
- - !ruby/object:Gem::Dependency
79
- name: turn
80
24
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
25
  requirements:
83
26
  - - ! '>='
84
27
  - !ruby/object:Gem::Version
85
- version: '0'
86
- type: :runtime
87
- prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
28
+ version: 1.0.0
89
29
  none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: '0'
94
30
  description: An ffi wrapper for GEOS, a C++ port of the Java Topology Suite (JTS).
95
31
  email: dark.panda@gmail.com
96
32
  executables: []
@@ -100,6 +36,7 @@ extra_rdoc_files:
100
36
  files:
101
37
  - .gitignore
102
38
  - Gemfile
39
+ - Guardfile
103
40
  - MIT-LICENSE
104
41
  - README.rdoc
105
42
  - Rakefile
@@ -136,6 +73,7 @@ files:
136
73
  - test/prepared_geometry_tests.rb
137
74
  - test/strtree_tests.rb
138
75
  - test/test_helper.rb
76
+ - test/tools_tests.rb
139
77
  - test/utils_tests.rb
140
78
  - test/wkb_reader_tests.rb
141
79
  - test/wkb_writer_tests.rb
@@ -148,17 +86,17 @@ rdoc_options: []
148
86
  require_paths:
149
87
  - lib
150
88
  required_ruby_version: !ruby/object:Gem::Requirement
151
- none: false
152
89
  requirements:
153
90
  - - ! '>='
154
91
  - !ruby/object:Gem::Version
155
92
  version: '0'
156
- required_rubygems_version: !ruby/object:Gem::Requirement
157
93
  none: false
94
+ required_rubygems_version: !ruby/object:Gem::Requirement
158
95
  requirements:
159
96
  - - ! '>='
160
97
  - !ruby/object:Gem::Version
161
98
  version: '0'
99
+ none: false
162
100
  requirements: []
163
101
  rubyforge_project:
164
102
  rubygems_version: 1.8.23
@@ -177,6 +115,7 @@ test_files:
177
115
  - test/prepared_geometry_tests.rb
178
116
  - test/strtree_tests.rb
179
117
  - test/test_helper.rb
118
+ - test/tools_tests.rb
180
119
  - test/utils_tests.rb
181
120
  - test/wkb_reader_tests.rb
182
121
  - test/wkb_writer_tests.rb