gmaps-autocomplete-rails 0.1.4 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/.document +5 -0
  3. data/.rspec +1 -0
  4. data/CHANGELOG +21 -0
  5. data/Gemfile +0 -2
  6. data/README.md +84 -4
  7. data/Rakefile +40 -0
  8. data/VERSION +1 -0
  9. data/gmaps-autocomplete-rails.gemspec +56 -32
  10. data/lib/gmaps-autocomplete-rails.rb +2 -0
  11. data/lib/gmaps-autocomplete-rails/version.rb +5 -0
  12. data/lib/{gmaps-autocomplete → gmaps-autocomplete-rails}/view_helper.rb +0 -0
  13. data/spec/config/config-gmaps-auto-coffee.js +15 -0
  14. data/spec/config/config-gmaps-auto.coffee +7 -0
  15. data/spec/config/config-gmaps-auto.js +4 -0
  16. data/spec/jquery-ui/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  17. data/spec/jquery-ui/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  18. data/spec/jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  19. data/spec/jquery-ui/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  20. data/spec/jquery-ui/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  21. data/spec/jquery-ui/images/ui-bg_glass_75_ffffff_1x400.png +0 -0
  22. data/spec/jquery-ui/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  23. data/spec/jquery-ui/images/ui-bg_inset-soft_95_fef1ec_1x100.png +0 -0
  24. data/spec/jquery-ui/images/ui-icons_222222_256x240.png +0 -0
  25. data/spec/jquery-ui/images/ui-icons_2e83ff_256x240.png +0 -0
  26. data/spec/jquery-ui/images/ui-icons_454545_256x240.png +0 -0
  27. data/spec/jquery-ui/images/ui-icons_888888_256x240.png +0 -0
  28. data/spec/jquery-ui/images/ui-icons_cd0a0a_256x240.png +0 -0
  29. data/spec/jquery-ui/images/ui-icons_f6cf3b_256x240.png +0 -0
  30. data/spec/jquery-ui/jquery-ui-1.8.16.custom.css +1320 -0
  31. data/spec/jquery-ui/jquery.ui.1.8.16.ie.css +6 -0
  32. data/spec/main.css +89 -0
  33. data/spec/spec_helper.rb +12 -0
  34. data/spec/test-gmaps-auto-coffee.html +54 -0
  35. data/spec/test-gmaps-auto.html +63 -0
  36. data/vendor/assets/javascripts/gmaps-auto-complete.coffee +306 -0
  37. data/vendor/assets/javascripts/gmaps-auto-complete.js +147 -287
  38. metadata +34 -32
