stands4_geocoder 0.0.1

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.
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in stands4_geocoder.gemspec
4
+ gemspec
data/Rakefile ADDED
@@ -0,0 +1,11 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
3
+
4
+ require 'rake/testtask'
5
+
6
+ Rake::TestTask.new do |t|
7
+ t.libs << 'test'
8
+ end
9
+
10
+ desc "Run tests"
11
+ task :default => :test
@@ -0,0 +1,3 @@
1
+ module Stands4Geocoder
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,21 @@
1
+ require 'httparty'
2
+
3
+ module Stands4Geocoder
4
+
5
+ include HTTParty
6
+ base_uri 'www.stands4.com'
7
+
8
+ # GET http://www.stands4.com/services/v1/zip.aspx?tokenid=tk1902&zip=90210
9
+ def self.reverse_geocode(zipcode, tokenid)
10
+ options = {
11
+ :query => { :zip => zipcode, :tokenid => tokenid }
12
+ }
13
+ geocode = get('/services/v1/zip.aspx', options)
14
+ if geocode['results'] && geocode['results']['result']
15
+ geocode['results']['result']
16
+ else
17
+ nil
18
+ end
19
+ end
20
+
21
+ end
@@ -0,0 +1,24 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "stands4_geocoder/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "stands4_geocoder"
7
+ s.version = Stands4Geocoder::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Barrett Clark"]
10
+ s.email = ["bclark@geoforce.com"]
11
+ s.homepage = ""
12
+ s.summary = %q{Reverse Geocoding using Stands4}
13
+ s.description = %q{Use the Stands4 geocoding service to reverse geocode a latitude/longitude coordinate}
14
+
15
+ s.rubyforge_project = "stands4_geocoder"
16
+
17
+ s.files = `git ls-files`.split("\n")
18
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
+ s.require_paths = ["lib"]
21
+
22
+ s.add_dependency "httparty", "~> 0.8.1"
23
+ s.add_development_dependency "webmock", "~> 1.7.10"
24
+ end
data/test/geocode.xml ADDED
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <results>
3
+ <result>
4
+ <location>Beverly Hills, CA</location>
5
+ <longitude>-118.4061250000</longitude>
6
+ <latitude>34.0888080000</latitude>
7
+ </result>
8
+ </results>
@@ -0,0 +1,24 @@
1
+ require 'test/unit'
2
+ require 'stands4_geocoder'
3
+ require 'webmock/test_unit'
4
+
5
+ class Stands4GeocoderTest < Test::Unit::TestCase
6
+ def setup
7
+ filename = File.join(File.expand_path(File.dirname(__FILE__)), 'geocode.xml')
8
+ stub_request(:get, 'http://www.stands4.com/services/v1/zip.aspx?tokenid=ab1234&zip=90210').
9
+ to_return(:body => File.new(filename),
10
+ :status => 200,
11
+ :headers => {'Content-Type' => 'application/xml'})
12
+ end
13
+
14
+ def test_reverse_geocode
15
+ geocode = Stands4Geocoder.reverse_geocode('90210', 'ab1234')
16
+ assert_equal "Beverly Hills, CA", geocode['location']
17
+ end
18
+
19
+ def test_reverse_geocode_not_found
20
+ assert_raises WebMock::NetConnectNotAllowedError do
21
+ geocode = Stands4Geocoder.reverse_geocode('00000', 'ab1234')
22
+ end
23
+ end
24
+ end
metadata ADDED
@@ -0,0 +1,102 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: stands4_geocoder
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 1
9
+ version: 0.0.1
10
+ platform: ruby
11
+ authors:
12
+ - Barrett Clark
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2012-03-04 00:00:00 -06:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: httparty
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ~>
27
+ - !ruby/object:Gem::Version
28
+ segments:
29
+ - 0
30
+ - 8
31
+ - 1
32
+ version: 0.8.1
33
+ type: :runtime
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: webmock
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ segments:
44
+ - 1
45
+ - 7
46
+ - 10
47
+ version: 1.7.10
48
+ type: :development
49
+ version_requirements: *id002
50
+ description: Use the Stands4 geocoding service to reverse geocode a latitude/longitude coordinate
51
+ email:
52
+ - bclark@geoforce.com
53
+ executables: []
54
+
55
+ extensions: []
56
+
57
+ extra_rdoc_files: []
58
+
59
+ files:
60
+ - .gitignore
61
+ - Gemfile
62
+ - Rakefile
63
+ - lib/stands4_geocoder.rb
64
+ - lib/stands4_geocoder/version.rb
65
+ - stands4_geocoder.gemspec
66
+ - test/geocode.xml
67
+ - test/test_stands4_geocoder.rb
68
+ has_rdoc: true
69
+ homepage: ""
70
+ licenses: []
71
+
72
+ post_install_message:
73
+ rdoc_options: []
74
+
75
+ require_paths:
76
+ - lib
77
+ required_ruby_version: !ruby/object:Gem::Requirement
78
+ none: false
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ segments:
83
+ - 0
84
+ version: "0"
85
+ required_rubygems_version: !ruby/object:Gem::Requirement
86
+ none: false
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ segments:
91
+ - 0
92
+ version: "0"
93
+ requirements: []
94
+
95
+ rubyforge_project: stands4_geocoder
96
+ rubygems_version: 1.3.7
97
+ signing_key:
98
+ specification_version: 3
99
+ summary: Reverse Geocoding using Stands4
100
+ test_files:
101
+ - test/geocode.xml
102
+ - test/test_stands4_geocoder.rb