campfire_logic 1.1.9 → 1.1.10

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/Gemfile CHANGED
@@ -3,9 +3,9 @@ source 'http://rubygems.org'
3
3
  gem 'bson_ext'
4
4
  gem 'fastercsv'
5
5
  gem 'google_maps_geocoder'
6
- gem 'mongoid', '< 2.4'
6
+ gem 'mongoid'
7
7
  gem 'mongoid-tree'
8
- gem 'rails', '~> 3.1'
8
+ gem 'rails', '~> 3.0.0'
9
9
  gem 'scaffold_logic'
10
10
  gem 'stateflow'
11
11
  gem 'stringex'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.9
1
+ 1.1.10
data/app/models/locale.rb CHANGED
@@ -24,6 +24,7 @@ class Locale
24
24
  # Scopes =========================================================================================
25
25
  scope :canada, :where => {:name => 'Canada'}
26
26
  scope :cities, :where => {:kind => 'city' }
27
+ scope :countries, :where => {:kind => 'country'}
27
28
  scope :locations, :where => {:kind => 'location'}
28
29
  scope :states, :where => {:kind => 'state'}
29
30
  scope :us, :where => {:name => 'United States'}
@@ -25,7 +25,7 @@
25
25
  <script type="text/javascript">
26
26
  initializeMap();
27
27
 
