gmaps4rails 0.6.4 → 0.6.5
Sign up to get free protection for your applications and to get access to all the features.
@@ -129,14 +129,15 @@ module Gmaps4rails
|
|
129
129
|
validate :process_geocoding
|
130
130
|
end
|
131
131
|
|
132
|
+
#instance method
|
132
133
|
define_method "gmaps4rails_options" do
|
133
134
|
{
|
134
|
-
:lat_column => args[:lat]
|
135
|
-
:lng_column => args[:lng]
|
136
|
-
:check_process => args[:check_process]
|
137
|
-
:checker => args[:checker]
|
138
|
-
:msg => args[:msg]
|
139
|
-
:validation => args[:validation]
|
135
|
+
:lat_column => args[:lat] || "latitude",
|
136
|
+
:lng_column => args[:lng] || "longitude",
|
137
|
+
:check_process => args[:check_process].nil? ? true : args[:check_process],
|
138
|
+
:checker => args[:checker] || "gmaps",
|
139
|
+
:msg => args[:msg] || "Address invalid",
|
140
|
+
:validation => args[:validation].nil? ? true : args[:validation]
|
140
141
|
#TODO: address as a proc?
|
141
142
|
}
|
142
143
|
end
|
@@ -197,3 +198,6 @@ module Gmaps4rails
|
|
197
198
|
end
|
198
199
|
|
199
200
|
::ActiveRecord::Base.send :include, Gmaps4rails::ActsAsGmappable::Base
|
201
|
+
# Mongoid::Document::ClassMethods.class_eval do
|
202
|
+
# include Gmaps4rails::ActsAsGmappable::Base
|
203
|
+
# end
|
@@ -45,7 +45,7 @@ describe "JS creation from hash" do
|
|
45
45
|
"options" => {"waypoints" => ["toulouse, france", "brest, france"], "travelMode" => "DRIVING", "display_panel" => true, "panel_id" => "instructions"}
|
46
46
|
}
|
47
47
|
}
|
48
|
-
options_hash.to_gmaps4rails.should == "Gmaps4Rails.polylines = [[\n{\"longitude\": -122.214897, \"latitude\": 37.772323},\n{\"longitude\": -157.821856, \"latitude\": 21.291982},\n{\"longitude\": 178.431, \"latitude\": -18.142599},\n{\"longitude\": 153.027892, \"latitude\": -27.46758}\n],\n[\n{\"longitude\": -120.214897, \"latitude\": 30.772323, \"strokeColor\": \"#000\", \"strokeWeight\" : 2 },\n{\"longitude\": -10.821856, \"latitude\": 50.291982}\n]];\nGmaps4Rails.create_polylines();\nGmaps4Rails.circles = [\n{\"longitude\": -122.214897, \"latitude\": 37.772323, \"radius\": 1000000},\n{\"longitude\": 122.214897, \"latitude\": 37.772323, \"radius\": 1000000, \"strokeColor\": \"#FF0000\"}\n];\nGmaps4Rails.create_circles();\nGmaps4Rails.polygons = [[\n{\"longitude\": -80.190262, \"latitude\": 25.774252},\n{\"longitude\": -66.118292, \"latitude\": 18.466465},\n{\"longitude\": -64.75737, \"latitude\": 32.321384}\n]];\nGmaps4Rails.create_polygons();\nGmaps4Rails.markers = [{ \"description\": \"\", \"title\": \"\", \"longitude\": \"5.9311119\", \"latitude\": \"43.1251606\", \"picture\": \"\", \"width\": \"\", \"height\": \"\" } ,{ \"description\": \"\", \"title\": \"\", \"longitude\": \"2.3509871\", \"latitude\": \"48.8566667\", \"picture\": \"\", \"width\": \"\", \"height\": \"\" } ];\nGmaps4Rails.create_markers();\nGmaps4Rails.direction_conf.origin = 'toulon, france';\nGmaps4Rails.direction_conf.destination = 'paris, france';\nGmaps4Rails.direction_conf.display_panel =
|
48
|
+
options_hash.to_gmaps4rails.should == "Gmaps4Rails.polylines = [[\n{\"longitude\": -122.214897, \"latitude\": 37.772323},\n{\"longitude\": -157.821856, \"latitude\": 21.291982},\n{\"longitude\": 178.431, \"latitude\": -18.142599},\n{\"longitude\": 153.027892, \"latitude\": -27.46758}\n],\n[\n{\"longitude\": -120.214897, \"latitude\": 30.772323, \"strokeColor\": \"#000\", \"strokeWeight\" : 2 },\n{\"longitude\": -10.821856, \"latitude\": 50.291982}\n]];\nGmaps4Rails.create_polylines();\nGmaps4Rails.circles = [\n{\"longitude\": -122.214897, \"latitude\": 37.772323, \"radius\": 1000000},\n{\"longitude\": 122.214897, \"latitude\": 37.772323, \"radius\": 1000000, \"strokeColor\": \"#FF0000\"}\n];\nGmaps4Rails.create_circles();\nGmaps4Rails.polygons = [[\n{\"longitude\": -80.190262, \"latitude\": 25.774252},\n{\"longitude\": -66.118292, \"latitude\": 18.466465},\n{\"longitude\": -64.75737, \"latitude\": 32.321384}\n]];\nGmaps4Rails.create_polygons();\nGmaps4Rails.markers = [{ \"description\": \"\", \"title\": \"\", \"longitude\": \"5.9311119\", \"latitude\": \"43.1251606\", \"picture\": \"\", \"width\": \"\", \"height\": \"\" } ,{ \"description\": \"\", \"title\": \"\", \"longitude\": \"2.3509871\", \"latitude\": \"48.8566667\", \"picture\": \"\", \"width\": \"\", \"height\": \"\" } ];\nGmaps4Rails.create_markers();\nGmaps4Rails.direction_conf.origin = 'toulon, france';\nGmaps4Rails.direction_conf.destination = 'paris, france';\nGmaps4Rails.direction_conf.display_panel = true;\nGmaps4Rails.direction_conf.panel_id = 'instructions';\nGmaps4Rails.direction_conf.travelMode = 'DRIVING';\nGmaps4Rails.direction_conf.waypoints = [{\"stopover\":true,\"location\":\"toulouse, france\"},{\"stopover\":true,\"location\":\"brest, france\"}];\nGmaps4Rails.create_direction();"
|
49
49
|
end
|
50
50
|
|
51
51
|
it "should add map settings when 'true' passed" do
|
@@ -77,7 +77,7 @@ describe "JS creation from hash" do
|
|
77
77
|
"options" => {"waypoints" => ["toulouse, france", "brest, france"], "travelMode" => "DRIVING", "display_panel" => true, "panel_id" => "instructions"}
|
78
78
|
}
|
79
79
|
}
|
80
|
-
options_hash.to_gmaps4rails(true).should == "Gmaps4Rails.map_options.center_longitude = 180;\nGmaps4Rails.map_options.type = 'SATELLITE';\nGmaps4Rails.map_options.zoom = 3;\nGmaps4Rails.initialize();\nGmaps4Rails.polylines = [[\n{\"longitude\": -122.214897, \"latitude\": 37.772323},\n{\"longitude\": -157.821856, \"latitude\": 21.291982},\n{\"longitude\": 178.431, \"latitude\": -18.142599},\n{\"longitude\": 153.027892, \"latitude\": -27.46758}\n],\n[\n{\"longitude\": -120.214897, \"latitude\": 30.772323, \"strokeColor\": \"#000\", \"strokeWeight\" : 2 },\n{\"longitude\": -10.821856, \"latitude\": 50.291982}\n]];\nGmaps4Rails.create_polylines();\nGmaps4Rails.circles = [\n{\"longitude\": -122.214897, \"latitude\": 37.772323, \"radius\": 1000000},\n{\"longitude\": 122.214897, \"latitude\": 37.772323, \"radius\": 1000000, \"strokeColor\": \"#FF0000\"}\n];\nGmaps4Rails.create_circles();\nGmaps4Rails.polygons = [[\n{\"longitude\": -80.190262, \"latitude\": 25.774252},\n{\"longitude\": -66.118292, \"latitude\": 18.466465},\n{\"longitude\": -64.75737, \"latitude\": 32.321384}\n]];\nGmaps4Rails.create_polygons();\nGmaps4Rails.markers = [{ \"description\": \"\", \"title\": \"\", \"longitude\": \"5.9311119\", \"latitude\": \"43.1251606\", \"picture\": \"\", \"width\": \"\", \"height\": \"\" } ,{ \"description\": \"\", \"title\": \"\", \"longitude\": \"2.3509871\", \"latitude\": \"48.8566667\", \"picture\": \"\", \"width\": \"\", \"height\": \"\" } ];\nGmaps4Rails.create_markers();\nGmaps4Rails.direction_conf.origin = 'toulon, france';\nGmaps4Rails.direction_conf.destination = 'paris, france';\nGmaps4Rails.direction_conf.display_panel =
|
80
|
+
options_hash.to_gmaps4rails(true).should == "Gmaps4Rails.map_options.center_longitude = 180;\nGmaps4Rails.map_options.type = 'SATELLITE';\nGmaps4Rails.map_options.zoom = 3;\nGmaps4Rails.initialize();\nGmaps4Rails.polylines = [[\n{\"longitude\": -122.214897, \"latitude\": 37.772323},\n{\"longitude\": -157.821856, \"latitude\": 21.291982},\n{\"longitude\": 178.431, \"latitude\": -18.142599},\n{\"longitude\": 153.027892, \"latitude\": -27.46758}\n],\n[\n{\"longitude\": -120.214897, \"latitude\": 30.772323, \"strokeColor\": \"#000\", \"strokeWeight\" : 2 },\n{\"longitude\": -10.821856, \"latitude\": 50.291982}\n]];\nGmaps4Rails.create_polylines();\nGmaps4Rails.circles = [\n{\"longitude\": -122.214897, \"latitude\": 37.772323, \"radius\": 1000000},\n{\"longitude\": 122.214897, \"latitude\": 37.772323, \"radius\": 1000000, \"strokeColor\": \"#FF0000\"}\n];\nGmaps4Rails.create_circles();\nGmaps4Rails.polygons = [[\n{\"longitude\": -80.190262, \"latitude\": 25.774252},\n{\"longitude\": -66.118292, \"latitude\": 18.466465},\n{\"longitude\": -64.75737, \"latitude\": 32.321384}\n]];\nGmaps4Rails.create_polygons();\nGmaps4Rails.markers = [{ \"description\": \"\", \"title\": \"\", \"longitude\": \"5.9311119\", \"latitude\": \"43.1251606\", \"picture\": \"\", \"width\": \"\", \"height\": \"\" } ,{ \"description\": \"\", \"title\": \"\", \"longitude\": \"2.3509871\", \"latitude\": \"48.8566667\", \"picture\": \"\", \"width\": \"\", \"height\": \"\" } ];\nGmaps4Rails.create_markers();\nGmaps4Rails.direction_conf.origin = 'toulon, france';\nGmaps4Rails.direction_conf.destination = 'paris, france';\nGmaps4Rails.direction_conf.display_panel = true;\nGmaps4Rails.direction_conf.panel_id = 'instructions';\nGmaps4Rails.direction_conf.travelMode = 'DRIVING';\nGmaps4Rails.direction_conf.waypoints = [{\"stopover\":true,\"location\":\"toulouse, france\"},{\"stopover\":true,\"location\":\"brest, france\"}];\nGmaps4Rails.create_direction();"
|
81
81
|
end
|
82
82
|
end
|
83
83
|
|
@@ -0,0 +1,20 @@
|
|
1
|
+
Factory.define :user do |f|
|
2
|
+
f.name "me"
|
3
|
+
f.address "Toulon, France"
|
4
|
+
end
|
5
|
+
|
6
|
+
Factory.define :user_paris, :parent => :user do |f|
|
7
|
+
f.name "me"
|
8
|
+
f.address "Paris, France"
|
9
|
+
end
|
10
|
+
|
11
|
+
Factory.define :user_with_pic, :parent => :user do |f|
|
12
|
+
f.name "me"
|
13
|
+
f.address "Toulon, France"
|
14
|
+
f.picture "http://www.blankdots.com/img/github-32x32.png"
|
15
|
+
end
|
16
|
+
|
17
|
+
Factory.define :invalid_user, :parent => :user do |f|
|
18
|
+
f.name "me"
|
19
|
+
f.address "home"
|
20
|
+
end
|
@@ -4,7 +4,7 @@ describe "Acts as gmappable" do
|
|
4
4
|
|
5
5
|
describe "standard configuration, valid user" do
|
6
6
|
before(:each) do
|
7
|
-
@user =
|
7
|
+
@user = Factory(:user)
|
8
8
|
end
|
9
9
|
|
10
10
|
it "should have a geocoded position" do
|
@@ -17,7 +17,7 @@ describe "Acts as gmappable" do
|
|
17
17
|
end
|
18
18
|
|
19
19
|
it "should render a valid json from an array of ojects" do
|
20
|
-
@user2 =
|
20
|
+
@user2 = Factory(:user_paris)
|
21
21
|
User.all.to_gmaps4rails.should == "[{\n\"description\": \"\", \"title\": \"\",\n\"longitude\": \"5.9311119\", \"latitude\": \"43.1251606\", \"picture\": \"\", \"width\": \"\", \"height\": \"\"\n} ,{\n\"description\": \"\", \"title\": \"\",\n\"longitude\": \"2.3509871\", \"latitude\": \"48.8566667\", \"picture\": \"\", \"width\": \"\", \"height\": \"\"\n} ]"
|
22
22
|
end
|
23
23
|
|
@@ -44,7 +44,7 @@ describe "Acts as gmappable" do
|
|
44
44
|
|
45
45
|
describe "standard configuration, invalid address" do
|
46
46
|
before(:each) do
|
47
|
-
@user =
|
47
|
+
@user = Factory.build(:invalid_user)
|
48
48
|
end
|
49
49
|
|
50
50
|
it "should raise an error if validation option is turned on and address incorrect" do
|
@@ -75,7 +75,7 @@ describe "Acts as gmappable" do
|
|
75
75
|
}
|
76
76
|
end
|
77
77
|
end
|
78
|
-
@user =
|
78
|
+
@user = Factory.build(:invalid_user)
|
79
79
|
@user.should_not be_valid, "Custom Address invalid"
|
80
80
|
end
|
81
81
|
|
@@ -92,7 +92,7 @@ describe "Acts as gmappable" do
|
|
92
92
|
}
|
93
93
|
end
|
94
94
|
end
|
95
|
-
@user =
|
95
|
+
@user = Factory.build(:invalid_user)
|
96
96
|
@user.should be_valid
|
97
97
|
end
|
98
98
|
|
@@ -109,7 +109,7 @@ describe "Acts as gmappable" do
|
|
109
109
|
}
|
110
110
|
end
|
111
111
|
end
|
112
|
-
@user =
|
112
|
+
@user = Factory(:user)
|
113
113
|
@user.lat_test.should == 43.1251606
|
114
114
|
@user.long_test.should == 5.9311119
|
115
115
|
@user.longitude.should == nil
|
@@ -130,10 +130,30 @@ describe "Acts as gmappable" do
|
|
130
130
|
}
|
131
131
|
end
|
132
132
|
end
|
133
|
-
@user =
|
133
|
+
@user = Factory(:user)
|
134
134
|
@user.gmaps.should == nil
|
135
135
|
end
|
136
136
|
|
137
|
+
it "should geocode after each save if 'check_process' is false" do
|
138
|
+
User.class_eval do
|
139
|
+
def gmaps4rails_options
|
140
|
+
{
|
141
|
+
:lat_column => "latitude",
|
142
|
+
:lng_column => "longitude",
|
143
|
+
:check_process => false,
|
144
|
+
:checker => "gmaps",
|
145
|
+
:msg => "Address invalid",
|
146
|
+
:validation => true
|
147
|
+
}
|
148
|
+
end
|
149
|
+
end
|
150
|
+
@user = Factory(:user)
|
151
|
+
@user.address = "paris, France"
|
152
|
+
@user.save
|
153
|
+
@user.latitude.should == 48.8566667
|
154
|
+
@user.longitude.should == 2.3509871
|
155
|
+
end
|
156
|
+
|
137
157
|
it "should save to the proper boolean checker set in checker" do
|
138
158
|
User.class_eval do
|
139
159
|
def gmaps4rails_options
|
@@ -147,7 +167,7 @@ describe "Acts as gmappable" do
|
|
147
167
|
}
|
148
168
|
end
|
149
169
|
end
|
150
|
-
@user =
|
170
|
+
@user = Factory(:user)
|
151
171
|
@user.gmaps.should == nil
|
152
172
|
@user.bool_test.should == true
|
153
173
|
end
|
@@ -158,7 +178,7 @@ describe "Acts as gmappable" do
|
|
158
178
|
"My Beautiful Picture: #{picture}"
|
159
179
|
end
|
160
180
|
end
|
161
|
-
@user =
|
181
|
+
@user = Factory(:user_with_pic)
|
162
182
|
@user.to_gmaps4rails.should == "[{\n\"description\": \"My Beautiful Picture: http://www.blankdots.com/img/github-32x32.png\", \"title\": \"\",\n\"longitude\": \"5.9311119\", \"latitude\": \"43.1251606\", \"picture\": \"\", \"width\": \"\", \"height\": \"\"\n} ]"
|
163
183
|
end
|
164
184
|
|
@@ -175,7 +195,7 @@ describe "Acts as gmappable" do
|
|
175
195
|
}
|
176
196
|
end
|
177
197
|
end
|
178
|
-
@user =
|
198
|
+
@user = Factory(:user)
|
179
199
|
@user.to_gmaps4rails.should == "[{\n\"description\": \"\", \"title\": \"\",\n\"longitude\": \"5.9311119\", \"latitude\": \"43.1251606\", \"picture\": \"http://www.blankdots.com/img/github-32x32.png\", \"width\": \"32\", \"height\": \"32\"\n} ]"
|
180
200
|
end
|
181
201
|
|
@@ -185,7 +205,7 @@ describe "Acts as gmappable" do
|
|
185
205
|
"Sweet Title"
|
186
206
|
end
|
187
207
|
end
|
188
|
-
@user =
|
208
|
+
@user = Factory(:user)
|
189
209
|
@user.to_gmaps4rails.should == "[{\n\"description\": \"\", \"title\": \"Sweet Title\",\n\"longitude\": \"5.9311119\", \"latitude\": \"43.1251606\", \"picture\": \"http://www.blankdots.com/img/github-32x32.png\", \"width\": \"32\", \"height\": \"32\"\n} ]"
|
190
210
|
end
|
191
211
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gmaps4rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 13
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 6
|
9
|
-
-
|
10
|
-
version: 0.6.
|
9
|
+
- 5
|
10
|
+
version: 0.6.5
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Benjamin Roth
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2011-03-
|
19
|
+
date: 2011-03-23 00:00:00 +01:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -86,6 +86,7 @@ files:
|
|
86
86
|
- test/dummy/db/seeds.rb
|
87
87
|
- test/dummy/spec/base/base_spec.rb
|
88
88
|
- test/dummy/spec/controllers/users_controller_spec.rb
|
89
|
+
- test/dummy/spec/factories.rb
|
89
90
|
- test/dummy/spec/models/user_spec.rb
|
90
91
|
- test/dummy/spec/spec_helper.rb
|
91
92
|
has_rdoc: true
|
@@ -146,5 +147,6 @@ test_files:
|
|
146
147
|
- test/dummy/db/seeds.rb
|
147
148
|
- test/dummy/spec/base/base_spec.rb
|
148
149
|
- test/dummy/spec/controllers/users_controller_spec.rb
|
150
|
+
- test/dummy/spec/factories.rb
|
149
151
|
- test/dummy/spec/models/user_spec.rb
|
150
152
|
- test/dummy/spec/spec_helper.rb
|