mapbox-sdk 2.3.0 → 2.3.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e37005101fa7cc0a72f5711254531e13574ddd14d470a8e115b278e62c4297f3
4
- data.tar.gz: ff3a2679ed83dc2df5f1fba7474d59cf0489adaa6b303f0f45072a579f2714d4
3
+ metadata.gz: 485c58289f4baee1dc8d98e0c63642a77abc2b9290bda6f15afb20e8d8157bc3
4
+ data.tar.gz: 4aab789f653d516d1ae88811f598fd8190c7bfa6e6e3122b558eaa442144e677
5
5
  SHA512:
6
- metadata.gz: 5e0d69f2d9f8920ef0ab08505156e1498dd579df3cedfc706444065d9d1ead993dab7abf9ab5451c5c22e0c0078e1a701f2f3eb5cb3a7dd29ee01ffb264f25d6
7
- data.tar.gz: 1b7b0370797210b16210060bbc92c52a9fa14add842fc2d4b7adb57e66aa0f951143012508084cde4ecc6d6c5e6fa91d53b2f8735c0a24b9a05849de9eb179e8
6
+ metadata.gz: 33e2264dda2cdc27b191b1efe999db0596da3d5e861d6de00ab576e400764a2b0d23f9efed98a38cce292aa39ce0b73e4f837fb6c155cf6f54ca7a285078c51e
7
+ data.tar.gz: ebec6b814a78b45bb9517e3e66ae2c0edea63d91cae279ac328fd2de49b0cf5760c0b6e5f697095b9b563094a554777ad53072689a62bfe97b1377ac3243d3a8
data/CHANGELOG.md CHANGED
@@ -4,6 +4,18 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
5
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [2.3.3] - 2021-09-08
8
+ ### Changed
9
+ - See https://github.com/mapbox/mapbox-sdk-rb/pull/55 / https://github.com/mapbox/mapbox-sdk-rb/issues/54
10
+
11
+ ## [2.3.2] - 2020-11-23
12
+ ### Changed
13
+ - Fixed URI.encode obsolete warnings in Ruby 2.7
14
+
15
+ ## [2.3.1] - 2020-11-07
16
+ ### Changed
17
+ - Update to restclient 2.1.0
18
+
7
19
  ## [2.3.0] - 2019-01-16
8
20
  ### Added
9
21
  - Matrix endpoint, docs, and tests
data/Gemfile CHANGED
@@ -3,11 +3,11 @@ gemspec
3
3
 
4
4
  if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('1.9.3')
5
5
  gem 'i18n', '< 0.7'
6
- gem 'rest-client', '~> 2.0.1'
6
+ gem 'rest-client', '~> 2.1.0'
7
7
  gem "activesupport", ">= 4.1.11"
8
8
  gem 'rake', '10.1.0'
9
9
  end
10
10
 
11
11
  group :development, :test do
12
12
  gem "coveralls", :require => false
