googlestaticmap 1.1.3 → 1.1.4

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: ff2ebb1801c05d4809f1747c82f079cbed2b7ccc
4
+ data.tar.gz: 042aaceadc71f079c683b3d4cbb7fd3dc8c9db01
5
+ SHA512:
6
+ metadata.gz: 2d4be157dc6dd3058897e5c1b5c51fb2ec8991dd8fadfcdcc30c38141a402286f76cb540643ca085eeda6bfb309c793b1f2edc570105a96842269029f439cd12
7
+ data.tar.gz: 56d3a7f1461f6186321ba86e29497f883eb398017076e8202c6584d53d05b5ce2a10a7797b72ccfda692d14b7c439353da6d5ad3d07df3a6b45a172dffd31179
data/History.txt CHANGED
@@ -1,3 +1,6 @@
1
+ == 1.1.4 / 2013-07-04
2
+ * Properly URL encoding the URLs, caused an issue when using URI.parse on generated URLs (thanks nathany!)
3
+
1
4
  === 1.1.3 / 2012-07-08
2
5
  * Fixed a Ruby 1.9.3 compatibility issue (thanks dusanb!)
3
6
  * Fixed a Ruby 1.8.7 compatibility issue introduced in 1.1.1
@@ -60,6 +60,8 @@ require 'net/http'
60
60
  require 'net/https' if RUBY_VERSION < "1.9"
61
61
  require File.dirname(__FILE__) + '/googlestaticmap_helper'
62
62
 
63
+ MAP_SEPARATOR = CGI.escape("|")
64
+
63
65
  # Main class for creating a static map. Create an instance, Set attributes
64
66
  # that describe properties of the map. Then call url to get a URL that you
65
67
  # can use as the src of an img tag. You can also call get_map to actually
@@ -108,7 +110,7 @@ class GoogleStaticMap
108
110
  # * terrain
109
111
  # * hybrid - satellite imagery with roads
110
112
  attr_accessor :maptype
111
-
113
+
112
114
  # If you need to use a proxy server to reach Google, set the name/address
113
115
  # of the proxy server here
114
116
  attr_accessor :proxy_address
@@ -121,7 +123,7 @@ class GoogleStaticMap
121
123
  defaults = {:width => 500, :height => 350, :markers => [],
122
124
  :sensor => false, :maptype => "roadmap", :paths => [],
123
125
  :proxy_port => nil, :proxy_address => nil,}
124
-
126
+
125
127
  attributes = defaults.merge(attrs)
126
128
  attributes.each {|k,v| self.send("#{k}=".to_sym,v)}
127
129
  end
@@ -255,8 +257,8 @@ class MapMarker
255
257
  # If the icon URL is URL encoded, it won't work
256
258
  val = (k[0] == "icon" ? k[1] : CGI.escape(k[1].to_s))
257
259
  "#{k[0]}:#{val}"
258
- end.join("|")
259
- s << "|#{@location.to_s}"
260
+ end.join(MAP_SEPARATOR)
261
+ s << MAP_SEPARATOR << @location.to_s
260
262
  end
261
263
  end
262
264
 
@@ -285,8 +287,8 @@ class MapPath
285
287
  def to_s
286
288
  raise Exception.new("Need more than one point for the path") unless @points && @points.length > 1
287
289
  attrs = GoogleStaticMapHelpers.safe_instance_variables(self, ["points"])
288
- s = attrs.to_a.collect {|k| "#{k[0]}:#{CGI.escape(k[1].to_s)}"}.join("|")
289
- s << "|" << @points.join("|")
290
+ s = attrs.to_a.collect {|k| "#{k[0]}:#{CGI.escape(k[1].to_s)}"}.join(MAP_SEPARATOR)
291
+ s << MAP_SEPARATOR << @points.join(MAP_SEPARATOR)
290
292
  end
291
293
  end
292
294
 
@@ -12,7 +12,7 @@ class MockSuccess < Net::HTTPSuccess #:nodoc: all
12
12
 
13
13
  def body
14
14
  @data
15
- end
15
+ end
16
16
  end
17
17
 
18
18
  class MockFailure < Net::HTTPServiceUnavailable #:nodoc: all
@@ -68,7 +68,7 @@ class GoogleStaticMapTest < Test::Unit::TestCase #:nodoc: all
68
68
  assert u.include?("scale=2")
69
69
  assert u.include?("asdf")
70
70
  assert u.include?("http://maps.google.com")
