google_places 0.33.0 → 0.34.0
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/CHANGELOG.md +5 -0
- data/Gemfile.lock +1 -1
- data/README.rdoc +14 -0
- data/google_places.gemspec +1 -1
- data/lib/google_places/client.rb +49 -12
- data/lib/google_places/review.rb +10 -8
- data/lib/google_places/spot.rb +2 -1
- data/spec/google_places/client_spec.rb +140 -44
- data/spec/google_places/spot_spec.rb +1 -1
- metadata +34 -21
- checksums.yaml +0 -7
data/CHANGELOG.md
ADDED
data/Gemfile.lock
CHANGED
data/README.rdoc
CHANGED
|
@@ -99,6 +99,20 @@ Search by multiple types and exclude multiple types
|
|
|
99
99
|
|
|
100
100
|
@client.spots_by_query('Pizza near Miami Florida', :types => ['restaurant', 'food'], :exclude => ['cafe', 'establishment'])
|
|
101
101
|
|
|
102
|
+
=== Retrieving a collection of spots with complete details
|
|
103
|
+
|
|
104
|
+
Google limits the details that are returned in any API calls for a collection,
|
|
105
|
+
so you'll often find that details such as phone numbers are missing in a
|
|
106
|
+
collection of spots, but are filled in when retrieving a single spot.
|
|
107
|
+
|
|
108
|
+
If you require these extra details to be completed when retrieving a number of
|
|
109
|
+
results, you can pass in the <tt>detail: true</tt> option to any method that returns
|
|
110
|
+
a collection of spots.
|
|
111
|
+
|
|
112
|
+
This option should be used with care, as it adds an additional API call
|
|
113
|
+
for EACH spot in the collection. E.g. a spots collection of 100 spots
|
|
114
|
+
will use 101 API calls when the <tt>detail: true</tt> option is set.
|
|
115
|
+
|
|
102
116
|
=== Retrieving a single spot
|
|
103
117
|
|
|
104
118
|
First register a new Client:
|
data/google_places.gemspec
CHANGED
data/lib/google_places/client.rb
CHANGED
|
@@ -93,14 +93,11 @@ module GooglePlaces
|
|
|
93
93
|
# @see http://spreadsheets.google.com/pub?key=p9pdwsai2hDMsLkXsoM05KQ&gid=1 List of supported languages
|
|
94
94
|
# @see https://developers.google.com/maps/documentation/places/supported_types List of supported types
|
|
95
95
|
def spots(lat, lng, options = {})
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
else
|
|
102
|
-
spots
|
|
103
|
-
end
|
|
96
|
+
detail = @options.merge!(options).delete(:detail)
|
|
97
|
+
collection_detail_level(
|
|
98
|
+
Spot.list(lat, lng, @api_key, @options),
|
|
99
|
+
detail
|
|
100
|
+
)
|
|
104
101
|
end
|
|
105
102
|
|
|
106
103
|
# Search for a Spot with a reference key
|
|
@@ -153,11 +150,18 @@ module GooglePlaces
|
|
|
153
150
|
# @option options [Object] :retry_options[:status] ([])
|
|
154
151
|
# @option options [Integer] :retry_options[:max] (0) the maximum retries
|
|
155
152
|
# @option options [Integer] :retry_options[:delay] (5) the delay between each retry in seconds
|
|
153
|
+
# @option options [Boolean] :detail
|
|
154
|
+
# A boolean to return spots with full detail information(its complete address, phone number, user rating, reviews, etc)
|
|
155
|
+
# Note) This makes an extra call for each spot for more information.
|
|
156
156
|
#
|
|
157
157
|
# @see http://spreadsheets.google.com/pub?key=p9pdwsai2hDMsLkXsoM05KQ&gid=1 List of supported languages
|
|
158
158
|
# @see https://developers.google.com/maps/documentation/places/supported_types List of supported types
|
|
159
159
|
def spots_by_query(query, options = {})
|
|
160
|
-
|
|
160
|
+
detail = @options.merge!(options).delete(:detail)
|
|
161
|
+
collection_detail_level(
|
|
162
|
+
Spot.list_by_query(query, @api_key, @options),
|
|
163
|
+
detail
|
|
164
|
+
)
|
|
161
165
|
end
|
|
162
166
|
# Search for Spots within a give SW|NE bounds with query
|
|
163
167
|
#
|
|
@@ -190,10 +194,17 @@ module GooglePlaces
|
|
|
190
194
|
# @option options [Object] :retry_options[:status] ([])
|
|
191
195
|
# @option options [Integer] :retry_options[:max] (0) the maximum retries
|
|
192
196
|
# @option options [Integer] :retry_options[:delay] (5) the delay between each retry in seconds
|
|
197
|
+
# @option options [Boolean] :detail
|
|
198
|
+
# A boolean to return spots with full detail information(its complete address, phone number, user rating, reviews, etc)
|
|
199
|
+
# Note) This makes an extra call for each spot for more information.
|
|
193
200
|
#
|
|
194
201
|
# @see https://developers.google.com/maps/documentation/places/supported_types List of supported types
|
|
195
202
|
def spots_by_bounds(bounds, options = {})
|
|
196
|
-
|
|
203
|
+
detail = @options.merge!(options).delete(:detail)
|
|
204
|
+
collection_detail_level(
|
|
205
|
+
Spot.list_by_bounds(bounds, @api_key, @options),
|
|
206
|
+
detail
|
|
207
|
+
)
|
|
197
208
|
end
|
|
198
209
|
# Search for Spots with a pagetoken
|
|
199
210
|
#
|
|
@@ -207,10 +218,17 @@ module GooglePlaces
|
|
|
207
218
|
# @option options [Object] :retry_options[:status] ([])
|
|
208
219
|
# @option options [Integer] :retry_options[:max] (0) the maximum retries
|
|
209
220
|
# @option options [Integer] :retry_options[:delay] (5) the delay between each retry in seconds
|
|
221
|
+
# @option options [Boolean] :detail
|
|
222
|
+
# A boolean to return spots with full detail information(its complete address, phone number, user rating, reviews, etc)
|
|
223
|
+
# Note) This makes an extra call for each spot for more information.
|
|
210
224
|
#
|
|
211
225
|
# @see https://developers.google.com/maps/documentation/places/supported_types List of supported types
|
|
212
226
|
def spots_by_pagetoken(pagetoken, options = {})
|
|
213
|
-
|
|
227
|
+
detail = @options.merge!(options).delete(:detail)
|
|
228
|
+
collection_detail_level(
|
|
229
|
+
Spot.list_by_pagetoken(pagetoken, @api_key, @options),
|
|
230
|
+
detail
|
|
231
|
+
)
|
|
214
232
|
end
|
|
215
233
|
|
|
216
234
|
# Radar Search Service allows you to search for up to 200 Places at once, but with less detail than is typically returned from a Text Search or Nearby Search request. The search response will include up to 200 Places, identified only by their geographic coordinates and reference. You can send a Place Details request for more information about any of them.
|
|
@@ -244,10 +262,17 @@ module GooglePlaces
|
|
|
244
262
|
# Restrict your search to only those locations that are Zagat selected businesses.
|
|
245
263
|
# This parameter does not require a true or false value, simply including the parameter in the request is sufficient to restrict your search.
|
|
246
264
|
# The zagatselected parameter is experimental, and only available to Places API enterprise customers.
|
|
265
|
+
# @option options [Boolean] :detail
|
|
266
|
+
# A boolean to return spots with full detail information(its complete address, phone number, user rating, reviews, etc)
|
|
267
|
+
# Note) This makes an extra call for each spot for more information.
|
|
247
268
|
#
|
|
248
269
|
# @see https://developers.google.com/places/documentation/search#RadarSearchRequests
|
|
249
270
|
def spots_by_radar(lat, lng, options = {})
|
|
250
|
-
|
|
271
|
+
detail = @options.merge!(options).delete(:detail)
|
|
272
|
+
collection_detail_level(
|
|
273
|
+
Spot.list_by_radar(lat, lng, @api_key, @options),
|
|
274
|
+
detail
|
|
275
|
+
)
|
|
251
276
|
end
|
|
252
277
|
|
|
253
278
|
# Query for Place Predictions
|
|
@@ -272,5 +297,17 @@ module GooglePlaces
|
|
|
272
297
|
def predictions_by_input(input, options = {})
|
|
273
298
|
Prediction.list_by_input(input, @api_key, @options.merge(options))
|
|
274
299
|
end
|
|
300
|
+
|
|
301
|
+
private
|
|
302
|
+
|
|
303
|
+
def collection_detail_level(spots, detail = false)
|
|
304
|
+
if detail
|
|
305
|
+
spots.map do |spot|
|
|
306
|
+
Spot.find(spot.place_id, @api_key, @options)
|
|
307
|
+
end
|
|
308
|
+
else
|
|
309
|
+
spots
|
|
310
|
+
end
|
|
311
|
+
end
|
|
275
312
|
end
|
|
276
313
|
end
|
data/lib/google_places/review.rb
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
module GooglePlaces
|
|
2
2
|
class Review
|
|
3
|
-
attr_accessor :rating, :type, :author_name, :author_url, :text, :time
|
|
3
|
+
attr_accessor :rating, :type, :author_name, :author_url, :text, :time,
|
|
4
|
+
:profile_photo_url
|
|
4
5
|
|
|
5
|
-
def initialize(rating, type, author_name, author_url, text, time)
|
|
6
|
-
@rating
|
|
7
|
-
@type
|
|
8
|
-
@author_name
|
|
9
|
-
@author_url
|
|
10
|
-
@text
|
|
11
|
-
@time
|
|
6
|
+
def initialize(rating, type, author_name, author_url, text, time, profile_photo_url)
|
|
7
|
+
@rating = rating
|
|
8
|
+
@type = type
|
|
9
|
+
@author_name = author_name
|
|
10
|
+
@author_url = author_url
|
|
11
|
+
@text = text
|
|
12
|
+
@time = time
|
|
13
|
+
@profile_photo_url = profile_photo_url
|
|
12
14
|
end
|
|
13
15
|
end
|
|
14
16
|
end
|
data/lib/google_places/spot.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require 'google_places/review'
|
|
2
2
|
module GooglePlaces
|
|
3
3
|
class Spot
|
|
4
|
-
attr_accessor :lat, :lng, :viewport, :name, :icon, :reference, :vicinity, :types, :id, :formatted_phone_number, :international_phone_number, :formatted_address, :address_components, :street_number, :street, :city, :region, :postal_code, :country, :rating, :url, :cid, :website, :reviews, :aspects, :zagat_selected, :zagat_reviewed, :photos, :review_summary, :nextpagetoken, :price_level, :opening_hours, :events, :utc_offset, :place_id
|
|
4
|
+
attr_accessor :lat, :lng, :viewport, :name, :icon, :reference, :vicinity, :types, :id, :formatted_phone_number, :international_phone_number, :formatted_address, :address_components, :street_number, :street, :city, :region, :postal_code, :country, :rating, :url, :cid, :website, :reviews, :aspects, :zagat_selected, :zagat_reviewed, :photos, :review_summary, :nextpagetoken, :price_level, :opening_hours, :events, :utc_offset, :place_id, :permanently_closed
|
|
5
5
|
|
|
6
6
|
# Search for Spots at the provided location
|
|
7
7
|
#
|
|
@@ -441,6 +441,7 @@ module GooglePlaces
|
|
|
441
441
|
@nextpagetoken = json_result_object['nextpagetoken']
|
|
442
442
|
@events = events_component(json_result_object['events'])
|
|
443
443
|
@utc_offset = json_result_object['utc_offset']
|
|
444
|
+
@permanently_closed = json_result_object['permanently_closed']
|
|
444
445
|
end
|
|
445
446
|
|
|
446
447
|
def [] (key)
|
|
@@ -1,69 +1,165 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
2
|
|
|
3
3
|
describe GooglePlaces::Client do
|
|
4
|
+
let(:client) { GooglePlaces::Client.new(api_key) }
|
|
5
|
+
let(:fake_spot) { Object.new }
|
|
6
|
+
|
|
7
|
+
before do
|
|
8
|
+
allow(fake_spot).to receive(:place_id) { 1 }
|
|
9
|
+
end
|
|
10
|
+
|
|
4
11
|
it 'should initialize with an api_key' do
|
|
5
|
-
|
|
6
|
-
expect(@client.api_key).to eq(api_key)
|
|
12
|
+
expect(client.api_key).to eq(api_key)
|
|
7
13
|
end
|
|
8
14
|
|
|
9
|
-
|
|
10
|
-
lat
|
|
11
|
-
|
|
12
|
-
|
|
15
|
+
describe '::spots' do
|
|
16
|
+
let(:lat) { '-33.8670522' }
|
|
17
|
+
let(:lng) { '151.1957362' }
|
|
18
|
+
it 'should request spots' do
|
|
19
|
+
expect(GooglePlaces::Spot).to receive(:list).with(lat, lng, api_key, {})
|
|
20
|
+
client.spots(lat, lng)
|
|
21
|
+
end
|
|
13
22
|
|
|
14
|
-
|
|
15
|
-
|
|
23
|
+
it 'does not call find on GooglePlces::Spot' do
|
|
24
|
+
allow(GooglePlaces::Spot).to receive(:list) { [fake_spot] }
|
|
25
|
+
expect(GooglePlaces::Spot).not_to receive(:find)
|
|
26
|
+
client.spots(lat, lng)
|
|
27
|
+
end
|
|
16
28
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
29
|
+
context 'with detail set to true' do
|
|
30
|
+
it 'calls find on GooglePlaces::Spot' do
|
|
31
|
+
allow(GooglePlaces::Spot).to receive(:list) { [fake_spot] }
|
|
32
|
+
expect(GooglePlaces::Spot).to receive(:find)
|
|
33
|
+
client.spots(lat, lng, detail: true)
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
21
37
|
|
|
22
|
-
|
|
38
|
+
describe '::spot' do
|
|
39
|
+
let(:place_id) { 'ChIJu46S-ZZhLxMROG5lkwZ3D7k' }
|
|
40
|
+
it 'should request a single spot by place_id' do
|
|
41
|
+
expect(GooglePlaces::Spot).to receive(:find).with(place_id, api_key, {})
|
|
42
|
+
client.spot(place_id)
|
|
43
|
+
end
|
|
23
44
|
end
|
|
24
45
|
|
|
25
|
-
|
|
26
|
-
query
|
|
27
|
-
|
|
28
|
-
|
|
46
|
+
describe '::spots_by_query' do
|
|
47
|
+
let(:query) { 'Statue of liberty, New York' }
|
|
48
|
+
it 'should request spots by query' do
|
|
49
|
+
expect(GooglePlaces::Spot).to receive(:list_by_query).with(
|
|
50
|
+
query,
|
|
51
|
+
api_key,
|
|
52
|
+
{}
|
|
53
|
+
)
|
|
54
|
+
client.spots_by_query(query)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
it 'does not call find on GooglePlces::Spot' do
|
|
58
|
+
allow(GooglePlaces::Spot).to receive(:list_by_query) { [fake_spot] }
|
|
59
|
+
expect(GooglePlaces::Spot).not_to receive(:find)
|
|
60
|
+
client.spots_by_query(query)
|
|
61
|
+
end
|
|
29
62
|
|
|
30
|
-
|
|
63
|
+
context 'with detail set to true' do
|
|
64
|
+
it 'calls find on GooglePlaces::Spot' do
|
|
65
|
+
allow(GooglePlaces::Spot).to receive(:list_by_query) { [fake_spot] }
|
|
66
|
+
expect(GooglePlaces::Spot).to receive(:find)
|
|
67
|
+
client.spots_by_query(query, detail: true)
|
|
68
|
+
end
|
|
69
|
+
end
|
|
31
70
|
end
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
71
|
+
|
|
72
|
+
describe '::spots_by_bounds' do
|
|
73
|
+
let(:query) { 'pizza' }
|
|
74
|
+
let(:bounds) do
|
|
75
|
+
{
|
|
76
|
+
start_point: { lat: '36.06686213257888', lng: '-86.94168090820312' },
|
|
77
|
+
end_point: { lat: '36.268635800737876', lng: '-86.66152954101562' }
|
|
78
|
+
}
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
it 'should request spots by bounds' do
|
|
82
|
+
expect(GooglePlaces::Spot).to receive(:list_by_bounds).with(
|
|
83
|
+
bounds, api_key,
|
|
84
|
+
query: query
|
|
85
|
+
)
|
|
86
|
+
client.spots_by_bounds(bounds, query: query)
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
it 'does not call find on GooglePlces::Spot' do
|
|
90
|
+
allow(GooglePlaces::Spot).to receive(:list_by_bounds) { [fake_spot] }
|
|
91
|
+
expect(GooglePlaces::Spot).not_to receive(:find)
|
|
92
|
+
client.spots_by_bounds(bounds, query: query)
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
context 'with detail set to true' do
|
|
96
|
+
it 'calls find on GooglePlaces::Spot' do
|
|
97
|
+
allow(GooglePlaces::Spot).to receive(:list_by_bounds) { [fake_spot] }
|
|
98
|
+
expect(GooglePlaces::Spot).to receive(:find)
|
|
99
|
+
client.spots_by_bounds(bounds, query: query, detail: true)
|
|
100
|
+
end
|
|
101
|
+
end
|
|
39
102
|
end
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
103
|
+
|
|
104
|
+
describe '::spots_by_radar' do
|
|
105
|
+
let(:keywords) { 'landmarks' }
|
|
106
|
+
let(:lat) { '51.511627' }
|
|
107
|
+
let(:lng) { '-0.183778' }
|
|
108
|
+
let(:radius) { 5000 }
|
|
109
|
+
|
|
110
|
+
it 'should request spots by radar' do
|
|
111
|
+
expect(GooglePlaces::Spot).to receive(:list_by_radar).with(
|
|
112
|
+
lat,
|
|
113
|
+
lng,
|
|
114
|
+
api_key,
|
|
115
|
+
radius: radius,
|
|
116
|
+
keyword: keywords
|
|
117
|
+
)
|
|
118
|
+
client.spots_by_radar(lat, lng, radius: radius, keyword: keywords)
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
it 'does not call find on GooglePlces::Spot' do
|
|
122
|
+
allow(GooglePlaces::Spot).to receive(:list_by_radar) { [fake_spot] }
|
|
123
|
+
expect(GooglePlaces::Spot).not_to receive(:find)
|
|
124
|
+
client.spots_by_radar(lat, lng, radius: radius, keyword: keywords)
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
context 'with detail set to true' do
|
|
128
|
+
it 'calls find on GooglePlaces::Spot' do
|
|
129
|
+
allow(GooglePlaces::Spot).to receive(:list_by_radar) { [fake_spot] }
|
|
130
|
+
expect(GooglePlaces::Spot).to receive(:find)
|
|
131
|
+
client.spots_by_radar(
|
|
132
|
+
lat,
|
|
133
|
+
lng,
|
|
134
|
+
radius: radius,
|
|
135
|
+
keyword: keywords,
|
|
136
|
+
detail: true
|
|
137
|
+
)
|
|
138
|
+
end
|
|
139
|
+
end
|
|
48
140
|
end
|
|
49
141
|
|
|
50
|
-
|
|
51
|
-
input
|
|
52
|
-
@client = GooglePlaces::Client.new(api_key)
|
|
53
|
-
expect(GooglePlaces::Prediction).to receive(:list_by_input).with(input, api_key, {})
|
|
142
|
+
describe '::predictions_by_input' do
|
|
143
|
+
let(:input) { 'Atlanta' }
|
|
54
144
|
|
|
55
|
-
|
|
145
|
+
it 'should request predictions by input' do
|
|
146
|
+
expect(GooglePlaces::Prediction).to receive(:list_by_input).with(
|
|
147
|
+
input,
|
|
148
|
+
api_key,
|
|
149
|
+
{}
|
|
150
|
+
)
|
|
151
|
+
client.predictions_by_input(input)
|
|
152
|
+
end
|
|
56
153
|
end
|
|
57
154
|
|
|
58
|
-
|
|
155
|
+
describe 'detailed spots', vcr: { cassette_name: 'list_spots_with_detail' } do
|
|
156
|
+
let(:lat) { '28.3852377' }
|
|
157
|
+
let(:lng) { '-81.566068' }
|
|
59
158
|
it 'should return spots with detail information' do
|
|
60
|
-
lat, lng
|
|
61
|
-
@client = GooglePlaces::Client.new(api_key)
|
|
62
|
-
|
|
63
|
-
spots = @client.spots(lat, lng, detail: true)
|
|
159
|
+
spots = client.spots(lat, lng, detail: true)
|
|
64
160
|
expect(spots).to_not be_nil
|
|
65
161
|
|
|
66
|
-
|
|
162
|
+
spots.each do |spot|
|
|
67
163
|
expect(spot.address_components).not_to be_nil
|
|
68
164
|
expect(spot.city).not_to be_nil
|
|
69
165
|
expect(spot.country).not_to be_nil
|
|
@@ -161,7 +161,7 @@ describe GooglePlaces::Spot do
|
|
|
161
161
|
it 'should be a Spot' do
|
|
162
162
|
expect(@spot.class).to eq(GooglePlaces::Spot)
|
|
163
163
|
end
|
|
164
|
-
%w(reference vicinity lat lng viewport name icon types id formatted_phone_number international_phone_number formatted_address address_components street_number street city region postal_code country rating url types website price_level opening_hours events utc_offset place_id).each do |attribute|
|
|
164
|
+
%w(reference vicinity lat lng viewport name icon types id formatted_phone_number international_phone_number formatted_address address_components street_number street city region postal_code country rating url types website price_level opening_hours events utc_offset place_id permanently_closed).each do |attribute|
|
|
165
165
|
it "should have the attribute: #{attribute}" do
|
|
166
166
|
expect(@spot.respond_to?(attribute)).to eq(true)
|
|
167
167
|
end
|
metadata
CHANGED
|
@@ -1,89 +1,100 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: google_places
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.34.0
|
|
5
|
+
prerelease:
|
|
5
6
|
platform: ruby
|
|
6
7
|
authors:
|
|
7
8
|
- Marcel de Graaf
|
|
8
9
|
autorequire:
|
|
9
10
|
bindir: bin
|
|
10
11
|
cert_chain: []
|
|
11
|
-
date: 2017-
|
|
12
|
+
date: 2017-06-07 00:00:00.000000000 Z
|
|
12
13
|
dependencies:
|
|
13
14
|
- !ruby/object:Gem::Dependency
|
|
14
15
|
name: httparty
|
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
|
17
|
+
none: false
|
|
16
18
|
requirements:
|
|
17
|
-
- -
|
|
19
|
+
- - ! '>='
|
|
18
20
|
- !ruby/object:Gem::Version
|
|
19
21
|
version: 0.13.1
|
|
20
|
-
- -
|
|
22
|
+
- - <
|
|
21
23
|
- !ruby/object:Gem::Version
|
|
22
24
|
version: 0.14.1
|
|
23
25
|
type: :runtime
|
|
24
26
|
prerelease: false
|
|
25
27
|
version_requirements: !ruby/object:Gem::Requirement
|
|
28
|
+
none: false
|
|
26
29
|
requirements:
|
|
27
|
-
- -
|
|
30
|
+
- - ! '>='
|
|
28
31
|
- !ruby/object:Gem::Version
|
|
29
32
|
version: 0.13.1
|
|
30
|
-
- -
|
|
33
|
+
- - <
|
|
31
34
|
- !ruby/object:Gem::Version
|
|
32
35
|
version: 0.14.1
|
|
33
36
|
- !ruby/object:Gem::Dependency
|
|
34
37
|
name: rspec
|
|
35
38
|
requirement: !ruby/object:Gem::Requirement
|
|
39
|
+
none: false
|
|
36
40
|
requirements:
|
|
37
|
-
- -
|
|
41
|
+
- - ~>
|
|
38
42
|
- !ruby/object:Gem::Version
|
|
39
43
|
version: '3.0'
|
|
40
44
|
type: :development
|
|
41
45
|
prerelease: false
|
|
42
46
|
version_requirements: !ruby/object:Gem::Requirement
|
|
47
|
+
none: false
|
|
43
48
|
requirements:
|
|
44
|
-
- -
|
|
49
|
+
- - ~>
|
|
45
50
|
- !ruby/object:Gem::Version
|
|
46
51
|
version: '3.0'
|
|
47
52
|
- !ruby/object:Gem::Dependency
|
|
48
53
|
name: addressable
|
|
49
54
|
requirement: !ruby/object:Gem::Requirement
|
|
55
|
+
none: false
|
|
50
56
|
requirements:
|
|
51
|
-
- -
|
|
57
|
+
- - ~>
|
|
52
58
|
- !ruby/object:Gem::Version
|
|
53
59
|
version: 2.4.0
|
|
54
60
|
type: :development
|
|
55
61
|
prerelease: false
|
|
56
62
|
version_requirements: !ruby/object:Gem::Requirement
|
|
63
|
+
none: false
|
|
57
64
|
requirements:
|
|
58
|
-
- -
|
|
65
|
+
- - ~>
|
|
59
66
|
- !ruby/object:Gem::Version
|
|
60
67
|
version: 2.4.0
|
|
61
68
|
- !ruby/object:Gem::Dependency
|
|
62
69
|
name: webmock
|
|
63
70
|
requirement: !ruby/object:Gem::Requirement
|
|
71
|
+
none: false
|
|
64
72
|
requirements:
|
|
65
|
-
- -
|
|
73
|
+
- - ~>
|
|
66
74
|
- !ruby/object:Gem::Version
|
|
67
75
|
version: '1.18'
|
|
68
76
|
type: :development
|
|
69
77
|
prerelease: false
|
|
70
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
none: false
|
|
71
80
|
requirements:
|
|
72
|
-
- -
|
|
81
|
+
- - ~>
|
|
73
82
|
- !ruby/object:Gem::Version
|
|
74
83
|
version: '1.18'
|
|
75
84
|
- !ruby/object:Gem::Dependency
|
|
76
85
|
name: vcr
|
|
77
86
|
requirement: !ruby/object:Gem::Requirement
|
|
87
|
+
none: false
|
|
78
88
|
requirements:
|
|
79
|
-
- -
|
|
89
|
+
- - ~>
|
|
80
90
|
- !ruby/object:Gem::Version
|
|
81
91
|
version: '2.9'
|
|
82
92
|
type: :development
|
|
83
93
|
prerelease: false
|
|
84
94
|
version_requirements: !ruby/object:Gem::Requirement
|
|
95
|
+
none: false
|
|
85
96
|
requirements:
|
|
86
|
-
- -
|
|
97
|
+
- - ~>
|
|
87
98
|
- !ruby/object:Gem::Version
|
|
88
99
|
version: '2.9'
|
|
89
100
|
description: This gem provides a Ruby wrapper around the Google Places API for use
|
|
@@ -94,8 +105,9 @@ executables: []
|
|
|
94
105
|
extensions: []
|
|
95
106
|
extra_rdoc_files: []
|
|
96
107
|
files:
|
|
97
|
-
-
|
|
98
|
-
-
|
|
108
|
+
- .gitignore
|
|
109
|
+
- .travis.yml
|
|
110
|
+
- CHANGELOG.md
|
|
99
111
|
- Gemfile
|
|
100
112
|
- Gemfile.lock
|
|
101
113
|
- LICENSE.txt
|
|
@@ -139,26 +151,27 @@ files:
|
|
|
139
151
|
homepage: https://github.com/marceldegraaf/google_places
|
|
140
152
|
licenses:
|
|
141
153
|
- MIT
|
|
142
|
-
metadata: {}
|
|
143
154
|
post_install_message:
|
|
144
155
|
rdoc_options: []
|
|
145
156
|
require_paths:
|
|
146
157
|
- lib
|
|
147
158
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
159
|
+
none: false
|
|
148
160
|
requirements:
|
|
149
|
-
- -
|
|
161
|
+
- - ! '>='
|
|
150
162
|
- !ruby/object:Gem::Version
|
|
151
163
|
version: '0'
|
|
152
164
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
165
|
+
none: false
|
|
153
166
|
requirements:
|
|
154
|
-
- -
|
|
167
|
+
- - ! '>='
|
|
155
168
|
- !ruby/object:Gem::Version
|
|
156
169
|
version: '0'
|
|
157
170
|
requirements: []
|
|
158
171
|
rubyforge_project:
|
|
159
|
-
rubygems_version:
|
|
172
|
+
rubygems_version: 1.8.23.2
|
|
160
173
|
signing_key:
|
|
161
|
-
specification_version:
|
|
174
|
+
specification_version: 3
|
|
162
175
|
summary: A Ruby wrapper around the Google Places API.
|
|
163
176
|
test_files:
|
|
164
177
|
- spec/api_key.sample.rb
|
checksums.yaml
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
SHA1:
|
|
3
|
-
metadata.gz: 3e89cd376d97e4bbadf049864a5df5f98d032630
|
|
4
|
-
data.tar.gz: c5d6c2bb190192b928dc3abab4956615a99d92f0
|
|
5
|
-
SHA512:
|
|
6
|
-
metadata.gz: 568369db3f5e9d71a65363c2a806c36cabc94fe55fc5370b6afaede67e3a4d8f4ff1fb24ea81c3dba0ed282ee3f855bed00644a84b4e267e8f67e0e73907d52e
|
|
7
|
-
data.tar.gz: df20278fd0930297bf41446bece309703011177f31181dbbf6109a6cd7e9485f2d892e3fdaf06c770434914e202a0dbe9605f8d7f87016dfaf4872ecb597a692
|