13
- end
13
+ end
data/README.md CHANGED
@@ -25,10 +25,16 @@ gem install mapbox-sdk
25
25
  * [Map Matching](https://docs.mapbox.com/api/navigation/#map-matching): [[docs](https://github.com/mapbox/mapbox-sdk-rb/blob/master/docs/mapmatching.md)]
26
26
  * Profiles for driving, driving-traffic, walking, and cycling
27
27
  * [Optimization](https://docs.mapbox.com/api/navigation/#optimization): [[docs](https://github.com/mapbox/mapbox-sdk-rb/blob/master/docs/optimization.md)]
28
- * Profiles for driving, driving-traffic, walking, and cycling
28
+ * Profiles for driving, driving-traffic, walking, and cycling
29
29
 
30
30
  ## Testing
31
31
 
32
- Run `bundle exec ruby -Itest test/all_tests.rb` or individual tests as needed.
32
+ You'll need to [create an access token](https://account.mapbox.com/access-tokens/create) in order to run tests.
33
+
34
+ Then you can run the entire test suite with the following command:
35
+
36
+ ```
37
+ MapboxAccessToken=<YOUR_ACCESS_TOKEN> bundle exec ruby -Itest test/all_tests.rb
38
+ ```
33
39
 
34
40
  Heavily influenced by Stripe's Ruby client, and includes its MIT license.
@@ -39,7 +39,7 @@ module Mapbox
39
39
 
40
40
  return request(
41
41
  :get,
42
- "/geocoding/v5/#{dataset}/#{URI.escape(query)}.json#{params}",
42
+ "/geocoding/v5/#{dataset}/#{URI.encode_www_form_component(query)}.json#{params}",
43
43
  nil)
44
44
  end
45
45
 
data/lib/mapbox.rb CHANGED
@@ -11,7 +11,7 @@ module Mapbox
11
11
  LONGITUDE_KEY = 'longitude'.freeze
12
12
 
13
13
  class << self
14
- attr_accessor :access_token, :api_base, :request_opts
14
+ attr_accessor :access_token, :api_base, :request_opts, :request_timeout, :request_open_timeout
15
15
  end
16
16
 
17
17
  def self.request(method, url, api_key, params={}, headers={}, api_base_url=nil)
@@ -33,7 +33,7 @@ module Mapbox
33
33
  case method.to_s.downcase.to_sym
34
34
  when :get, :head, :delete
35
35
  # Make params into GET parameters
36
- url += "#{URI.parse(url).query ? '&' : '?'}#{uri_encode(params)}" if params && params.any?
36
+ url += "#{URI.parse(url).query ? '&' : '?'}#{URI.encode_www_form(params)}" if params && params.any?
37
37
  payload = nil
38
38
  end
39
39
 
@@ -42,10 +42,10 @@ module Mapbox
42
42
 
43
43
  @request_opts.update(
44
44
  :method => method,
45
- :open_timeout => 30,
45
+ :open_timeout => @request_open_timeout || 30,
46
46
  :payload => payload,
47
47
  :url => url,
48
- :timeout => 80)
48
+ :timeout => @request_timeout || 80)
49
49
 
50
50
  begin
51
51
  response = execute_request(@request_opts)
@@ -78,7 +78,7 @@ module Mapbox
78
78
  end
79
79
 
80
80
  def self.url_encode(key)
81
- URI.escape(key.to_s, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
81
+ URI.encode_www_form_component(key.to_s)
82
82
  end
83
83
 
84
84
  def self.execute_request(opts)
@@ -184,4 +184,4 @@ require 'mapbox/tilequery'
184
184
  require 'mapbox/isochrone'
185
185
  require 'mapbox/matrix'
186
186
  require 'mapbox/map_matching'
187
- require 'mapbox/optimization'
187
+ require 'mapbox/optimization'
data/mapbox-sdk.gemspec CHANGED
@@ -2,7 +2,7 @@ $:.unshift(File.join(File.dirname(__FILE__), 'lib'))
2
2
 
3
3
  spec = Gem::Specification.new do |s|
4
4
  s.name = 'mapbox-sdk'
5
- s.version = '2.3.0'
5
+ s.version = '2.3.3'
6
6
  s.summary = 'Ruby bindings for the Mapbox API'
7
7
  s.description = ''
8
8
  s.authors = ['Tom MacWright']
@@ -10,7 +10,7 @@ spec = Gem::Specification.new do |s|
10
10
  s.homepage = 'https://mapbox.com/developers'
11
11
  s.license = 'MIT'
12
12
 
13
- s.add_dependency('rest-client', '~> 2.0.1')
13
+ s.add_dependency('rest-client', '~> 2.1.0')
14
14
 
15
15
  s.add_development_dependency('mocha', '~> 0.13.2')
16
16
  s.add_development_dependency('shoulda', '~> 3.4.0')
@@ -5,49 +5,58 @@ require 'shoulda'
5
5
 
6
6
  module Mapbox
7
7
  class GeocodingTest < Test::Unit::TestCase
8
- should "#geocode_forward" do
8
+
9
+ def setup
9
10
  Mapbox.access_token = ENV["MapboxAccessToken"]
11
+ end
12
+
13
+ def teardown
14
+ Mapbox.request_open_timeout = nil
15
+ Mapbox.request_timeout = nil
16
+ end
17
+
18
+ should "#geocode_forward" do
10
19
  result = Mapbox::Geocoder.geocode_forward("Chester, NJ")
11
20
  assert result
12
21
  end
13
22
 
23
+ should "set_default_timeouts" do
24
+ result = Mapbox::Geocoder.geocode_forward("Chester, NJ")
25
+ assert Mapbox.request_opts[:timeout] = 80
26
+ assert Mapbox.request_opts[:open_timeout] = 30
27
+ end
28
+
14
29
  should "#geocode_forward (rounded proximity to 3 decimal places)" do
15
- Mapbox.access_token = ENV["MapboxAccessToken"]
16
30
  result = Mapbox::Geocoder.geocode_forward("Chester, NJ", {:proximity => {:longitude => 0.1234567, :latitude => -10.987654}})
17
31
  assert result
18
32
  assert Mapbox.request_opts[:url].include? '?proximity=0.123%2C-10.988&'
19
33
  end
20
34
 
21
35
  should "#geocode_forward (include bbox param)" do
22
- Mapbox.access_token = ENV["MapboxAccessToken"]
23
36
  result = Mapbox::Geocoder.geocode_forward("Washington", {:bbox => [-78.3284,38.6039,-78.0428,38.7841]})
24
37
  assert result
25
38
  assert Mapbox.request_opts[:url].include? '?bbox=-78.3284%2C38.6039%2C-78.0428%2C38.7841';
26
39
  end
27
40
 
28
41
  should "#geocode_forward (include extra param)" do
29
- Mapbox.access_token = ENV["MapboxAccessToken"]
30
42
  result = Mapbox::Geocoder.geocode_forward("Washington", {:bbox => [-78.3284,38.6039,-78.0428,38.7841], :foo_key => "foo_val", :bar_key => "bar_val"})
31
43
  assert result
32
44
  assert Mapbox.request_opts[:url].include? '?foo_key=foo_val&bar_key=bar_val';
33
45
  end
34
46
 
35
47
  should "#geocode_forward (include country param)" do
36
- Mapbox.access_token = ENV["MapboxAccessToken"]
37
48
  result = Mapbox::Geocoder.geocode_forward("Washington", {:country => "ca"})
38
49
  assert result
39
50
  assert Mapbox.request_opts[:url].include? '?country=ca';
40
51
  end
41
52
 
42
53
  should "#geocode_forward (include types param)" do
43
- Mapbox.access_token = ENV["MapboxAccessToken"]
44
54
  result = Mapbox::Geocoder.geocode_forward("Washington", {:types => ['poi.landmark', 'address'], :foo_key => "foo_val", :bar_key => "bar_val"})
45
55
  assert result
46
56
  assert Mapbox.request_opts[:url].include? '?foo_key=foo_val&bar_key=bar_val&types=poi.landmark%2Caddress';
47
57
  end
48
58
 
49
59
  should "#geocode_reverse" do
50
- Mapbox.access_token = ENV["MapboxAccessToken"]
51
60
  result = Mapbox::Geocoder.geocode_reverse({
52
61
  :latitude => 38,
53
62
  :longitude => -100
@@ -56,7 +65,6 @@ module Mapbox
56
65
  end
57
66
 
58
67
  should "#geocode_reverse (rounded coordinates to 5 decimal places)" do
59
- Mapbox.access_token = ENV["MapboxAccessToken"]
60
68
  result = Mapbox::Geocoder.geocode_reverse({
61
69
  :latitude => 1.23456789,
62
70
  :longitude => -99.8765432
@@ -66,5 +74,12 @@ module Mapbox
66
74
  end
67
75
  end
68
76
 
77
+ should "set_custom_timeouts" do
78
+ Mapbox.request_timeout = 10
79
+ Mapbox.request_open_timeout = 5
80
+ result = Mapbox::Geocoder.geocode_forward("Chester, NJ", {:proximity => {:longitude => 0.1234567, :latitude => -10.987654}})
81
+ assert Mapbox.request_opts[:timeout] == 10
82
+ assert Mapbox.request_opts[:open_timeout] == 5
83
+ end
69
84
  end
70
85
  end
data/test/mapbox_test.rb CHANGED
@@ -14,6 +14,14 @@ module Mapbox
14
14
  should "allow access token to be set" do
15
15
  Mapbox.access_token = "foo"
16
16
  end
17
+
18
+ should "allow request_timeout to be set" do
19
+ Mapbox.request_timeout = 5
20
+ end
21
+
22
+ should "allow request_open_timeout to be set" do
23
+ Mapbox.request_open_timeout = 5
24
+ end
17
25
  end
18
26
 
19
27
  class HashUtilTest < Test::Unit::TestCase
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mapbox-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom MacWright
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-25 00:00:00.000000000 Z
11
+ date: 2021-09-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.0.1
19
+ version: 2.1.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.0.1
26
+ version: 2.1.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: mocha
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -141,7 +141,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
141
141
  - !ruby/object:Gem::Version
142
142
  version: '0'
143
143
  requirements: []
144
- rubygems_version: 3.0.3
144
+ rubygems_version: 3.2.25
145
145
  signing_key:
146
146
  specification_version: 4
147
147
  summary: Ruby bindings for the Mapbox API