AgileVentures/LocalSupport — pull request #19 by johnnymo87 (2014-04-06 18:11:27+00:00)
Title: Map / Geocoding backend overhaul

**Summary:** `gmaps4rails` gem removed. Geocoding now done by `geocoder` gem, interaction with google maps API now handled directly with javascript.

*Note: the map and its contents are not present in the DOM, and thus nothing about its behaviour can be tested by cucumber / capybara. I removed cucumber steps if they made misleading assertions to the contrary.*

*Note: I tried to restrain myself from style-tweaks as I worked, but there are some present in this PR. I will submit the rest in a separate PR.*

**Change log:**
* `.gitignore` now includes floobits files
* `gmaps4rails` removed from `Gemfile`, `geocoder` added
* `application.js` includes global namespace variable `LocalSupport`
* `google_maps.js` handles interaction with google maps API
* `map.css.scss` sets CSS for the div for the map
* Organization controller
* methods no longer include `@json` instance variable
* private method `gmap4rails_with_popup_partial` deleted
* Organization model
* added necessary settings for `geocoder` gem
* deleted methods: `acts_as_gmappable`, `run_validations!`, `gmaps4rails_infowindow`, `remove_errors_with_address`, and `generate_potential_user` (unrelated)
* *style:* changed spacing and ordering of settings at top of file
* *style:* added and removed comments
* *style:* class variable `column_mappings` collapsed into self-same class variable, references updated
* `application.html.erb` now requires the google maps API scripts directly
* `two_columns.html.erb` now directly handles the map rather than yielding to another partial (code now less complex, doesn't warrant the separation)
* Organization views
* have a `javascript_tag` to make organization info available to our google maps scripts
* this has exposed an issue where "private" information is available publicly should someone view the page source code. We should have the controllers sanitize the organization info before sending it.
* no longer have `content_for :map` blocks
* removed all cucumber steps and step definitions that pretend to test the contents of the map, as this is impossible
* removed the custom `jasmine.rake` task, as we no longer need it to handle the conflict between jasmine and the old Gmaps4Rails code
* all specs updated to test new logic. Specs deleted where tested code was removed. Some style tweaks.
* Special stub added to block real geocoding from happening
* new jasmine spec