Class: Model::GmapsGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/model/gmaps/gmaps_generator.rb

Instance Method Summary collapse

Instance Method Details

#copy_initializer_fileObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/generators/model/gmaps/gmaps_generator.rb', line 6

def copy_initializer_file
  @app_name = file_name
  inject_into_file "app/assets/javascripts/application.js", after: "//= require jquery_ujs" do
"\n//= require gmaps4rails/gmaps4rails.base\n//= require gmaps4rails/gmaps4rails.googlemaps\n"
  end
  inject_into_file "app/models/#{file_name}.rb", after: "ActiveRecord::Base" do
"\n  geocoded_by :address\n  after_validation :geocode\n  def address\n\"\\\#{logradouro}, \\\#{numero}, \\\#{bairro}, \\\#{cidade.try(:cidade_estado)}\"\n  end\n"
  end
  gem 'geocoder'
  gem 'gmaps4rails', "1.5.6"
  Bundler.with_clean_env do
    run "bundle install"
    run "rails generate migration add_latitude_and_longitude_to_#{@app_name.pluralize} latitude:float longitude:float"
    run "rake db:migrate"
  end
end