address_picker-rails 0.2.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/.document +5 -0
- data/Gemfile +23 -0
- data/Gemfile.lock +155 -0
- data/Guardfile +37 -0
- data/LICENSE.txt +20 -0
- data/README.md +212 -0
- data/Rakefile +49 -0
- data/VERSION +1 -0
- data/address_picker-rails.gemspec +115 -0
- data/lib/address_picker-rails.rb +4 -0
- data/lib/address_picker-rails/engine.rb +11 -0
- data/spec/dummy/README.rdoc +261 -0
- data/spec/dummy/Rakefile +7 -0
- data/spec/dummy/app/assets/javascripts/application.js +15 -0
- data/spec/dummy/app/assets/stylesheets/application.css +13 -0
- data/spec/dummy/app/controllers/application_controller.rb +3 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/mailers/.gitkeep +0 -0
- data/spec/dummy/app/models/.gitkeep +0 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +65 -0
- data/spec/dummy/config/boot.rb +10 -0
- data/spec/dummy/config/database.yml +25 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +37 -0
- data/spec/dummy/config/environments/production.rb +67 -0
- data/spec/dummy/config/environments/test.rb +37 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/inflections.rb +15 -0
- data/spec/dummy/config/initializers/mime_types.rb +5 -0
- data/spec/dummy/config/initializers/secret_token.rb +7 -0
- data/spec/dummy/config/initializers/session_store.rb +8 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +5 -0
- data/spec/dummy/config/routes.rb +58 -0
- data/spec/dummy/lib/assets/.gitkeep +0 -0
- data/spec/dummy/log/.gitignore +1 -0
- data/spec/dummy/log/.gitkeep +0 -0
- data/spec/dummy/public/404.html +26 -0
- data/spec/dummy/public/422.html +26 -0
- data/spec/dummy/public/500.html +25 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/spec_helper.rb +79 -0
- data/vendor/assets/javascripts/address_picker-rails.js +189 -0
- data/vendor/assets/javascripts/address_picker.js +209 -0
- data/vendor/assets/javascripts/address_picker_gmaps.js +130 -0
- data/vendor/assets/stylesheets/address_picker-rails.css +0 -0
- metadata +260 -0
@@ -0,0 +1,130 @@
|
|
1
|
+
var AddressPickerRails = AddressPickerRails || {}
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Google Maps utilities as a singleton.
|
5
|
+
*/
|
6
|
+
AddressPickerRails.GMaps = function () {
|
7
|
+
|
8
|
+
// ---------- singleton --------------------------------------------------------------------------------------------
|
9
|
+
|
10
|
+
if (AddressPickerRails.GMaps.caller != AddressPickerRails.GMaps.instance) {
|
11
|
+
throw "AddressPickerRails.GMaps is a singleton, access must be done by AddressPickerRails.GMaps.instance()";
|
12
|
+
}
|
13
|
+
|
14
|
+
if (arguments.callee.singleton) {
|
15
|
+
return arguments.callee.singleton;
|
16
|
+
}
|
17
|
+
|
18
|
+
arguments.callee.singleton = this;
|
19
|
+
|
20
|
+
// ---------- private fields ---------------------------------------------------------------------------------------
|
21
|
+
|
22
|
+
var STATE_NOT_LOADED = "not_loaded";
|
23
|
+
var STATE_LOADING = "loading";
|
24
|
+
var STATE_LOADED = "loaded";
|
25
|
+
|
26
|
+
var state = STATE_NOT_LOADED;
|
27
|
+
var callbacks = new Array();
|
28
|
+
|
29
|
+
// ---------- private methods --------------------------------------------------------------------------------------
|
30
|
+
|
31
|
+
/**
|
32
|
+
* Load the Google Maps API.
|
33
|
+
* @param callback the function to call when the API is loaded.
|
34
|
+
*/
|
35
|
+
var doLoad = function (callback) {
|
36
|
+
//console.debug("Loading GMaps API");
|
37
|
+
|
38
|
+
var script = document.createElement("script");
|
39
|
+
script.src = "http://maps.google.com/maps/api/js?sensor=false&callback=AddressPickerRails.GMaps.onLoad";
|
40
|
+
script.type = "text/javascript";
|
41
|
+
|
42
|
+
callbacks.push(callback);
|
43
|
+
state = STATE_LOADING;
|
44
|
+
|
45
|
+
$("head").append(script);
|
46
|
+
};
|
47
|
+
|
48
|
+
/**
|
49
|
+
* !!! PRIVATE !!!
|
50
|
+
* Call all the defined callback functions.
|
51
|
+
*/
|
52
|
+
this.doCallback = function () {
|
53
|
+
for (var i in callbacks) {
|
54
|
+
callbacks[i]();
|
55
|
+
}
|
56
|
+
};
|
57
|
+
|
58
|
+
// ---------- public methods ---------------------------------------------------------------------------------------
|
59
|
+
|
60
|
+
/**
|
61
|
+
* Test if the Google Maps API is loaded and update the state accordingly.
|
62
|
+
*/
|
63
|
+
this.updateStatus = function () {
|
64
|
+
if (state == STATE_LOADED) {
|
65
|
+
return true;
|
66
|
+
}
|
67
|
+
|
68
|
+
// may be loaded by someone else
|
69
|
+
if (typeof google === "undefined") return false;
|
70
|
+
if (typeof google.maps === "undefined") return false;
|
71
|
+
if (typeof google.maps.Map === "undefined") return false;
|
72
|
+
|
73
|
+
state = STATE_LOADED;
|
74
|
+
return true;
|
75
|
+
};
|
76
|
+
|
77
|
+
/**
|
78
|
+
* Test if the Google Maps API is loaded.
|
79
|
+
* @return true if the Google Maps API is loaded, false otherwise.
|
80
|
+
*/
|
81
|
+
this.isLoaded = function () {
|
82
|
+
this.updateStatus();
|
83
|
+
return (state == STATE_LOADED);
|
84
|
+
};
|
85
|
+
|
86
|
+
/**
|
87
|
+
* Load the Google Maps API.
|
88
|
+
* @param callback the function to call when the API is loaded.
|
89
|
+
*/
|
90
|
+
this.load = function (callback) {
|
91
|
+
//console.debug("Loading GMaps");
|
92
|
+
this.updateStatus();
|
93
|
+
|
94
|
+
switch (state) {
|
95
|
+
case STATE_NOT_LOADED:
|
96
|
+
doLoad(callback);
|
97
|
+
break;
|
98
|
+
case STATE_LOADING:
|
99
|
+
//console.debug("GMaps is loading");
|
100
|
+
callbacks.push(callback);
|
101
|
+
break;
|
102
|
+
case STATE_LOADED:
|
103
|
+
//console.debug("GMaps is already loaded");
|
104
|
+
callback();
|
105
|
+
break;
|
106
|
+
default:
|
107
|
+
throw "Illegal state: " + state;
|
108
|
+
break;
|
109
|
+
}
|
110
|
+
};
|
111
|
+
|
112
|
+
};
|
113
|
+
|
114
|
+
// ---------- static methods -------------------------------------------------------------------------------------------
|
115
|
+
|
116
|
+
/**
|
117
|
+
* Returns the AddressPickerRails.GMaps singleton.
|
118
|
+
* @return {AddressPickerRails.GMaps}
|
119
|
+
*/
|
120
|
+
AddressPickerRails.GMaps.instance = function () {
|
121
|
+
return new AddressPickerRails.GMaps();
|
122
|
+
};
|
123
|
+
|
124
|
+
/**
|
125
|
+
* Global function used as a callback by Google Maps API when loaded.
|
126
|
+
* Call 'AddressPickerRails.GMaps.instance().doCallback()';
|
127
|
+
*/
|
128
|
+
AddressPickerRails.GMaps.onLoad = function () {
|
129
|
+
AddressPickerRails.GMaps.instance().doCallback();
|
130
|
+
};
|
File without changes
|
metadata
ADDED
@@ -0,0 +1,260 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: address_picker-rails
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- David DIDIER
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-08-22 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rails
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 3.2.0
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 3.2.0
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: bundler
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ~>
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 1.1.0
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 1.1.0
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: capybara
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ~>
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 1.1.0
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.1.0
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: guard
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ~>
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 1.3.0
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 1.3.0
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: guard-rspec
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ~>
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: 1.2.0
|
86
|
+
type: :development
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 1.2.0
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: guard-spork
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ~>
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 1.1.0
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 1.1.0
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: jeweler
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ~>
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 1.8.4
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ~>
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 1.8.4
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: rdoc
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ~>
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '3.12'
|
134
|
+
type: :development
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ~>
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '3.12'
|
142
|
+
- !ruby/object:Gem::Dependency
|
143
|
+
name: rspec-rails
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
146
|
+
requirements:
|
147
|
+
- - ~>
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: 2.11.0
|
150
|
+
type: :development
|
151
|
+
prerelease: false
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ~>
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: 2.11.0
|
158
|
+
- !ruby/object:Gem::Dependency
|
159
|
+
name: sqlite3
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
162
|
+
requirements:
|
163
|
+
- - ~>
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: 1.3.0
|
166
|
+
type: :development
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ~>
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: 1.3.0
|
174
|
+
description: An address picker for Rails with autocompletion and map picking (adapted
|
175
|
+
from https://github.com/sgruhier/jquery-addresspicker)
|
176
|
+
email: c_inconnu1@yahoo.fr
|
177
|
+
executables: []
|
178
|
+
extensions: []
|
179
|
+
extra_rdoc_files:
|
180
|
+
- LICENSE.txt
|
181
|
+
- README.md
|
182
|
+
files:
|
183
|
+
- .document
|
184
|
+
- Gemfile
|
185
|
+
- Gemfile.lock
|
186
|
+
- Guardfile
|
187
|
+
- LICENSE.txt
|
188
|
+
- README.md
|
189
|
+
- Rakefile
|
190
|
+
- VERSION
|
191
|
+
- address_picker-rails.gemspec
|
192
|
+
- lib/address_picker-rails.rb
|
193
|
+
- lib/address_picker-rails/engine.rb
|
194
|
+
- spec/dummy/README.rdoc
|
195
|
+
- spec/dummy/Rakefile
|
196
|
+
- spec/dummy/app/assets/javascripts/application.js
|
197
|
+
- spec/dummy/app/assets/stylesheets/application.css
|
198
|
+
- spec/dummy/app/controllers/application_controller.rb
|
199
|
+
- spec/dummy/app/helpers/application_helper.rb
|
200
|
+
- spec/dummy/app/mailers/.gitkeep
|
201
|
+
- spec/dummy/app/models/.gitkeep
|
202
|
+
- spec/dummy/app/views/layouts/application.html.erb
|
203
|
+
- spec/dummy/config.ru
|
204
|
+
- spec/dummy/config/application.rb
|
205
|
+
- spec/dummy/config/boot.rb
|
206
|
+
- spec/dummy/config/database.yml
|
207
|
+
- spec/dummy/config/environment.rb
|
208
|
+
- spec/dummy/config/environments/development.rb
|
209
|
+
- spec/dummy/config/environments/production.rb
|
210
|
+
- spec/dummy/config/environments/test.rb
|
211
|
+
- spec/dummy/config/initializers/backtrace_silencers.rb
|
212
|
+
- spec/dummy/config/initializers/inflections.rb
|
213
|
+
- spec/dummy/config/initializers/mime_types.rb
|
214
|
+
- spec/dummy/config/initializers/secret_token.rb
|
215
|
+
- spec/dummy/config/initializers/session_store.rb
|
216
|
+
- spec/dummy/config/initializers/wrap_parameters.rb
|
217
|
+
- spec/dummy/config/locales/en.yml
|
218
|
+
- spec/dummy/config/routes.rb
|
219
|
+
- spec/dummy/lib/assets/.gitkeep
|
220
|
+
- spec/dummy/log/.gitignore
|
221
|
+
- spec/dummy/log/.gitkeep
|
222
|
+
- spec/dummy/public/404.html
|
223
|
+
- spec/dummy/public/422.html
|
224
|
+
- spec/dummy/public/500.html
|
225
|
+
- spec/dummy/public/favicon.ico
|
226
|
+
- spec/dummy/script/rails
|
227
|
+
- spec/spec_helper.rb
|
228
|
+
- vendor/assets/javascripts/address_picker-rails.js
|
229
|
+
- vendor/assets/javascripts/address_picker.js
|
230
|
+
- vendor/assets/javascripts/address_picker_gmaps.js
|
231
|
+
- vendor/assets/stylesheets/address_picker-rails.css
|
232
|
+
homepage: http://github.com/ddidier/address_picker-rails
|
233
|
+
licenses:
|
234
|
+
- MIT
|
235
|
+
post_install_message:
|
236
|
+
rdoc_options: []
|
237
|
+
require_paths:
|
238
|
+
- lib
|
239
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
240
|
+
none: false
|
241
|
+
requirements:
|
242
|
+
- - ! '>='
|
243
|
+
- !ruby/object:Gem::Version
|
244
|
+
version: '0'
|
245
|
+
segments:
|
246
|
+
- 0
|
247
|
+
hash: 3555880016345463368
|
248
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
249
|
+
none: false
|
250
|
+
requirements:
|
251
|
+
- - ! '>='
|
252
|
+
- !ruby/object:Gem::Version
|
253
|
+
version: '0'
|
254
|
+
requirements: []
|
255
|
+
rubyforge_project:
|
256
|
+
rubygems_version: 1.8.24
|
257
|
+
signing_key:
|
258
|
+
specification_version: 3
|
259
|
+
summary: An address picker with autocompletion and map picking
|
260
|
+
test_files: []
|