reittiopas2 0.0.1 → 0.0.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dd7af7e068a579e9245cfb7ca79121e9a4310fdd
4
- data.tar.gz: 5445ce3e8a5846c31ac8ccad61c557eb3375594c
3
+ metadata.gz: 0f61d78bc33cb927d5e288ba20c7f5b9385bf56a
4
+ data.tar.gz: 9587070a1c875a2b75bb7ce4fb3714b1cd4fac9c
5
5
  SHA512:
6
- metadata.gz: 9377560e0fa31558ccc6f733a4c0de539b47d86686d7adb62240c833bf49a67a5959270518c2d1bbae3495a13a2d3a225acb7b9b60c78d16b052c0bd7da91a5b
7
- data.tar.gz: 7fc721b52e394ae44299c1e32a9fab26a157dfe139fd97f421adac22be4d68378494288748f2281becf3733627593a35626f76f7fed7ddd6787b276303cd244d
6
+ metadata.gz: 991f00ec596342b691c3988e33e4617ce27e2ed3fa2bdb798b245bca664addba83e20ce2c6ef5595d1543edebc3bda15904c451c81b786344894488c3c4690ea
7
+ data.tar.gz: eff294c382393227a67e683dc15e6455b8173e94369910128ad1a724cd51198acae06eeb8d9d63f936208d45b3001f15f6bb372980d01cb94ebfe6b6f915afcf
@@ -1,3 +1,7 @@
1
+ require 'addressable/uri'
2
+ require 'json'
3
+ require 'net/http'
4
+
1
5
  class Reittiopas2
2
6
 
3
7
  # Handles connectting to Reittiopas API and transforms query hashes into form
@@ -1,3 +1,5 @@
1
+ require "reittiopas2/util"
2
+
1
3
  class Reittiopas2
2
4
 
3
5
  # Module containing public API to perform geocoding and reverse geocoding
@@ -68,7 +70,7 @@ module Geocoding
68
70
  # @return [Array<Hash>] array containing location hashes matched given query.
69
71
  # @see #reverse_geocode
70
72
  def geocode(place_name, opts={})
71
- clean = geocode_remove_invalid_keys(opts)
73
+ clean = Util.select_keys(opts, GEOCODE_KEYS)
72
74
  query = {'request' =>'geocode', 'key' => place_name}.merge(clean)
73
75
  @connection.perform_query(query)
74
76
  end
@@ -92,31 +94,17 @@ module Geocoding
92
94
  # coordinates.
93
95
  # @see #geocode
94
96
  def reverse_geocode(coords, opts={})
95
- clean = reverse_geocode_remove_invalid_keys(opts)
97
+ clean = Util.select_keys(opts, REVERSE_GEOCODE_KEYS)
96
98
  query = {'request' => 'reverse_geocode', 'coordinate' => coords}.merge(clean)
97
99
  @connection.perform_query(query)
98
100
  end
99
101
 
100
102
 
101
- private
102
-
103
-
104
- def geocode_remove_invalid_keys(query)
105
- whitelist = [ 'key', 'cities', 'loc_types', 'disable_error_correction',
106
- 'disable_unique_stop_names' ]
103
+ GEOCODE_KEYS = ['key', 'cities', 'loc_types', 'disable_error_correction',
104
+ 'disable_unique_stop_names']
107
105
 
108
- query.select do |key, val|
109
- whitelist.include? key
110
- end
111
- end
112
-
113
- def reverse_geocode_remove_invalid_keys(query)
114
- whitelist = [ 'coordinate', 'limit', 'radius', 'result_contains' ]
106
+ REVERSE_GEOCODE_KEYS = ['coordinate', 'limit', 'radius', 'result_contains']
115
107
 
116
- query.select do |key, val|
117
- whitelist.include? key
118
- end
119
- end
120
108
  end
121
109
 
122
110
 
@@ -1,3 +1,4 @@
1
+ require 'reittiopas2/util'
1
2
 
2
3
  class Reittiopas2
3
4
 
@@ -98,7 +99,7 @@ module Routing
98
99
  return {'error' => 'ArgumentError: locations were not acceptable types'}
99
100
  end
100
101
 
101
- clean_opts = route_remove_invalid_keys(opts)
102
+ clean_opts = Util.select_keys(opts, KEYS + MODE_COSTS)
102
103
  @connection.perform_query(clean_opts.merge(query))
103
104
  end
104
105
 
