Class: Mapfish::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/mapfish/install/install_generator.rb

Instance Method Summary collapse

Instance Method Details

#add_environment_configObject



73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/generators/mapfish/install/install_generator.rb', line 73

def add_environment_config
  env_config = %Q{
#Parts for building a Mapserver URL
# Example: http://localhost/cgi-bin/mapserv.fcgi?map=#{Rails.root}/mapconfig/#{options["default-site-name"]}/naturalearth.map)
MAPSERV_SERVER = 'http://localhost' #nil for current application server
MAPSERV_URL = '/cgi-bin/mapserv.fcgi'
MAPSERV_CGI_URL = '/cgi-bin/mapserv'
MAPPATH = '#{Rails.root}/mapconfig'

#Internal URL of print servlet (nil: print-standalone)
PRINT_URL = nil #'http://localhost:8080/print-servlet-1.1/pdf/print.pdf'
}
  %w[development test production].each do |env|
    append_to_file("config/environments/#{env}.rb", env_config)
  end
end

#add_geodatabase_configObject



10
11
12
13
14
15
16
17
18
# File 'lib/generators/mapfish/install/install_generator.rb', line 10

def add_geodatabase_config
  path = "#{Rails.root}/config/geodatabase.yml"
  if File.exists?(path)
    puts "Skipping config/geodatabase.yml creation, as file already exists!"
  else
    puts "Adding sample geodatabase config (config/geodatabase.yml)..."
    template "geodatabase.yml", path
  end
end

#add_mapfish_initializerObject



49
50
51
52
53
54
55
56
57
# File 'lib/generators/mapfish/install/install_generator.rb', line 49

def add_mapfish_initializer
  path = "#{Rails.root}/config/initializers/mapfish.rb"
  if File.exists?(path)
    puts "Skipping config/initializers/mapfish.rb creation, as file already exists!"
  else
    puts "Adding mapfish initializer (config/initializers/mapfish.rb)..."
    template "initializer.rb", path
  end
end

#add_print_config_templateObject



90
91
92
# File 'lib/generators/mapfish/install/install_generator.rb', line 90

def add_print_config_template
  template "print.yml", "config/print.yml"
end

#add_query_header_templateObject



103
104
105
# File 'lib/generators/mapfish/install/install_generator.rb', line 103

def add_query_header_template
  create_file "app/views/topisc/_query_header.html.erb", ""
end

#add_search_rules_initializerObject



59
60
61
62
63
64
65
66
67
# File 'lib/generators/mapfish/install/install_generator.rb', line 59

def add_search_rules_initializer
  path = "#{Rails.root}/config/initializers/search_rules.rb"
  if File.exists?(path)
    puts "Skipping config/initializers/search_rules.rb creation, as file already exists!"
  else
    puts "Adding search_rules initializer (config/initializers/search_rules.rb)..."
    template "search_rules.rb", path
  end
end

#copy_map_templatesObject



98
99
100
101
# File 'lib/generators/mapfish/install/install_generator.rb', line 98

def copy_map_templates
  puts "Copying templates for map import..."
  directory "../../../../../lib/tasks/templates", "lib/tasks/templates", :verbose => false
end

#install_migrationsObject



20
21
22
23
24
25
# File 'lib/generators/mapfish/install/install_generator.rb', line 20

def install_migrations
  puts "Copying over migrations..."
  Dir.chdir(Rails.root) do
    `rake mapfish:install:migrations`
  end
end

#rm_application_controllerObject



69
70
71
# File 'lib/generators/mapfish/install/install_generator.rb', line 69

def rm_application_controller
  remove_file "#{Rails.root}/app/controllers/application_controller.rb"
end

#run_migrationsObject



27
28
29
30
31
32
# File 'lib/generators/mapfish/install/install_generator.rb', line 27

def run_migrations
  unless options["no-migrate"]
    puts "Running rake db:migrate"
    `rake db:migrate`
  end
end

#seed_databaseObject



34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/generators/mapfish/install/install_generator.rb', line 34

def seed_database
  unless options["no-migrate"]
    puts "Creating admin user and default site"
    ENV['DEFAULT_SITE'] = options["default-site-name"]
    ENV['ADMIN_PWD'] = SecureRandom.hex(4)
    begin
      GbMapfishAppserver::Engine.load_seed
      puts "Generated user for administraton"
      puts "User: 'admin' - Password: '#{ENV['ADMIN_PWD']}'"
    rescue
      puts "Couldn't load seed data - already done?"
    end
  end
end

#setup_mapconfigObject



94
95
96
# File 'lib/generators/mapfish/install/install_generator.rb', line 94

def setup_mapconfig
  empty_directory "mapconfig/#{options["default-site-name"]}"
end