geo-cli 0.0.1.pre

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: eda43d580e8ccbc1c4884dc5326e536451c7270f
4
+ data.tar.gz: e681b9151a66dbc12b7cd26a69f4cfc3a4f73cb7
5
+ SHA512:
6
+ metadata.gz: 722829814df0ab09297d20d1ac7a5688b9241f01a865cffc0032935272b44531ec804b3558bcac2f4ba878919031a6ef7377c1138a6e5e03306cee48501d9751
7
+ data.tar.gz: ec9dcb21d1b8b5bb9b6c01095ad2b0f38368b850cf6c8de5077c60711565b492a2ddb9722d5e29db36254fe8110ff2a964b9e85871d5af483b1a4f62f934ff0e
data/.gitignore ADDED
@@ -0,0 +1,8 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source 'https://rubygems.org'
2
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,85 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ geo-cli (0.0.1)
5
+ gli (= 2.17.1)
6
+ pr_geohash (~> 1.0)
7
+ rgeo
8
+ rgeo-geojson
9
+
10
+ GEM
11
+ remote: https://rubygems.org/
12
+ specs:
13
+ ansi (1.5.0)
14
+ aruba (0.14.5)
15
+ childprocess (>= 0.6.3, < 0.10.0)
16
+ contracts (~> 0.9)
17
+ cucumber (>= 1.3.19)
18
+ ffi (~> 1.9.10)
19
+ rspec-expectations (>= 2.99)
20
+ thor (~> 0.19)
21
+ backports (3.11.3)
22
+ builder (3.2.3)
23
+ childprocess (0.9.0)
24
+ ffi (~> 1.0, >= 1.0.11)
25
+ coderay (1.1.2)
26
+ contracts (0.16.0)
27
+ cucumber (3.1.0)
28
+ builder (>= 2.1.2)
29
+ cucumber-core (~> 3.1.0)
30
+ cucumber-expressions (~> 5.0.4)
31
+ cucumber-wire (~> 0.0.1)
32
+ diff-lcs (~> 1.3)
33
+ gherkin (~> 5.0)
34
+ multi_json (>= 1.7.5, < 2.0)
35
+ multi_test (>= 0.1.2)
36
+ cucumber-core (3.1.0)
37
+ backports (>= 3.8.0)
38
+ cucumber-tag_expressions (~> 1.1.0)
39
+ gherkin (>= 5.0.0)
40
+ cucumber-expressions (5.0.17)
41
+ cucumber-tag_expressions (1.1.1)
42
+ cucumber-wire (0.0.1)
43
+ diff-lcs (1.3)
44
+ ffi (1.9.23)
45
+ gherkin (5.0.0)
46
+ gli (2.17.1)
47
+ method_source (0.9.0)
48
+ minitest (5.11.3)
49
+ minitest-reporters (1.2.0)
50
+ ansi
51
+ builder
52
+ minitest (>= 5.0)
53
+ ruby-progressbar
54
+ multi_json (1.13.1)
55
+ multi_test (0.1.2)
56
+ pr_geohash (1.0.0)
57
+ pry (0.11.3)
58
+ coderay (~> 1.1.0)
59
+ method_source (~> 0.9.0)
60
+ rake (12.3.1)
61
+ rdoc (6.0.4)
62
+ rgeo (1.0.0)
63
+ rgeo-geojson (2.0.0)
64
+ rgeo (~> 1.0)
65
+ rspec-expectations (3.7.0)
66
+ diff-lcs (>= 1.2.0, < 2.0)
67
+ rspec-support (~> 3.7.0)
68
+ rspec-support (3.7.1)
69
+ ruby-progressbar (1.9.0)
70
+ thor (0.20.0)
71
+
72
+ PLATFORMS
73
+ ruby
74
+
75
+ DEPENDENCIES
76
+ aruba
77
+ geo-cli!
78
+ minitest (~> 5.11)
79
+ minitest-reporters
80
+ pry
81
+ rake
82
+ rdoc
83
+
84
+ BUNDLED WITH
85
+ 1.16.1
data/README.md ADDED
@@ -0,0 +1,59 @@
1
+ # geo-cli
2
+
3
+ Geospatial Utility Belt.
4
+
5
+ ## (desired) Features
6
+
7
+ Geojson to wkt
8
+
9
+ ```
10
+ echo '{"type":"Point","coordinates":[1,2]}' | geo-cli wkt
11
+ => "POINT (1.0 2.0)"
12
+ ```
13
+
14
+ wkt to geojson
15
+
16
+ ```
17
+ echo "POINT (1.0 2.0)" | geo-cli gj geometry
18
+ => {"type":"Point","coordinates":[1,2]}
19
+ ```
20
+
21
+ geohash to geojson/wkt
22
+
23
+ ```
24
+ echo 9q5 | geo-cli gj geometry
25
+ => {"type":"Point","coordinates":[1,2]}
26
+ ```
27
+
28
+ geojson feature
29
+
30
+ ```
31
+ echo 9q5 | geo-cli gj feature
32
+ => {"type": "Feature", "properties": {}, "geometry": {"type":"Point","coordinates":[1,2]}}
33
+ ```
34
+
35
+ geojson feature collection (??)
36
+
37
+ ```
38
+ echo 9q5 | geo-cli gj fc
39
+ => {"type": "FeatureCollection", "features": [{"type": "Feature", "properties": {}, "geometry": {"type":"Point","coordinates":[1,2]}}]}
40
+ ```
41
+
42
+ slurp multiple geoms into feature collection
43
+
44
+ ```
45
+ printf "9q5\n9q6\n9q7\n" | geo-cli gj fc
46
+ => {"type": "FeatureCollection", "features": [...]}
47
+ ```
48
+
49
+ post gist to github
50
+
51
+ ```
52
+ echo 9q5 | geo-cli gj | geo-cli gist
53
+ => {"type":"Point","coordinates":[1,2]}
54
+ ```
55
+ Geohash Ops
56
+
57
+ * Covering Geohashes
58
+ * Children
59
+ * Neighbors
data/README.rdoc ADDED
@@ -0,0 +1,6 @@
1
+ = geo-cli
2
+
3
+ Describe your project here
4
+
5
+ :include:geo-cli.rdoc
6
+
data/Rakefile ADDED
@@ -0,0 +1,45 @@
1
+ require 'rake/clean'
2
+ require 'rubygems'
3
+ require 'rubygems/package_task'
4
+ require 'rdoc/task'
5
+ require 'cucumber'
6
+ require 'cucumber/rake/task'
7
+ Rake::RDocTask.new do |rd|
8
+ rd.main = "README.rdoc"
9
+ rd.rdoc_files.include("README.rdoc","lib/**/*.rb","bin/**/*")
10
+ rd.title = 'Your application title'
11
+ end
12
+
13
+ spec = eval(File.read('geo-cli.gemspec'))
14
+
15
+ Gem::PackageTask.new(spec) do |pkg|
16
+ end
17
+ CUKE_RESULTS = 'results.html'
18
+ CLEAN << CUKE_RESULTS
19
+ desc 'Run features'
20
+ Cucumber::Rake::Task.new(:features) do |t|
21
+ opts = "features --format html -o #{CUKE_RESULTS} --format progress -x"
22
+ opts += " --tags #{ENV['TAGS']}" if ENV['TAGS']
23
+ t.cucumber_opts = opts
24
+ t.fork = false
25
+ end
26
+
27
+ desc 'Run features tagged as work-in-progress (@wip)'
28
+ Cucumber::Rake::Task.new('features:wip') do |t|
29
+ tag_opts = ' --tags ~@pending'
30
+ tag_opts = ' --tags @wip'
31
+ t.cucumber_opts = "features --format html -o #{CUKE_RESULTS} --format pretty -x -s#{tag_opts}"
32
+ t.fork = false
33
+ end
34
+
35
+ task :cucumber => :features
36
+ task 'cucumber:wip' => 'features:wip'
37
+ task :wip => 'features:wip'
38
+ require 'rake/testtask'
39
+ Rake::TestTask.new(:test) do |t|
40
+ t.libs << "test"
41
+ t.libs << "lib"
42
+ t.test_files = FileList["test/**/*_test.rb"]
43
+ end
44
+
45
+ task :default => [:test]
data/bin/geo-cli ADDED
@@ -0,0 +1,101 @@
1
+ #!/usr/bin/env ruby
2
+ require 'gli'
3
+ begin # XXX: Remove this begin/rescue before distributing your app
4
+ require 'geo-cli'
5
+ rescue LoadError
6
+ STDERR.puts "In development, you need to use `bundle exec bin/geo-cli` to run your app"
7
+ STDERR.puts "At install-time, RubyGems will make sure lib, etc. are in the load path"
8
+ STDERR.puts "Feel free to remove this message from bin/geo-cli now"
9
+ exit 64
10
+ end
11
+
12
+ include GLI::App
13
+
14
+ program_desc <<-desc
15
+ Geospatial utility belt
16
+
17
+ geo-cli is a command-line tool for converting between various
18
+ GIS serialization formats. For example:
19
+
20
+ echo 9q5 | geo-cli gj geometry
21
+
22
+ Will output the geohash 9q5 as a geojson geometry.
23
+
24
+ Most commands will accept a Geohash (base 32 encoded), a WKT,
25
+ or a GeoJSON input, and should recognize the input based on its
26
+ format.
27
+
28
+ Commands expect one geo entity per line.
29
+
30
+ See COMMANDS for more possible commands.
31
+
32
+ See geo-cli <COMMAND> --help for more info on a given command.
33
+ desc
34
+
35
+ version GeoCli::VERSION
36
+
37
+ subcommand_option_handling :normal
38
+ arguments :strict
39
+
40
+
41
+ desc 'Convert to and manipulate GeoJSON.'
42
+ # desc 'Treat all lines of input as a single collection'
43
+ # switch [:s,:slurp]
44
+ command :gj do |c|
45
+ c.desc "Output entity as a geojson geometry"
46
+ c.command :geometry do |c|
47
+ c.action do |global_options,options,args|
48
+ GeoCli::GeomReader.new(STDIN).each do |entity|
49
+ puts entity.to_geojson
50
+ end
51
+ end
52
+ end
53
+
54
+ c.desc "Output entity as a geojson feature"
55
+ c.command :feature do |c|
56
+ c.action do |global_options,options,args|
57
+ GeoCli::GeomReader.new(STDIN).each do |entity|
58
+ puts entity.to_geojson(true)
59
+ end
60
+ end
61
+ end
62
+
63
+ c.desc "Combine entities into a geojson feature collection"
64
+ c.command :fc do |c|
65
+ c.action do |global_options,options,args|
66
+ puts GeoCli::FeatureCollection.new(GeoCli::GeomReader.new(STDIN)).to_geojson
67
+ end
68
+ end
69
+ end
70
+
71
+ desc "Output entity as WKT"
72
+ command :wkt do |c|
73
+ c.action do |global_options,options,args|
74
+ GeoCli::GeomReader.new(STDIN).each do |geom|
75
+ puts geom.to_wkt
76
+ end
77
+ end
78
+ end
79
+
80
+ pre do |global,command,options,args|
81
+ # Pre logic here
82
+ # Return true to proceed; false to abort and not call the
83
+ # chosen command
84
+ # Use skips_pre before a command to skip this block
85
+ # on that command only
86
+ true
87
+ end
88
+
89
+ post do |global,command,options,args|
90
+ # Post logic here
91
+ # Use skips_post before a command to skip this
92
+ # block on that command only
93
+ end
94
+
95
+ on_error do |exception|
96
+ # Error logic here
97
+ # return false to skip default error handling
98
+ true
99
+ end
100
+
101
+ exit run(ARGV)
@@ -0,0 +1,8 @@
1
+ Feature: My bootstrapped app kinda works
2
+ In order to get going on coding my awesome app
3
+ I want to have aruba and cucumber setup
4
+ So I don't have to do it myself
5
+
6
+ Scenario: App just runs
7
+ When I get help for "geo-cli"
8
+ Then the exit status should be 0
@@ -0,0 +1,6 @@
1
+ When /^I get help for "([^"]*)"$/ do |app_name|
2
+ @app_name = app_name
3
+ step %(I run `#{app_name} help`)
4
+ end
5
+
6
+ # Add more step definitions here
@@ -0,0 +1,15 @@
1
+ require 'aruba/cucumber'
2
+
3
+ ENV['PATH'] = "#{File.expand_path(File.dirname(__FILE__) + '/../../bin')}#{File::PATH_SEPARATOR}#{ENV['PATH']}"
4
+ LIB_DIR = File.join(File.expand_path(File.dirname(__FILE__)),'..','..','lib')
5
+
6
+ Before do
7
+ # Using "announce" causes massive warnings on 1.9.2
8
+ @puts = true
9
+ @original_rubylib = ENV['RUBYLIB']
10
+ ENV['RUBYLIB'] = LIB_DIR + File::PATH_SEPARATOR + ENV['RUBYLIB'].to_s
11
+ end
12
+
13
+ After do
14
+ ENV['RUBYLIB'] = @original_rubylib
15
+ end
data/geo-cli.gemspec ADDED
@@ -0,0 +1,32 @@
1
+ # Ensure we require the local version and not one we might have installed already
2
+ require File.join([File.dirname(__FILE__),'lib','geo-cli','version.rb'])
3
+ spec = Gem::Specification.new do |s|
4
+ s.name = 'geo-cli'
5
+ s.version = GeoCli::VERSION
6
+ s.author = 'Your Name Here'
7
+ s.email = 'your@email.address.com'
8
+ s.homepage = 'http://your.website.com'
9
+ s.platform = Gem::Platform::RUBY
10
+ s.license = 'MIT'
11
+ s.summary = 'A description of your project'
12
+ s.files = `git ls-files`.split('
13
+ ')
14
+ s.require_paths << 'lib'
15
+ s.has_rdoc = true
16
+ s.extra_rdoc_files = ['README.rdoc','geo-cli.rdoc']
17
+ s.rdoc_options << '--title' << 'geo-cli' << '--main' << 'README.rdoc' << '-ri'
18
+ s.bindir = 'bin'
19
+ s.executables << 'geo-cli'
20
+
21
+ s.add_development_dependency('rake', '~>12.3')
22
+ s.add_development_dependency('rdoc', '~>6.0')
23
+ s.add_development_dependency('aruba', '~>0.14')
24
+ s.add_development_dependency('minitest', '~> 5.11')
25
+ s.add_development_dependency('minitest-reporters', '~>1.2')
26
+ s.add_development_dependency('pry', '~>0.11')
27
+
28
+ s.add_runtime_dependency('gli','~>2.17')
29
+ s.add_runtime_dependency('rgeo', '~>1.0')
30
+ s.add_runtime_dependency('rgeo-geojson', '~>2.0')
31
+ s.add_runtime_dependency('pr_geohash', '~>1.0')
32
+ end
data/geo-cli.rdoc ADDED
@@ -0,0 +1,5 @@
1
+ = geo-cli
2
+
3
+ Generate this with
4
+ geo-cli rdoc
5
+ After you have described your command line interface
data/lib/geo-cli.rb ADDED
@@ -0,0 +1,5 @@
1
+ require 'geo-cli/version.rb'
2
+ require 'geo-cli/geom_reader.rb'
3
+
4
+ # Add requires for other files you add to your project here, so
5
+ # you just need to require this one file in your bin file
@@ -0,0 +1,107 @@
1
+ require "pr_geohash"
2
+ require "rgeo"
3
+ require "rgeo/geo_json"
4
+
5
+ module GeoCli
6
+ class Entity
7
+ attr_reader :entity
8
+
9
+ def initialize(entity)
10
+ @entity = entity
11
+ end
12
+
13
+ def as_geojson(feature = false)
14
+ geom = RGeo::GeoJSON.encode(entity)
15
+ if feature
16
+ {type: "Feature",
17
+ properties: {},
18
+ geometry: geom}
19
+ else
20
+ geom
21
+ end
22
+ end
23
+
24
+ def to_geojson(feature = false)
25
+ as_geojson(feature).to_json
26
+ end
27
+
28
+ def to_wkt
29
+ entity.as_text
30
+ end
31
+ end
32
+
33
+ class Geohash < Entity
34
+ end
35
+
36
+ class Wkt < Entity
37
+ end
38
+
39
+ class GeoJson < Entity
40
+ end
41
+
42
+ class FeatureCollection
43
+ attr_reader :entities
44
+ def initialize(entities)
45
+ @entities = entities
46
+ end
47
+
48
+ def to_geojson
49
+ {type: "FeatureCollection",
50
+ features: entities.map { |e| e.as_geojson(true) } }.to_json
51
+ end
52
+ end
53
+
54
+ class GeomReader
55
+ attr_reader :wkt
56
+
57
+ BASE_32 = %w(0 1 2 3 4 5 6 7 8 9 b c d e f g h j
58
+ k m n p q r s t u v w x y z).flat_map { |c| [c, c.upcase].uniq }.join("")
59
+ GH_REGEX = Regexp.new(/\A\s*[#{BASE_32}]+\s*\z/)
60
+
61
+ include Enumerable
62
+
63
+ def initialize(instream)
64
+ @instream = instream
65
+ @wkt = RGeo::WKRep::WKTParser.new
66
+ @factory = RGeo::Cartesian.factory
67
+ end
68
+
69
+ def each(&block)
70
+ instream.each_line do |l|
71
+ block.call(decode(l))
72
+ end
73
+ end
74
+
75
+ def decode(line)
76
+ if geohash?(line)
77
+ (lat1, lon1), (lat2, lon2) = GeoHash.decode(line)
78
+ p1 = factory.point(lon1, lat1)
79
+ p2 = factory.point(lon2, lat2)
80
+ geom = RGeo::Cartesian::BoundingBox.create_from_points(p1, p2).to_geometry
81
+ Geohash.new(geom)
82
+ elsif geojson?(line)
83
+ Geojson.new(RGeo::GeoJSON.decode(line))
84
+ else
85
+ Wkt.new(wkt.parse(line))
86
+ end
87
+ end
88
+
89
+ def geohash?(line)
90
+ !!GH_REGEX.match(line)
91
+ end
92
+
93
+ def geojson?(line)
94
+ line.lstrip.start_with?("{")
95
+ end
96
+
97
+ private
98
+
99
+ def instream
100
+ @instream
101
+ end
102
+
103
+ def factory
104
+ @factory
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,3 @@
1
+ module GeoCli
2
+ VERSION = '0.0.1.pre'
3
+ end
@@ -0,0 +1,44 @@
1
+ require "test_helper"
2
+ require "json"
3
+
4
+ class TestGeomReader < Minitest::Test
5
+ attr_reader :reader
6
+
7
+ def setup
8
+ r,w = IO.pipe
9
+ w.close
10
+ @reader = GeoCli::GeomReader.new(r)
11
+ end
12
+
13
+ def test_recognizes_geohashes
14
+ assert @reader.geohash?("9q5")
15
+ assert @reader.geohash?("9Q5")
16
+ assert @reader.geohash?(" 9Q5 ")
17
+ refute @reader.geohash?(" 9aQ5 ")
18
+ assert @reader.geohash?("u58seqshdz50")
19
+ end
20
+
21
+ def test_recognizes_geojson
22
+ assert @reader.geojson?({type: "Point", coordinates: [0,1]}.to_json)
23
+ refute @reader.geojson?("a")
24
+ end
25
+
26
+ def test_parse_objects
27
+ inputs = ["9q5",
28
+ {type: "Point", coordinates: [0,1]}.to_json,
29
+ "POINT (1.0 2.0)"]
30
+ parsed = make_reader(inputs).to_a
31
+ assert parsed[0].is_a? RGeo::Geos::CAPIPolygonImpl
32
+ assert parsed[1].is_a?(RGeo::Geos::CAPIPointImpl)
33
+ assert parsed[2].is_a?(RGeo::Geos::CAPIPointImpl)
34
+ end
35
+
36
+ def make_reader(strings)
37
+ r,w = IO.pipe
38
+ strings.each do |s|
39
+ w.puts(s)
40
+ end
41
+ w.close
42
+ GeoCli::GeomReader.new(r)
43
+ end
44
+ end
@@ -0,0 +1,8 @@
1
+ $LOAD_PATH.unshift File.expand_path("../../lib", __FILE__)
2
+ require "geo-cli"
3
+
4
+ require "minitest/autorun"
5
+ require "minitest/reporters"
6
+ require "minitest/spec"
7
+
8
+ Minitest::Reporters.use! Minitest::Reporters::DefaultReporter.new
metadata ADDED
@@ -0,0 +1,209 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: geo-cli
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1.pre
5
+ platform: ruby
6
+ authors:
7
+ - Your Name Here
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-05-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '12.3'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '12.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rdoc
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '6.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '6.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: aruba
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.14'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.14'
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '5.11'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '5.11'
69
+ - !ruby/object:Gem::Dependency
70
+ name: minitest-reporters
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.2'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.2'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.11'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.11'
97
+ - !ruby/object:Gem::Dependency
98
+ name: gli
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '2.17'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '2.17'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rgeo
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '1.0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '1.0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rgeo-geojson
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '2.0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '2.0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: pr_geohash
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '1.0'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '1.0'
153
+ description:
154
+ email: your@email.address.com
155
+ executables:
156
+ - geo-cli
157
+ extensions: []
158
+ extra_rdoc_files:
159
+ - README.rdoc
160
+ - geo-cli.rdoc
161
+ files:
162
+ - ".gitignore"
163
+ - Gemfile
164
+ - Gemfile.lock
165
+ - README.md
166
+ - README.rdoc
167
+ - Rakefile
168
+ - bin/geo-cli
169
+ - features/geo-cli.feature
170
+ - features/step_definitions/geo-cli_steps.rb
171
+ - features/support/env.rb
172
+ - geo-cli.gemspec
173
+ - geo-cli.rdoc
174
+ - lib/geo-cli.rb
175
+ - lib/geo-cli/geom_reader.rb
176
+ - lib/geo-cli/version.rb
177
+ - test/geom_reader_test.rb
178
+ - test/test_helper.rb
179
+ homepage: http://your.website.com
180
+ licenses:
181
+ - MIT
182
+ metadata: {}
183
+ post_install_message:
184
+ rdoc_options:
185
+ - "--title"
186
+ - geo-cli
187
+ - "--main"
188
+ - README.rdoc
189
+ - "-ri"
190
+ require_paths:
191
+ - lib
192
+ - lib
193
+ required_ruby_version: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - ">="
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
198
+ required_rubygems_version: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - ">"
201
+ - !ruby/object:Gem::Version
202
+ version: 1.3.1
203
+ requirements: []
204
+ rubyforge_project:
205
+ rubygems_version: 2.5.1
206
+ signing_key:
207
+ specification_version: 4
208
+ summary: A description of your project
209
+ test_files: []