@@ -122,24 +123,16 @@ module Routing
122
123
  }
123
124
  end
124
125
 
125
- def route_remove_invalid_keys(opts)
126
- keys = ['via', 'date', 'time', 'timetype', 'via_time', 'zone',
127
- 'transport_types', 'optimize', 'change_margin', 'change_cost',
128
- 'wait_cost', 'walk_cost', 'walk_speed', 'detail', 'show']
129
- mode_costs = ['mode_cost_1', 'mode_cost_2', 'mode_cost_3', 'mode_cost_4',
126
+ KEYS = ['via', 'date', 'time', 'timetype', 'via_time', 'zone',
127
+ 'transport_types', 'optimize', 'change_margin', 'change_cost',
128
+ 'wait_cost', 'walk_cost', 'walk_speed', 'detail', 'show']
129
+
130
+ MODE_COSTS = ['mode_cost_1', 'mode_cost_2', 'mode_cost_3', 'mode_cost_4',
130
131
  'mode_cost_5', 'mode_cost_6', 'mode_cost_7', 'mode_cost_7',
131
132
  'mode_cost_8', 'mode_cost_12', 'mode_cost_21', 'mode_cost_22',
132
133
  'mode_cost_23', 'mode_cost_24', 'mode_cost_25', 'mode_cost_36',
133
134
  'mode_cost_39']
134
135
 
135
- whitelist = []
136
- whitelist.concat keys
137
- whitelist.concat mode_costs
138
-
139
- opts.select do |key, val|
140
- whitelist.include? key
141
- end
142
- end
143
136
  end
144
137
 
145
138
  end
@@ -0,0 +1,13 @@
1
+ class Reittiopas2
2
+
3
+ module Util
4
+
5
+ def self.select_keys(hash, keys)
6
+ hash.select do |key, value|
7
+ keys.include? key
8
+ end
9
+ end
10
+
11
+ end
12
+
13
+ end
@@ -1,3 +1,3 @@
1
1
  class Reittiopas2
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/lib/reittiopas2.rb CHANGED
@@ -1,12 +1,8 @@
1
- require "net/http"
2
- require "addressable/uri"
3
- require "json"
4
-
5
- require "reittiopas2/version"
6
-
7
1
  require "reittiopas2/connection"
8
2
  require "reittiopas2/geocoding"
9
3
  require "reittiopas2/routing"
4
+ require "reittiopas2/util"
5
+ require "reittiopas2/version"
10
6
 
11
7
  class Reittiopas2
12
8
  include Geocoding
data/reittiopas2.gemspec CHANGED
@@ -18,6 +18,7 @@ Gem::Specification.new do |gem|
18
18
  gem.add_dependency "json", "~> 1.8"
19
19
  gem.add_dependency "addressable", "~> 2.3"
20
20
 
21
+ gem.add_development_dependency "rake", "~> 10.1"
21
22
  gem.add_development_dependency "rspec", "~> 2.14"
22
23
  gem.add_development_dependency "webmock", "~> 1.15"
23
24
  gem.add_development_dependency "guard-rspec", "~> 4.0"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reittiopas2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Iivari Äikäs
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-10-28 00:00:00.000000000 Z
12
+ date: 2013-10-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
@@ -39,6 +39,20 @@ dependencies:
39
39
  - - ~>
40
40
  - !ruby/object:Gem::Version
41
41
  version: '2.3'
42
+ - !ruby/object:Gem::Dependency
43
+ name: rake
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ~>
47
+ - !ruby/object:Gem::Version
48
+ version: '10.1'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ version: '10.1'
42
56
  - !ruby/object:Gem::Dependency
43
57
  name: rspec
44
58
  requirement: !ruby/object:Gem::Requirement
@@ -113,6 +127,7 @@ files:
113
127
  - lib/reittiopas2/connection.rb
114
128
  - lib/reittiopas2/geocoding.rb
115
129
  - lib/reittiopas2/routing.rb
130
+ - lib/reittiopas2/util.rb
116
131
  - lib/reittiopas2/version.rb
117
132
  - reittiopas2.gemspec
118
133
  - spec/connection_spec.rb
@@ -140,7 +155,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
140
155
  version: '0'
141
156
  requirements: []
142
157
  rubyforge_project:
143
- rubygems_version: 2.0.3
158
+ rubygems_version: 2.0.6
144
159
  signing_key:
145
160
  specification_version: 4
146
161
  summary: Gem providing easy access to reittiopas version 2 API.