dmattes-static-gmaps 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt ADDED
@@ -0,0 +1,26 @@
1
+ === 0.0.4 / 2009-02-18 by daniel.mattes@gmx.de
2
+
3
+ * No Map::default_center, because of auto centering through google when markers.count > 1
4
+ * If no option[:markers] are given, they will be set to []. Otherwise the constant markers array will grow to unlimited.
5
+ * Setting constants like geokit do it.
6
+ In initializers you can overwrite it like
7
+ StaticGmaps::default_size = [ 170, 200 ]
8
+ * Now on http://github.com/dmattes/static-gmaps/
9
+
10
+ === 0.0.3 / 2008-02-26
11
+
12
+ * 2 Minor Enhancement:
13
+ * Now raises exception when there are too many markers.
14
+ * Now raises exception when the url becomes too long.
15
+
16
+ === 0.0.2 / 2008-02-25
17
+
18
+ * 1 Major Enhancement:
19
+ * Now supports Markers!
20
+ * 1 Minor Enhancement:
21
+ * Removed StaticGmaps::Map.to_blob
22
+
23
+ === 0.0.1 / 2008-02-25
24
+
25
+ * 1 major enhancement
26
+ * Birthday!
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License
2
+
3
+ Copyright (c) 2008 John Wulff <johnwulff@gmail.com>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/Manifest.txt ADDED
@@ -0,0 +1,7 @@
1
+ History.txt
2
+ LICENSE.txt
3
+ Manifest.txt
4
+ README.txt
5
+ Rakefile
6
+ lib/static_gmaps.rb
7
+ spec/static_gmaps_spec.rb
data/Rakefile ADDED
@@ -0,0 +1,52 @@
1
+ # The MIT License
2
+ #
3
+ # Copyright (c) 2008 John Wulff <johnwulff@gmail.com>
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in
13
+ # all copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ # THE SOFTWARE.
22
+
23
+ require 'rubygems'
24
+ require 'hoe'
25
+ require './lib/static_gmaps.rb'
26
+ begin
27
+ require 'spec/rake/spectask'
28
+ rescue LoadError
29
+ puts 'To use rspec for testing you must install rspec gem:'
30
+ puts '$ sudo gem install rspec'
31
+ exit
32
+ end
33
+
34
+ Hoe.new('static-gmaps', StaticGmaps::version) do |p|
35
+ p.rubyforge_name = 'static-gmaps'
36
+ p.author = 'Daniel Mattes'
37
+ p.email = 'daniel.mattes@gmx.de'
38
+ p.summary = 'Provides an interface to the Google Static Maps API.'
39
+ p.description = p.paragraphs_of('README.txt', 2..5).join("\n\n")
40
+ p.url = p.paragraphs_of('README.txt', 0).first.split(/\n/)[1..-1]
41
+ p.changes = p.paragraphs_of('History.txt', 0..1).join("\n\n")
42
+ p.remote_rdoc_dir = ''
43
+ end
44
+
45
+ desc "Run all examples"
46
+ Spec::Rake::SpecTask.new('spec') do |t|
47
+ t.spec_files = FileList['spec/*.rb']
48
+ end
49
+
50
+ task :default => :spec
51
+
52
+ # vim: syntax=Ruby
@@ -0,0 +1,185 @@
1
+ # The MIT License
2
+ #
3
+ # Copyright (c) 2008 John Wulff <johnwulff@gmail.com>
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in
13
+ # all copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ # THE SOFTWARE.
22
+
23
+ require 'net/http'
24
+
25
+ module StaticGmaps
26
+ @@version = '0.0.4'
27
+
28
+ #map
29
+ @@maximum_url_size = 1978
30
+ @@maximum_markers = 50
31
+ @@default_center = [ 0, 0 ]
32
+ @@default_zoom = 1
33
+ @@default_size = [ 500, 400 ]
34
+ @@default_map_type = :roadmap
35
+ @@default_key = 'ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ-i1QfUnH94QxWIa6N4U6MouMmBA'
36
+
37
+
38
+
39
+ #marker
40
+ @@default_latitude = nil
41
+ @@default_longitude = nil
42
+ @@default_color = nil
43
+ @@default_alpha_character = nil
44
+ @@valid_colors = [ :red, :green, :blue ]
45
+ @@valid_alpha_characters = [ :a, :b, :c, :d, :e, :f, :g, :h, :i, :j, :k, :l, :m, :n, :o, :p, :q, :r, :s, :t, :u, :v, :w, :x, :y, :z ]
46
+
47
+ [:version, :maximum_url_size, :maximum_markers, :default_center, :default_zoom, :default_size, :default_map_type, :default_key,
48
+ :default_latitude, :default_longitude, :default_color, :default_alpha_character, :valid_colors, :valid_alpha_characters].each do |sym|
49
+ class_eval <<-EOS
50
+ def self.#{sym}
51
+ @@#{sym}
52
+ end
53
+
54
+ def self.#{sym}=(obj)
55
+ @@#{sym} = obj
56
+ end
57
+ EOS
58
+ end
59
+
60
+ class Map
61
+
62
+
63
+ attr_accessor :center,
64
+ :zoom,
65
+ :size,
66
+ :map_type,
67
+ :key,
68
+ :markers
69
+
70
+ def initialize(options = {})
71
+ self.center = options[:center]
72
+ self.zoom = options[:zoom] || StaticGmaps::default_zoom
73
+ self.size = options[:size] || StaticGmaps::default_size
74
+ self.map_type = options[:map_type] || StaticGmaps::default_map_type
75
+ self.key = options[:key] || StaticGmaps::default_key
76
+ self.markers = options[:markers] || [ ]
77
+ end
78
+
79
+ def width
80
+ size[0]
81
+ end
82
+
83
+ def height
84
+ size[1]
85
+ end
86
+
87
+ # http://code.google.com/apis/maps/documentation/staticmaps/index.html#URL_Parameters
88
+ def url
89
+ raise MissingArgument.new("Size must be set before a url can be generated for Map.") if !size || !size[0] || !size[1]
90
+ raise MissingArgument.new("Key must be set before a url can be generated for Map.") if !key
91
+
92
+ if(!self.center && !(markers && markers.size >= 1))
93
+ self.center = StaticGmaps::default_center
94
+ end
95
+
96
+ if !(markers && markers.size >= 1)
97
+ raise MissingArgument.new("Center must be set before a url can be generated for Map (or multiple markers can be specified).") if !center
98
+ raise MissingArgument.new("Zoom must be set before a url can be generated for Map (or multiple markers can be specified).") if !zoom
99
+ end
100
+ raise "Google will not display more than #{StaticGmaps::maximum_markers} markers." if markers && markers.size > StaticGmaps::maximum_markers
101
+ parameters = {}
102
+ parameters[:size] = "#{size[0]}x#{size[1]}"
103
+ parameters[:key] = "#{key}"
104
+ parameters[:map_type] = "#{map_type}" if map_type
105
+ parameters[:center] = "#{center[0]},#{center[1]}" if center
106
+ parameters[:zoom] = "#{zoom}" if zoom
107
+ parameters[:markers] = "#{markers_url_fragment}" if markers_url_fragment
108
+ parameters = parameters.to_a.sort { |a, b| a[0].to_s <=> b[0].to_s }
109
+ parameters = parameters.collect { |parameter| "#{parameter[0]}=#{parameter[1]}" }
110
+ parameters = parameters.join '&'
111
+ x = "http://maps.google.com/staticmap?#{parameters}"
112
+ raise "Google doesn't like the url to be longer than #{StaticGmaps::maximum_url_size} characters. Try fewer or less precise markers." if x.size > StaticGmaps::maximum_url_size
113
+ return x
114
+ end
115
+
116
+ def markers_url_fragment
117
+ if markers && markers.any?
118
+ return markers.collect{|marker| marker.url_fragment }.join('|')
119
+ else
120
+ return nil
121
+ end
122
+ end
123
+
124
+ def to_blob
125
+ fetch
126
+ return @blob
127
+ end
128
+
129
+ private
130
+ def fetch
131
+ if !@last_fetched_url || @last_fetched_url != url || !@blob
132
+ uri = URI.parse url
133
+ request = Net::HTTP::Get.new uri.path
134
+ response = Net::HTTP.start(uri.host, uri.port) { |http| http.request request }
135
+ @blob = response.body
136
+ @last_fetched_url = url
137
+ end
138
+ end
139
+ end
140
+
141
+ # http://code.google.com/apis/maps/documentation/staticmaps/index.html#Markers
142
+ class Marker
143
+
144
+ attr_accessor :latitude,
145
+ :longitude,
146
+ :color,
147
+ :alpha_character
148
+
149
+ def initialize(options = {})
150
+ self.latitude = options[:latitude] || StaticGmaps::default_latitude
151
+ self.longitude = options[:longitude] || StaticGmaps::default_longitude
152
+ self.color = options[:color] || StaticGmaps::default_color
153
+ self.alpha_character = options[:alpha_character] || StaticGmaps::default_alpha_character
154
+ end
155
+
156
+ def color=(value)
157
+ if value
158
+ value = value.to_s.downcase.to_sym
159
+ if !StaticGmaps::valid_colors.include?(value)
160
+ raise ArgumentError.new("#{value} is not a supported color. Supported colors are #{StaticGmaps::valid_colors.join(', ')}.")
161
+ end
162
+ end
163
+ @color = value
164
+ end
165
+
166
+ def alpha_character=(value)
167
+ if value
168
+ value = value.to_s.downcase.to_sym
169
+ if !StaticGmaps::valid_alpha_characters.include?(value)
170
+ raise ArgumentError.new("#{value} is not a supported alpha_character. Supported colors are #{StaticGmaps::valid_alpha_characters.join(', ')}.")
171
+ end
172
+ end
173
+ @alpha_character = value
174
+ end
175
+
176
+ def url_fragment
177
+ raise MissingArgument.new("Latitude must be set before a url_fragment can be generated for Marker.") if !latitude
178
+ raise MissingArgument.new("Longitude must be set before a url_fragment can be generated for Marker.") if !longitude
179
+ x = "#{latitude},#{longitude}"
180
+ x += ",#{color}" if color
181
+ x += "#{alpha_character}" if alpha_character
182
+ return x
183
+ end
184
+ end
185
+ end
data/readme.txt ADDED
@@ -0,0 +1,64 @@
1
+ = StaticGmaps
2
+
3
+ * http://github.com/dmattes/static-gmaps/
4
+
5
+ == DESCRIPTION:
6
+
7
+ Provides an interface to the Google Static Maps API.
8
+ Original Version from John Wulff, modified by Daniel Mattes
9
+
10
+ == FEATURES/PROBLEMS:
11
+
12
+ * Provides an interface to the Google Static Maps API.
13
+
14
+ == SYNOPSIS:
15
+
16
+ # In environment.rb or initializers you can set default values, for example
17
+ StaticGmaps::default_size = [ 170, 200 ]
18
+
19
+ # Get from http://code.google.com/apis/maps/signup.html
20
+ GOOGLE_MAPS_API_KEY = ''
21
+
22
+ map = StaticGmaps::Map.new :center => [ 40.714728, -73.998672 ],
23
+ :zoom => 5,
24
+ :size => [ 500, 400 ],
25
+ :map_type => :roadmap,
26
+ :key => GOOGLE_MAPS_API_KEY
27
+ map.markers << StaticGmaps::Marker.new(:latitude => 40,
28
+ :longitude => -73,
29
+ :color => :blue,
30
+ :alpha_character => :b)
31
+ map.url => 'http://maps.google.com/staticmap?center=40.714728,-73.998672&key=GOOGLE_MAPS_API_KEY&map_type=roadmap&markers=40,-73,blueb&size=500x400&zoom=5'
32
+
33
+ == REQUIREMENTS:
34
+
35
+ * None.
36
+
37
+ == INSTALL:
38
+
39
+ * sudo gem install static-gmaps
40
+
41
+ == LICENSE:
42
+
43
+ (The MIT License)
44
+
45
+ Copyright (c) 2008 John Wulff <johnwulff@gmail.com>
46
+
47
+ Permission is hereby granted, free of charge, to any person obtaining
48
+ a copy of this software and associated documentation files (the
49
+ 'Software'), to deal in the Software without restriction, including
50
+ without limitation the rights to use, copy, modify, merge, publish,
51
+ distribute, sublicense, and/or sell copies of the Software, and to
52
+ permit persons to whom the Software is furnished to do so, subject to
53
+ the following conditions:
54
+
55
+ The above copyright notice and this permission notice shall be
56
+ included in all copies or substantial portions of the Software.
57
+
58
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
59
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
60
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
61
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
62
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
63
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
64
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,81 @@
1
+ require 'rubygems'
2
+ require 'spec'
3
+ require File.join(File.dirname(__FILE__), '..', 'lib', 'static_gmaps')
4
+ include StaticGmaps
5
+
6
+ STATIC_GOOGLE_MAP_DEFAULT_PARAMETERS_TEST_IMAGE_PATH = File.join File.dirname(__FILE__), 'test_image.gif'
7
+
8
+ describe StaticGmaps do
9
+ describe Map, 'initialize with no attributes' do
10
+ before(:each) do @map = StaticGmaps::Map.new end
11
+
12
+ #it 'should set center to default' do @map.center.should == StaticGmaps::default_center end
13
+ # no default center, because of auto adjustment
14
+ it 'should set zoom to default' do @map.zoom.should == StaticGmaps::default_zoom end
15
+ it 'should set size to default' do @map.size.should == StaticGmaps::default_size end
16
+ it 'should set map_type to default' do @map.map_type.should == StaticGmaps::default_map_type end
17
+ it 'should set key to default' do @map.key.should == StaticGmaps::default_key end
18
+ end
19
+
20
+ describe Map, 'initialize with all attributes' do
21
+ before(:each) do
22
+ @marker = StaticGmaps::Marker.new :latitude => 0, :longitude => 0
23
+ @map = StaticGmaps::Map.new :center => [ 40.714728, -73.998672 ],
24
+ :zoom => 12,
25
+ :size => [ 500, 400 ],
26
+ :map_type => :roadmap,
27
+ :key => 'ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ-i1QfUnH94QxWIa6N4U6MouMmBA',
28
+ :markers => [ @marker ]
29
+ end
30
+
31
+ it 'should set center' do @map.center.should == [ 40.714728, -73.998672 ] end
32
+ it 'should set zoom' do @map.zoom.should == 12 end
33
+ it 'should set size' do @map.size.should == [ 500, 400 ] end
34
+ it 'should set map_type' do @map.map_type.should == :roadmap end
35
+ it 'should set key' do @map.key.should == 'ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ-i1QfUnH94QxWIa6N4U6MouMmBA' end
36
+ it 'should set markers' do @map.markers.should == [ @marker ] end
37
+ end
38
+
39
+ describe Map, 'with default attributes' do
40
+ before(:each) do @map = StaticGmaps::Map.new end
41
+
42
+ it 'should have a url' do @map.url.should == 'http://maps.google.com/staticmap?center=0,0&key=ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ-i1QfUnH94QxWIa6N4U6MouMmBA&map_type=roadmap&size=500x400&zoom=1' end
43
+ it 'should have a width' do @map.width.should == 500 end
44
+ it 'should have a height' do @map.height.should == 400 end
45
+ #it 'should respond to to_blob with an image' do @map.to_blob.should == File.read(STATIC_GOOGLE_MAP_DEFAULT_PARAMETERS_TEST_IMAGE_PATH) end
46
+ end
47
+
48
+ describe Map, 'with default attributes and markers' do
49
+ before(:each) do
50
+ @marker_1 = StaticGmaps::Marker.new :latitude => 10, :longitude => 20, :color => 'green', :alpha_character => 'A'
51
+ @marker_2 = StaticGmaps::Marker.new :latitude => 15, :longitude => 25, :color => 'blue', :alpha_character => 'B'
52
+ @map = StaticGmaps::Map.new :markers => [ @marker_1, @marker_2 ]
53
+ end
54
+
55
+ it 'should have a markers_url_fragment' do @map.markers_url_fragment.should == '10,20,greena|15,25,blueb' end
56
+ it 'should include the markers_url_fragment its url' do @map.url.should include(@map.markers_url_fragment) end
57
+ end
58
+
59
+ describe Marker, 'initialize with no attributes' do
60
+ before(:each) do @marker = StaticGmaps::Marker.new end
61
+
62
+ it 'should set latitude to default' do @marker.latitude.should == StaticGmaps::default_latitude end
63
+ it 'should set longitude to default' do @marker.longitude.should == StaticGmaps::default_longitude end
64
+ it 'should set color to default' do @marker.color.should == StaticGmaps::default_color end
65
+ it 'should set alpha_character to default' do @marker.alpha_character.should == StaticGmaps::default_alpha_character end
66
+ end
67
+
68
+ describe Marker, 'initialize with all attributes' do
69
+ before(:each) do
70
+ @marker = StaticGmaps::Marker.new :latitude => 12,
71
+ :longitude => 34,
72
+ :color => 'red',
73
+ :alpha_character => 'z'
74
+ end
75
+
76
+ it 'should set latitude' do @marker.latitude.should == 12 end
77
+ it 'should set longitude' do @marker.longitude.should == 34 end
78
+ it 'should set color' do @marker.color.should == :red end
79
+ it 'should set alpha_character' do @marker.alpha_character.should == :z end
80
+ end
81
+ end
metadata ADDED
@@ -0,0 +1,76 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dmattes-static-gmaps
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.4
5
+ platform: ruby
6
+ authors:
7
+ - Daniel Mattes
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-02-19 00:00:00 +01:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: hoe
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.8.3
24
+ version:
25
+ description: |-
26
+ == DESCRIPTION: Provides an interface to the Google Static Maps API. Original Version from John Wulff, modified by Daniel Mattes
27
+ == FEATURES/PROBLEMS: * Provides an interface to the Google Static Maps API.
28
+ email: daniel.mattes@gmx.de
29
+ executables: []
30
+
31
+ extensions: []
32
+
33
+ extra_rdoc_files:
34
+ - History.txt
35
+ - LICENSE.txt
36
+ - Manifest.txt
37
+ - readme.txt
38
+ files:
39
+ - History.txt
40
+ - LICENSE.txt
41
+ - Manifest.txt
42
+ - readme.txt
43
+ - Rakefile
44
+ - lib/static_gmaps.rb
45
+ - spec/static_gmaps_spec.rb
46
+ has_rdoc: true
47
+ homepage: http://github.com/dmattes/static-gmaps/
48
+ licenses: []
49
+
50
+ post_install_message:
51
+ rdoc_options:
52
+ - --main
53
+ - readme.txt
54
+ require_paths:
55
+ - lib
56
+ required_ruby_version: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: "0"
61
+ version:
62
+ required_rubygems_version: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: "0"
67
+ version:
68
+ requirements: []
69
+
70
+ rubyforge_project: dmattes-static-gmaps
71
+ rubygems_version: 1.3.5
72
+ signing_key:
73
+ specification_version: 2
74
+ summary: Provides an interface to the Google Static Maps API.
75
+ test_files: []
76
+