@@ -1,297 +1,157 @@
1
- var GmapsCompleter, GmapsCompleterDefaultAssist,
2
- __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
3
-
4
- GmapsCompleter = (function() {
5
- GmapsCompleter.prototype.geocoder = null;
6
-
7
- GmapsCompleter.prototype.map = null;
8
-
9
- GmapsCompleter.prototype.marker = null;
10
-
11
- GmapsCompleter.prototype.inputField = null;
12
-
13
- GmapsCompleter.prototype.errorField = null;
14
-
15
- GmapsCompleter.prototype.positionOutputter = null;
16
-
17
- GmapsCompleter.prototype.updateUI = null;
18
-
19
- GmapsCompleter.prototype.updateMap = null;
20
-
21
- GmapsCompleter.prototype.region = null;
22
-
23
- GmapsCompleter.prototype.country = null;
24
-
25
- GmapsCompleter.prototype.debugOn = false;
26
-
27
- GmapsCompleter.prototype.mapElem = null;
28
-
29
- GmapsCompleter.prototype.zoomLevel = 2;
30
-
31
- GmapsCompleter.prototype.mapType = null;
32
-
33
- GmapsCompleter.prototype.pos = [0, 0];
34
-
35
- GmapsCompleter.prototype.inputField = '#gmaps-input-address';
36
-
37
- GmapsCompleter.prototype.errorField = '#gmaps-error';
38
-
39
- function GmapsCompleter(opts) {
40
- this.keyDownHandler = __bind(this.keyDownHandler, this);
41
- this.performGeocode = __bind(this.performGeocode, this);
42
- this.init(opts);
43
- }
44
-
45
- GmapsCompleter.prototype.init = function(opts) {
46
- var callOpts, completerAssistClass, error, lat, latlng, lng, mapElem, mapOptions, mapType, pos, self, zoomLevel;
47
- opts = opts || {};
48
- callOpts = $.extend(true, {}, opts);
49
- this.debugOn = opts['debugOn'];
50
- this.debug('init(opts)', opts);
51
- completerAssistClass = opts['assist'];
52
- try {
53
- this.assist = new completerAssistClass;
54
- } catch (_error) {
55
- error = _error;
56
- this.debug('assist error', error, opts['assist']);
57
- }
58
- this.assist || (this.assist = new GmapsCompleterDefaultAssist);
59
- this.defaultOptions = opts['defaultOptions'] || this.assist.options;
60
- opts = $.extend(true, {}, this.defaultOptions, opts);
61
- this.positionOutputter = opts['positionOutputter'] || this.assist.positionOutputter;
62
- this.updateUI = opts['updateUI'] || this.assist.updateUI;
63
- this.updateMap = opts['updateMap'] || this.assist.updateMap;
64
- this.geocodeErrorMsg = opts['geocodeErrorMsg'] || this.assist.geocodeErrorMsg;
65
- this.geocodeErrorMsg = opts['geocodeErrorMsg'] || this.assist.geocodeErrorMsg;
66
- this.noAddressFoundMsg = opts['noAddressFoundMsg'] || this.assist.noAddressFoundMsg;
67
- pos = opts['pos'];
68
- lat = pos[0];
69
- lng = pos[1];
70
- mapType = opts['mapType'];
71
- mapElem = null;
72
- this.mapElem = $("gmaps-canvas");
73
- if (opts['mapElem']) {
74
- this.mapElem = $(opts['mapElem']).get(0);
75
- }
76
- this.mapType = google.maps.MapTypeId.ROADMAP;
77
- zoomLevel = opts['zoomLevel'];
78
- this.inputField = opts['inputField'];
79
- this.errorField = opts['#gmaps-error'];
80
- this.debugOn = opts['debugOn'];
81
- this.debug('called with opts', callOpts);
82
- this.debug('final completerAssist', this.completerAssist);
83
- this.debug('defaultOptions', this.defaultOptions);
84
- this.debug('options after merge with defaults', opts);
85
- latlng = new google.maps.LatLng(lat, lng);
86
- this.debug('lat,lng', latlng);
87
- mapOptions = {
88
- zoom: zoomLevel,
89
- center: latlng,
90
- mapTypeId: mapType
91
- };
92
- this.debug('map options', mapOptions);
93
- this.geocoder = new google.maps.Geocoder();
94
- self = this;
95
- if (typeof this.mapElem === 'undefined') {
96
- this.showError("Map element " + opts['mapElem'] + " could not be resolved!");
97
- }
98
- this.debug('mapElem', this.mapElem);
99
- if (!this.mapElem) {
100
- return;
101
- }
102
- this.map = new google.maps.Map(this.mapElem, mapOptions);
103
- if (!this.map) {
104
- return;
105
- }
106
- this.marker = new google.maps.Marker({
107
- map: this.map,
108
- draggable: true
109
- });
110
- return self.addMapListeners(this.marker, this.map);
111
- };
112
-
113
- GmapsCompleter.prototype.debug = function(label, obj) {
114
- if (!this.debugOn) {
115
- return;
116
- }
117
- return console.log(label, obj);
118
- };
119
-
120
- GmapsCompleter.prototype.addMapListeners = function(marker, map) {
121
- var self;
122
- self = this;
123
- google.maps.event.addListener(marker, 'dragend', function() {
124
- return self.geocodeLookup('latLng', marker.getPosition());
125
- });
126
- return google.maps.event.addListener(map, 'click', function(event) {
127
- marker.setPosition(event.latLng);
128
- return self.geocodeLookup('latLng', event.latLng);
129
- });
130
- };
131
-
132
- GmapsCompleter.prototype.geocodeLookup = function(type, value, update) {
133
- var request;
134
- this.update || (this.update = false);
135
- request = {};
136
- request[type] = value;
137
- return this.geocoder.geocode(request, this.performGeocode);
138
- };
139
-
140
- GmapsCompleter.prototype.performGeocode = function(results, status) {
141
- this.debug('performGeocode', status);
142
- $(this.errorField).html('');
143
- if (status === google.maps.GeocoderStatus.OK) {
144
- return this.geocodeSuccess(results);
145
- } else {
146
- return this.geocodeFailure(type, value);
147
- }
148
- };
149
-
150
- GmapsCompleter.prototype.geocodeSuccess = function(results) {
151
- this.debug('geocodeSuccess', results);
152
- if (results[0]) {
153
- this.updateUI(results[0].formatted_address, results[0].geometry.location);
154
- if (this.update) {
155
- return this.updateMap(results[0].geometry);
1
+ var geocoder;
2
+ var map;
3
+ var marker;
4
+
5
+ // initialise the google maps objects, and add listeners
6
+ function gmaps_init(){
7
+
8
+ // center of the universe
9
+ var latlng = new google.maps.LatLng(51.751724,-1.255284);
10
+
11
+ var options = {
12
+ zoom: 2,
13
+ center: latlng,
14
+ mapTypeId: google.maps.MapTypeId.ROADMAP
15
+ };
16
+
17
+ // create our map object
18
+ map = new google.maps.Map(document.getElementById("gmaps-canvas"), options);
19
+
20
+ // the geocoder object allows us to do latlng lookup based on address
21
+ geocoder = new google.maps.Geocoder();
22
+
23
+ // the marker shows us the position of the latest address
24
+ marker = new google.maps.Marker({
25
+ map: map,
26
+ draggable: true
27
+ });
28
+
29
+ // event triggered when marker is dragged and dropped
30
+ google.maps.event.addListener(marker, 'dragend', function() {
31
+ geocode_lookup( 'latLng', marker.getPosition() );
32
+ });
33
+
34
+ // event triggered when map is clicked
35
+ google.maps.event.addListener(map, 'click', function(event) {
36
+ marker.setPosition(event.latLng)
37
+ geocode_lookup( 'latLng', event.latLng );
38
+ });
39
+
40
+ $('#gmaps-error').hide();
41
+ }
42
+
43
+ // move the marker to a new position, and center the map on it
44
+ function update_map( geometry ) {
45
+ map.fitBounds( geometry.viewport )
46
+ marker.setPosition( geometry.location )
47
+ }
48
+
49
+ // fill in the UI elements with new position data
50
+ function update_ui( address, latLng ) {
51
+ $('#gmaps-input-address').autocomplete("close");
52
+ $('#gmaps-input-address').val(address);
53
+ //$('#gmaps-output-latitude').html(latLng.lat());
54
+ //$('#gmaps-output-longitude').html(latLng.lng());
55
+ }
56
+
57
+ // Query the Google geocode object
58
+ //
59
+ // type: 'address' for search by address
60
+ // 'latLng' for search by latLng (reverse lookup)
61
+ //
62
+ // value: search query
63
+ //
64
+ // update: should we update the map (center map and position marker)?
65
+ function geocode_lookup( type, value, update ) {
66
+ // default value: update = false
67
+ update = typeof update !== 'undefined' ? update : false;
68
+
69
+ request = {};
70
+ request[type] = value;
71
+
72
+ geocoder.geocode(request, function(results, status) {
73
+ $('#gmaps-error').html('');
74
+ $('#gmaps-error').hide();
75
+ if (status == google.maps.GeocoderStatus.OK) {
76
+ // Google geocoding has succeeded!
77
+ if (results[0]) {
78
+ // Always update the UI elements with new location data
79
+ update_ui( results[0].formatted_address,
80
+ results[0].geometry.location )
81
+
82
+ // Only update the map (position marker and center map) if requested
83
+ if( update ) { update_map( results[0].geometry ) }
84
+ } else {
85
+ // Geocoder status ok but no results!?
86
+ $('#gmaps-error').html("Sorry, something went wrong. Try again!");
87
+ $('#gmaps-error').show();
156
88
  }
157
89
  } else {
158
- return this.showError(this.geocodeErrorMsg());
159
- }
160
- };
161
-
162
- GmapsCompleter.prototype.geocodeFailure = function(type, value) {
163
- this.debug('geocodeFailure', type);
164
- if (type === 'address') {
165
- return this.showError(this.invalidAddressMsg(value));
166
- } else {
167
- this.showError(this.noAddressFoundMsg());
168
- return this.updateUI('', value);
169
- }
170
- };
171
-
172
- GmapsCompleter.prototype.showError = function(msg) {
173
- $(this.errorField).html(msg);
174
- $(this.errorField).show();
175
- return setTimeout(function() {
176
- return $(this.errorField).hide();
177
- }, 1000);
178
- };
179
-
180
- GmapsCompleter.prototype.autoCompleteInit = function(opts) {
181
- var autocompleteOpts, defaultAutocompleteOpts, self;
182
- opts = opts || {};
183
- this.region = opts['region'] || this.defaultOptions['region'];
184
- this.country = opts['country'] || this.defaultOptions['country'];
185
- this.debug('region', this.region);
186
- self = this;
187
- autocompleteOpts = opts['autocomplete'] || {};
188
- defaultAutocompleteOpts = {
189
- select: function(event, ui) {
190
- self.updateUI(ui.item.value, ui.item.geocode.geometry.location);
191
- return self.updateMap(ui.item.geocode.geometry);
192
- },
193
- source: function(request, response) {
194
- var address, geocodeOpts, region, region_postfix;
195
- region_postfix = '';
196
- region = self.region;
197
- if (region) {
198
- region_postfix = ', ' + region;
199
- }
200
- address = request.term + region_postfix;
201
- self.debug('geocode address', address);
202
- geocodeOpts = {
203
- 'address': address
204
- };
205
- return self.geocoder.geocode(geocodeOpts, function(results, status) {
206
- return response($.map(results, function(item) {
207
- var uiAddress;
208
- uiAddress = item.formatted_address.replace(", " + self.country, '');
209
- return {
210
- label: uiAddress,
211
- value: uiAddress,
212
- geocode: item
213
- };
214
- }));
215
- });
90
+ // Google Geocoding has failed. Two common reasons:
91
+ // * Address not recognised (e.g. search for 'zxxzcxczxcx')
92
+ // * Location doesn't map to address (e.g. click in middle of Atlantic)
93
+
94
+ if( type == 'address' ) {
95
+ // User has typed in an address which we can't geocode to a location
96
+ $('#gmaps-error').html("Sorry! We couldn't find " + value + ". Try a different search term, or click the map." );
97
+ $('#gmaps-error').show();
98
+ } else {
99
+ // User has clicked or dragged marker to somewhere that Google can't do a reverse lookup for
100
+ // In this case we display a warning, clear the address box, but fill in LatLng
101
+ $('#gmaps-error').html("Woah... that's pretty remote! You're going to have to manually enter a place name." );
102
+ $('#gmaps-error').show();
103
+ update_ui('', value)
216
104
  }
217
105
  };
218
- autocompleteOpts = $.extend(true, defaultAutocompleteOpts, autocompleteOpts);
219
- $(this.inputField).autocomplete(autocompleteOpts);
220
- return $(this.inputField).bind('keydown', this.keyDownHandler);
221
- };
222
-
223
- GmapsCompleter.prototype.keyDownHandler = function(event) {
224
- if (event.keyCode === 13) {
225
- this.geocodeLookup('address', $(this.inputField).val(), true);
226
- return $(this.inputField).autocomplete("disable");
227
- } else {
228
- return $(this.inputField).autocomplete("enable");
106
+ });
107
+ };
108
+
109
+ // initialise the jqueryUI autocomplete element
110
+ function autocomplete_init() {
111
+ $("#gmaps-input-address").autocomplete({
112
+
113
+ // source is the list of input options shown in the autocomplete dropdown.
114
+ // see documentation: http://jqueryui.com/demos/autocomplete/
115
+ source: function(request,response) {
116
+
117
+ // the geocode method takes an address or LatLng to search for
118
+ // and a callback function which should process the results into
119
+ // a format accepted by jqueryUI autocomplete
120
+ geocoder.geocode( {'address': request.term }, function(results, status) {
121
+ response($.map(results, function(item) {
122
+ return {
123
+ label: item.formatted_address, // appears in dropdown box
124
+ value: item.formatted_address, // inserted into input element when selected
125
+ geocode: item // all geocode data: used in select callback event
126
+ }
127
+ }));
128
+ })
129
+ },
130
+
131
+ // event triggered when drop-down option selected
132
+ select: function(event,ui){
133
+ update_ui( ui.item.value, ui.item.geocode.geometry.location )
134
+ update_map( ui.item.geocode.geometry )
229
135
  }
230
- };
231
-
232
- return GmapsCompleter;
233
-
234
- })();
136
+ });
235
137
 
236
- GmapsCompleterDefaultAssist = (function() {
237
- function GmapsCompleterDefaultAssist() {}
138
+ // triggered when user presses a key in the address box
139
+ $("#gmaps-input-address").bind('keydown', function(event) {
140
+ if(event.keyCode == 13) {
141
+ geocode_lookup( 'address', $('#gmaps-input-address').val(), true );
238
142
 
239
- GmapsCompleterDefaultAssist.prototype.options = {
240
- mapElem: '#gmaps-canvas',
241
- zoomLevel: 2,
242
- mapType: google.maps.MapTypeId.ROADMAP,
243
- pos: [0, 0],
244
- inputField: '#gmaps-input-address',
245
- errorField: '#gmaps-error',
246
- debugOn: true
247
- };
248
-
249
- GmapsCompleterDefaultAssist.prototype.updateMap = function(geometry) {
250
- var map, marker;
251
- map = this.map;
252
- marker = this.marker;
253
- if (map) {
254
- map.fitBounds(geometry.viewport);
255
- }
256
- if (marker) {
257
- return marker.setPosition(geometry.location);
143
+ // ensures dropdown disappears when enter is pressed
144
+ $('#gmaps-input-address').autocomplete("disable")
145
+ } else {
146
+ // re-enable if previously disabled above
147
+ $('#gmaps-input-address').autocomplete("enable")
258
148
  }
259
- };
260
-
261
- GmapsCompleterDefaultAssist.prototype.updateUI = function(address, latLng) {
262
- var country, inputField, updateAdr;
263
- inputField = this.inputField;
264
- country = this.country;
265
- $(inputField).autocomplete('close');
266
- this.debug('country', country);
267
- updateAdr = address.replace(', ' + country, '');
268
- updateAdr = address;
269
- this.debug('updateAdr', updateAdr);
270
- $(inputField).val(updateAdr);
271
- return this.positionOutputter(latLng);
272
- };
273
-
274
- GmapsCompleterDefaultAssist.prototype.positionOutputter = function(latLng) {
275
- $('#gmaps-output-latitude').html(latLng.lat());
276
- return $('#gmaps-output-longitude').html(latLng.lng());
277
- };
149
+ });
150
+ }; // autocomplete_init
278
151
 
279
- GmapsCompleterDefaultAssist.prototype.geocodeErrorMsg = function() {
280
- return "Sorry, something went wrong. Try again!";
152
+ $(document).ready(function() {
153
+ if( $('#gmaps-canvas').length ) {
154
+ gmaps_init();
155
+ autocomplete_init();
281
156
  };
282
-
283
- GmapsCompleterDefaultAssist.prototype.invalidAddressMsg = function(value) {
284
- return "Sorry! We couldn't find " + value + ". Try a different search term, or click the map.";
285
- };
286
-
287
- GmapsCompleterDefaultAssist.prototype.noAddressFoundMsg = function() {
288
- return "Woah... that's pretty remote! You're going to have to manually enter a place name.";
289
- };
290
-
291
- return GmapsCompleterDefaultAssist;
292
-
293
- })();
294
-
295
- window.GmapsCompleter = GmapsCompleter;
296
-
297
- window.GmapsCompleterDefaultAssist = GmapsCompleterDefaultAssist;
157
+ });
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gmaps-autocomplete-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kristian Mandrup
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-23 00:00:00.000000000 Z
11
+ date: 2016-08-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 2.9.0
41
- - !ruby/object:Gem::Dependency
42
- name: rdoc
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '3.12'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '3.12'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: bundler
57
43
  requirement: !ruby/object:Gem::Requirement
@@ -80,20 +66,6 @@ dependencies:
80
66
  - - ">="
81
67
  - !ruby/object:Gem::Version
82
68
  version: 1.8.4
83
- - !ruby/object:Gem::Dependency
84
- name: simplecov
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0.5'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0.5'
97
69
  description: Easily add autocomplete geo-functionality to your Rails app :)
98
70
  email: kmandrup@gmail.com
99
71
  executables: []
@@ -102,12 +74,42 @@ extra_rdoc_files:
102
74
  - LICENSE.txt
103
75
  - README.md
104
76
  files:
77
+ - ".document"
78
+ - ".rspec"
79
+ - CHANGELOG
105
80
  - Gemfile
106
81
  - LICENSE.txt
107
82
  - README.md
83
+ - Rakefile
84
+ - VERSION
108
85
  - gmaps-autocomplete-rails.gemspec
109
86
  - lib/gmaps-autocomplete-rails.rb
110
- - lib/gmaps-autocomplete/view_helper.rb
87
+ - lib/gmaps-autocomplete-rails/version.rb
88
+ - lib/gmaps-autocomplete-rails/view_helper.rb
89
+ - spec/config/config-gmaps-auto-coffee.js
90
+ - spec/config/config-gmaps-auto.coffee
91
+ - spec/config/config-gmaps-auto.js
92
+ - spec/jquery-ui/images/ui-bg_flat_0_aaaaaa_40x100.png
93
+ - spec/jquery-ui/images/ui-bg_glass_55_fbf9ee_1x400.png
94
+ - spec/jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png
95
+ - spec/jquery-ui/images/ui-bg_glass_75_dadada_1x400.png
96
+ - spec/jquery-ui/images/ui-bg_glass_75_e6e6e6_1x400.png
97
+ - spec/jquery-ui/images/ui-bg_glass_75_ffffff_1x400.png
98
+ - spec/jquery-ui/images/ui-bg_highlight-soft_75_cccccc_1x100.png
99
+ - spec/jquery-ui/images/ui-bg_inset-soft_95_fef1ec_1x100.png
100
+ - spec/jquery-ui/images/ui-icons_222222_256x240.png
101
+ - spec/jquery-ui/images/ui-icons_2e83ff_256x240.png
102
+ - spec/jquery-ui/images/ui-icons_454545_256x240.png
103
+ - spec/jquery-ui/images/ui-icons_888888_256x240.png
104
+ - spec/jquery-ui/images/ui-icons_cd0a0a_256x240.png
105
+ - spec/jquery-ui/images/ui-icons_f6cf3b_256x240.png
106
+ - spec/jquery-ui/jquery-ui-1.8.16.custom.css
107
+ - spec/jquery-ui/jquery.ui.1.8.16.ie.css
108
+ - spec/main.css
109
+ - spec/spec_helper.rb
110
+ - spec/test-gmaps-auto-coffee.html
111
+ - spec/test-gmaps-auto.html
112
+ - vendor/assets/javascripts/gmaps-auto-complete.coffee
111
113
  - vendor/assets/javascripts/gmaps-auto-complete.js
112
114
  homepage: http://github.com/kristianmandrup/gmaps-autocomplete-rails
113
115
  licenses:
@@ -129,7 +131,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
129
131
  version: '0'
130
132
  requirements: []
131
133
  rubyforge_project:
132
- rubygems_version: 2.2.2
134
+ rubygems_version: 2.6.2
133
135
  signing_key:
134
136
  specification_version: 4
135
137
  summary: Google Maps v3 search with jQuery UI Autocomplete, ready for use with Rails