28
- $('search-form').addEventListener('submit', function (e) {
29
- window.location = '<%= directory_search_root_url -%>/' + $('search-input').value;
28
+ $('#search-form')[0].addEventListener('submit', function (e) {
29
+ window.location = '<%= directory_search_root_url -%>/' + $('#search-input')[0].value;
30
30
  }, false);
31
31
  </script>
@@ -24,9 +24,9 @@
24
24
  initializeMap();
25
25
 
26
26
  // change search-form's action so its query string can be converted to a URL
27
- $('search-form').action = 'javascript:return(false);';
27
+ $('#search-form')[0].action = 'javascript:return(false);';
28
28
 
29
- $('search-form').addEventListener('submit', function (e) {
30
- window.location = '<%= directory_search_root_url -%>/' + $('search-input').value;
29
+ $('#search-form')[0].addEventListener('submit', function (e) {
30
+ window.location = '<%= directory_search_root_url -%>/' + $('#search-input')[0].value;
31
31
  }, false);
32
32
  </script>
@@ -1,2 +1,79 @@
1
- <%# requires local variables: locations AND place; Adapted from http://code.google.com/apis/maps/documentation/javascript/examples/icon-complex.html -%><script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script><script type="text/javascript"> //<![CDATA[
2
- var directionsDisplay = new google.maps.DirectionsRenderer(); var directionsService = new google.maps.DirectionsService(); var locations = [ <%- if place && place.location? && place.geocoded? -%> <%= raw "['#{h(escape_javascript place.location.name)}', #{place.lat_lng[0]}, #{place.lat_lng[1]}, '#{h(escape_javascript place.location.name)}<br />#{h(escape_javascript place.location.address1)}<br />#{h(escape_javascript place.location.city)}, #{h(escape_javascript place.location.state)} #{h(escape_javascript place.location.zip)}<br /><br />Directions: <a href=\"javascript:showDirectionsTo(0)\">To here<\/a> / <a href=\"javascript:showDirectionsFrom(0)\">From here<\/a>']" -%> <%- else -%> <%= raw locations.select{ |l| l.geocoded? }.inject([]) { |a, l| i = a.size; a << "['#{h(escape_javascript l.name)}', #{l.lat_lng[0]}, #{l.lat_lng[1]}, '#{link_to h(escape_javascript l.name), l.locale.to_url}<br />#{h(escape_javascript l.address1)}<br />#{h(escape_javascript l.city)}, #{h(escape_javascript l.state)} #{h(escape_javascript l.zip)}<br /><br />Directions: <a href=\"javascript:showDirectionsTo(#{i})\">To here<\/a> / <a href=\"javascript:showDirectionsFrom(#{i})\">From here<\/a>']"; a } * ",\r" -%> <%- end -%> ]; var map; var markers = []; var openWindow; function initializeMap() { var myOptions = { zoom: <%= place && place.zoom_level || 4 -%>, <%- if place && place.geocoded? -%> center: new google.maps.LatLng(<%= place.lat_lng[0] -%>, <%= place.lat_lng[1] -%>), <%- elsif place && place.parent && place.parent.geocoded? -%> center: new google.maps.LatLng(<%= place.parent.lat_lng[0] -%>, <%= place.parent.lat_lng[1] -%>), <%- else -%> center: new google.maps.LatLng(37.09024, -95.712891), <%- end -%> mapTypeId: google.maps.MapTypeId.ROADMAP }; map = new google.maps.Map(document.getElementById('map_canvas'), myOptions); directionsDisplay.setMap(map); directionsDisplay.setPanel($('directions_panel')); for (var i = 0; i < locations.length; i++) { markers[i] = new google.maps.Marker({ position: new google.maps.LatLng(locations[i][1], locations[i][2]), map: map }); attachBalloon(i, locations[i][3]); } } function attachBalloon(i, content) { google.maps.event.addListener(markers[i], 'click', function() { if (openWindow != undefined) { openWindow.close(); } openWindow = new google.maps.InfoWindow( {content: '<div class=\"map-balloon\" id=\"open-balloon\">' + content + '</div>'} ); openWindow.open(map, markers[i]); $('open-balloon').parentNode.style.overflow = 'visible'; }); } function calcRoute(start, end) { var request = { origin: start, destination: end, travelMode: google.maps.DirectionsTravelMode.DRIVING }; directionsService.route(request, function(response, status) { if (status == google.maps.DirectionsStatus.OK) { directionsDisplay.setDirections(response); openWindow.close(); } }); } function showAddress(i) { $('open-balloon').innerHTML = locations[i][3]; } function showDirectionsFrom(i) { $('open-balloon').innerHTML = 'Directions to:<form action="javascript:calcRoute(\'' + locations[i][1] + ' ' + locations[i][2] + '\', $(\'directions-input\').value)"><input type="text" maxlength="40" name="directions-input" id="directions-input" style="width: 100%;" /><input value="Go" type="submit" /><input value="Cancel" type="button" onclick="showAddress(' + i + ')" /></form>'; } function showDirectionsTo(i) { $('open-balloon').innerHTML = 'Directions from:<form action="javascript:calcRoute($(\'directions-input\').value, \'' + locations[i][1] + ' ' + locations[i][2] + '\')"><input type="text" maxlength="40" name="directions-input" id="directions-input" style="width: 100%;" /><input value="Go" type="submit" /><input value="Cancel" type="button" onclick="showAddress(' + i + ')" /></form>'; } //]]></script>
1
+ <%# requires local variables: locations AND place; Adapted from http://code.google.com/apis/maps/documentation/javascript/examples/icon-complex.html -%>
2
+ <script src="http://maps.google.com/maps/api/js?sensor=false"></script>
3
+ <script>
4
+ var directionsDisplay = new google.maps.DirectionsRenderer();
5
+ var directionsService = new google.maps.DirectionsService();
6
+ var locations = [
7
+ <%- if place && place.location? && place.geocoded? -%>
8
+ <%= raw "['#{h(escape_javascript place.location.name)}', #{place.lat_lng[0]}, #{place.lat_lng[1]}, '#{h(escape_javascript place.location.name)}<br />#{h(escape_javascript place.location.address1)}<br />#{h(escape_javascript place.location.city)}, #{h(escape_javascript place.location.state)} #{h(escape_javascript place.location.zip)}<br /><br />Directions: <a href=\"javascript:showDirectionsTo(0)\">To here<\/a> / <a href=\"javascript:showDirectionsFrom(0)\">From here<\/a>']" -%>
9
+ <%- else -%>
10
+ <%= raw locations.select{ |l| l.geocoded? }.inject([]) { |a, l| i = a.size; a << "['#{h(escape_javascript l.name)}', #{l.lat_lng[0]}, #{l.lat_lng[1]}, '#{link_to h(escape_javascript l.name), l.locale.to_url}<br />#{h(escape_javascript l.address1)}<br />#{h(escape_javascript l.city)}, #{h(escape_javascript l.state)} #{h(escape_javascript l.zip)}<br /><br />Directions: <a href=\"javascript:showDirectionsTo(#{i})\">To here<\/a> / <a href=\"javascript:showDirectionsFrom(#{i})\">From here<\/a>']"; a } * ",\r" -%>
11
+ <%- end -%>
12
+ ];
13
+ var map;
14
+ var markers = [];
15
+ var openWindow;
16
+
17
+ function initializeMap() {
18
+ var myOptions = {
19
+ zoom: <%= place && place.zoom_level || 4 -%>,
20
+ <%- if place && place.geocoded? -%>
21
+ center: new google.maps.LatLng(<%= place.lat_lng[0] -%>, <%= place.lat_lng[1] -%>),
22
+ <%- elsif place && place.parent && place.parent.geocoded? -%>
23
+ center: new google.maps.LatLng(<%= place.parent.lat_lng[0] -%>, <%= place.parent.lat_lng[1] -%>),
24
+ <%- else -%>
25
+ center: new google.maps.LatLng(37.09024, -95.712891),
26
+ <%- end -%>
27
+ mapTypeId: google.maps.MapTypeId.ROADMAP
28
+ };
29
+ map = new google.maps.Map(document.getElementById('map_canvas'), myOptions);
30
+ directionsDisplay.setMap(map);
31
+ directionsDisplay.setPanel($('#directions_panel')[0]);
32
+ for (var i = 0; i < locations.length; i++) {
33
+ markers[i] = new google.maps.Marker({
34
+ position: new google.maps.LatLng(locations[i][1], locations[i][2]),
35
+ map: map
36
+ });
37
+ attachBalloon(i, locations[i][3]);
38
+ }
39
+ }
40
+
41
+ function attachBalloon(i, content) {
42
+ google.maps.event.addListener(markers[i], 'click', function() {
43
+ if (openWindow != undefined) {
44
+ openWindow.close();
45
+ }
46
+ openWindow = new google.maps.InfoWindow({
47
+ content: '<div class=map-balloon id=open-balloon>' + content + '</div>'
48
+ });
49
+ openWindow.open(map, markers[i]);
50
+ $('#open-balloon')[0].parentNode.style.overflow = 'visible';
51
+ });
52
+ }
53
+
54
+ function calcRoute(start, end) {
55
+ var request = {
56
+ origin: start,
57
+ destination: end,
58
+ travelMode: google.maps.DirectionsTravelMode.DRIVING
59
+ };
60
+ directionsService.route(request, function(response, status) {
61
+ if (status == google.maps.DirectionsStatus.OK) {
62
+ directionsDisplay.setDirections(response);
63
+ openWindow.close();
64
+ }
65
+ });
66
+ }
67
+
68
+ function showAddress(i) {
69
+ $('#open-balloon')[0].innerHTML = locations[i][3];
70
+ }
71
+
72
+ function showDirectionsFrom(i) {
73
+ $('#open-balloon')[0].innerHTML = 'Directions to:<form action="javascript:calcRoute(\'' + locations[i][1] + ' ' + locations[i][2] + '\', $(\'#directions-input\')[0].value)"><input type=text maxlength=40 name=directions-input id=directions-input style="width: 100%;" /><input value=Go type=submit /><input value=Cancel type=button onclick="showAddress(' + i + ')" /></form>';
74
+ }
75
+
76
+ function showDirectionsTo(i) {
77
+ $('#open-balloon')[0].innerHTML = 'Directions from:<form action="javascript:calcRoute($(\'#directions-input\')[0].value, \'' + locations[i][1] + ' ' + locations[i][2] + '\')"><input type=text maxlength=40 name=directions-input id=directions-input style="width: 100%;" /><input value=Go type=submit /><input value=Cancel type=button onclick="showAddress(' + i + ')" /></form>';
78
+ }
79
+ </script>
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "campfire_logic"
8
- s.version = "1.1.9"
8
+ s.version = "1.1.10"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Roderick Monje"]
12
- s.date = "2012-01-12"
12
+ s.date = "2012-01-23"
13
13
  s.description = "Users can browse locations by country, city, and state and search locations by string or zip code. Administrators can manage locations and the services they offer."
14
14
  s.email = "rod@seologic.com"
15
15
  s.extra_rdoc_files = [
@@ -141,7 +141,7 @@ Gem::Specification.new do |s|
141
141
  ]
142
142
  s.homepage = "http://github.com/ivanoblomov/campfire_logic"
143
143
  s.require_paths = ["lib"]
144
- s.rubygems_version = "1.8.11"
144
+ s.rubygems_version = "1.8.10"
145
145
  s.summary = "Rails engine that adds a location directory to your web app"
146
146
 
147
147
  if s.respond_to? :specification_version then
@@ -151,9 +151,9 @@ Gem::Specification.new do |s|
151
151
  s.add_runtime_dependency(%q<bson_ext>, [">= 0"])
152
152
  s.add_runtime_dependency(%q<fastercsv>, [">= 0"])
153
153
  s.add_runtime_dependency(%q<google_maps_geocoder>, [">= 0"])
154
- s.add_runtime_dependency(%q<mongoid>, ["< 2.4"])
154
+ s.add_runtime_dependency(%q<mongoid>, [">= 0"])
155
155
  s.add_runtime_dependency(%q<mongoid-tree>, [">= 0"])
156
- s.add_runtime_dependency(%q<rails>, ["~> 3.1"])
156
+ s.add_runtime_dependency(%q<rails>, ["~> 3.0.0"])
157
157
  s.add_runtime_dependency(%q<scaffold_logic>, [">= 0"])
158
158
  s.add_runtime_dependency(%q<stateflow>, [">= 0"])
159
159
  s.add_runtime_dependency(%q<stringex>, [">= 0"])
@@ -163,9 +163,9 @@ Gem::Specification.new do |s|
163
163
  s.add_dependency(%q<bson_ext>, [">= 0"])
164
164
  s.add_dependency(%q<fastercsv>, [">= 0"])
165
165
  s.add_dependency(%q<google_maps_geocoder>, [">= 0"])
166
- s.add_dependency(%q<mongoid>, ["< 2.4"])
166
+ s.add_dependency(%q<mongoid>, [">= 0"])
167
167
  s.add_dependency(%q<mongoid-tree>, [">= 0"])
168
- s.add_dependency(%q<rails>, ["~> 3.1"])
168
+ s.add_dependency(%q<rails>, ["~> 3.0.0"])
169
169
  s.add_dependency(%q<scaffold_logic>, [">= 0"])
170
170
  s.add_dependency(%q<stateflow>, [">= 0"])
171
171
  s.add_dependency(%q<stringex>, [">= 0"])
@@ -176,9 +176,9 @@ Gem::Specification.new do |s|
176
176
  s.add_dependency(%q<bson_ext>, [">= 0"])
177
177
  s.add_dependency(%q<fastercsv>, [">= 0"])
178
178
  s.add_dependency(%q<google_maps_geocoder>, [">= 0"])
179
- s.add_dependency(%q<mongoid>, ["< 2.4"])
179
+ s.add_dependency(%q<mongoid>, [">= 0"])
180
180
  s.add_dependency(%q<mongoid-tree>, [">= 0"])
181
- s.add_dependency(%q<rails>, ["~> 3.1"])
181
+ s.add_dependency(%q<rails>, ["~> 3.0.0"])
182
182
  s.add_dependency(%q<scaffold_logic>, [">= 0"])
183
183
  s.add_dependency(%q<stateflow>, [">= 0"])
184
184
  s.add_dependency(%q<stringex>, [">= 0"])
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: campfire_logic
3
3
  version: !ruby/object:Gem::Version
4
- hash: 1
4
+ hash: 7
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 1
9
- - 9
10
- version: 1.1.9
9
+ - 10
10
+ version: 1.1.10
11
11
  platform: ruby
12
12
  authors:
13
13
  - Roderick Monje
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-01-12 00:00:00 Z
18
+ date: 2012-01-23 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: bson_ext
@@ -65,13 +65,12 @@ dependencies:
65
65
  requirement: &id004 !ruby/object:Gem::Requirement
66
66
  none: false
67
67
  requirements:
68
- - - <
68
+ - - ">="
69
69
  - !ruby/object:Gem::Version
70
- hash: 11
70
+ hash: 3
71
71
  segments:
72
- - 2
73
- - 4
74
- version: "2.4"
72
+ - 0
73
+ version: "0"
75
74
  type: :runtime
76
75
  version_requirements: *id004
77
76
  - !ruby/object:Gem::Dependency
@@ -96,11 +95,12 @@ dependencies:
96
95
  requirements:
97
96
  - - ~>
98
97
  - !ruby/object:Gem::Version
99
- hash: 5
98
+ hash: 7
100
99
  segments:
101
100
  - 3
102
- - 1
103
- version: "3.1"
101
+ - 0
102
+ - 0
103
+ version: 3.0.0
104
104
  type: :runtime
105
105
  version_requirements: *id006
106
106
  - !ruby/object:Gem::Dependency
@@ -335,7 +335,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
335
335
  requirements: []
336
336
 
337
337
  rubyforge_project:
338
- rubygems_version: 1.8.11
338
+ rubygems_version: 1.8.10
339
339
  signing_key:
340
340
  specification_version: 3
341
341
  summary: Rails engine that adds a location directory to your web app