71
- assert u.include?("color:0x00FF00FF|fillcolor:0x00FF0060|38.8,-77.5|38.8,-76.9|39.2,-76.9|39.2,-77.5|38.8,-77.5"), "Polygon not in URL"
71
+ assert u.include?("color:0x00FF00FF#{MAP_SEPARATOR}fillcolor:0x00FF0060#{MAP_SEPARATOR}38.8,-77.5#{MAP_SEPARATOR}38.8,-76.9#{MAP_SEPARATOR}39.2,-76.9#{MAP_SEPARATOR}39.2,-77.5#{MAP_SEPARATOR}38.8,-77.5"), "Polygon not in URL"
72
72
  assert u.include?("Washington%2C+DC")
73
73
 
74
74
  f = nil
@@ -33,12 +33,17 @@ class MapMarkerTest < Test::Unit::TestCase #:nodoc: all
33
33
  m = default_marker
34
34
  s = nil
35
35
  assert_nothing_raised {s = m.to_s}
36
- assert_equal 6, s.split("|").length
36
+ assert_equal 6, s.split(MAP_SEPARATOR).length
37
37
  assert s.include?(CGI.escape("Washington, DC"))
38
38
  assert s.include?("color:green")
39
39
  assert s.include?("icon:http://www.google.com")
40
40
  end
41
41
 
42
+ def test_string_is_a_valid_ruby_uri
43
+ m = default_marker
44
+ URI.parse(m.to_s)
45
+ end
46
+
42
47
  private
43
48
  def default_marker
44
49
  MapMarker.new(:color => "green",
@@ -30,12 +30,17 @@ class MapPathAndPolygonTest < Test::Unit::TestCase #:nodoc: all
30
30
  p = default_path
31
31
  s = nil
32
32
  assert_nothing_raised { s = p.to_s }
33
- assert_equal 4, s.split("|").length
33
+ assert_equal 4, s.split(MAP_SEPARATOR).length
34
34
  assert s.include?("color:0xFF0000FF")
35
35
  assert s.include?("loc1")
36
36
  assert s.include?("loc2")
37
37
  end
38
38
 
39
+ def test_string_is_a_valid_ruby_uri
40
+ m = default_path
41
+ URI.parse(m.to_s)
42
+ end
43
+
39
44
  def test_polygon
40
45
  # Polygon inherits from MapPath and uses MapPath's to_s method, so only
41
46
  # limited testing needs to happen here
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: googlestaticmap
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
5
- prerelease:
4
+ version: 1.1.4
6
5
  platform: ruby
7
6
  authors:
8
7
  - Brent Sowers
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-07-08 00:00:00.000000000 Z
11
+ date: 2013-07-04 00:00:00.000000000 Z
13
12
  dependencies: []
14
13
  description: Easily retrieve single PNG, GIF, or JPG map images from Google with your
15
14
  own custom markers and paths using the Static Maps API service with this gem. Simply
@@ -25,39 +24,38 @@ files:
25
24
  - lib/googlestaticmap.rb
26
25
  - lib/googlestaticmap_helper.rb
27
26
  - test/tc_map_path_and_polygon.rb
27
+ - test/tc_map_location.rb
28
28
  - test/tc_google_static_map.rb
29
29
  - test/tc_helper.rb
30
30
  - test/tc_map_marker.rb
31
- - test/tc_map_location.rb
32
31
  - README
33
32
  - History.txt
34
33
  homepage: http://www.coordinatecommons.com/googlestaticmap/
35
34
  licenses: []
35
+ metadata: {}
36
36
  post_install_message:
37
37
  rdoc_options: []
38
38
  require_paths:
39
39
  - lib
40
40
  required_ruby_version: !ruby/object:Gem::Requirement
41
- none: false
42
41
  requirements:
43
- - - ! '>='
42
+ - - '>='
44
43
  - !ruby/object:Gem::Version
45
44
  version: '0'
46
45
  required_rubygems_version: !ruby/object:Gem::Requirement
47
- none: false
48
46
  requirements:
49
- - - ! '>='
47
+ - - '>='
50
48
  - !ruby/object:Gem::Version
51
49
  version: '0'
52
50
  requirements: []
53
51
  rubyforge_project:
54
- rubygems_version: 1.8.24
52
+ rubygems_version: 2.0.3
55
53
  signing_key:
56
- specification_version: 3
54
+ specification_version: 4
57
55
  summary: Class for retrieving maps from the Google Maps Static API service
58
56
  test_files:
59
57
  - test/tc_map_path_and_polygon.rb
58
+ - test/tc_map_location.rb
60
59
  - test/tc_google_static_map.rb
61
60
  - test/tc_helper.rb
62
61
  - test/tc_map_marker.rb
63
- - test/tc_map_location.rb