Class: CensusShapes::Generators::SetupGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- CensusShapes::Generators::SetupGenerator
- Includes:
- Rails::Generators::Migration
- Defined in:
- lib/generators/census_shapes/setup/setup_generator.rb
Class Method Summary collapse
Instance Method Summary collapse
- #add_controller ⇒ Object
- #add_gems ⇒ Object
- #add_geographies_route ⇒ Object
- #add_model ⇒ Object
- #add_views ⇒ Object
- #copy_files ⇒ Object
- #remove_public_index ⇒ Object
Class Method Details
.next_migration_number(path) ⇒ Object
24 25 26 27 28 29 30 31 |
# File 'lib/generators/census_shapes/setup/setup_generator.rb', line 24 def self.next_migration_number(path) unless @prev_migration_nr @prev_migration_nr = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i else @prev_migration_nr += 1 end @prev_migration_nr.to_s end |
Instance Method Details
#add_controller ⇒ Object
60 61 62 63 64 65 66 |
# File 'lib/generators/census_shapes/setup/setup_generator.rb', line 60 def add_controller if .controller copy_file "controllers/shapes_controller.rb", "app/controllers/#{controller_name}_controller.rb" gsub_file "app/controllers/#{controller_name.underscore}_controller.rb", "CONTROLLER_NAME", controller_name.camelcase gsub_file "app/controllers/#{controller_name.underscore}_controller.rb", "MODEL_NAME", model_name end end |
#add_gems ⇒ Object
18 19 20 21 |
# File 'lib/generators/census_shapes/setup/setup_generator.rb', line 18 def add_gems gem("pg") gem("postgis_adapter") end |
#add_geographies_route ⇒ Object
45 46 47 48 49 50 51 |
# File 'lib/generators/census_shapes/setup/setup_generator.rb', line 45 def add_geographies_route if .route route("resources :#{model_name}") route("match ':type/:z/:x/:y.:format'=> '#{controller_name}#index', :requirements => {:z => /-?\d+(\.\d+)/, :x => /-?\d+(\.\d+)/, :y => /-?\d+(\.\d+)/ }") route("root :to => '#{controller_name}#index'") end end |
#add_model ⇒ Object
53 54 55 56 57 58 |
# File 'lib/generators/census_shapes/setup/setup_generator.rb', line 53 def add_model if .model copy_file "models/shape.rb", "app/models/#{model_name}.rb" gsub_file "app/models/#{model_name}.rb", "MODEL_NAME", model_name end end |
#add_views ⇒ Object
68 69 70 71 72 73 74 75 76 |
# File 'lib/generators/census_shapes/setup/setup_generator.rb', line 68 def add_views if .view copy_file "views/layouts/shapes.html.erb", "app/views/layouts/#{controller_name.underscore}.html.erb" directory "views/shapes", "app/views/#{controller_name.underscore}" gsub_file "app/views/#{controller_name.underscore}/index.html.erb", "MODEL_NAME", model_name gsub_file "app/views/#{controller_name.underscore}/index.html.erb", "MODEL_DOWNCASE", model_name.downcase gsub_file "app/views/#{controller_name.underscore}/index.html.erb", "CONTROLLER_NAME", controller_name end end |
#copy_files ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/generators/census_shapes/setup/setup_generator.rb', line 33 def copy_files migration_template "db/migrate/create_shapes.rb", "db/migrate/create_#{controller_name}.rb", {:controller_name => controller_name } copy_file "config/database_example.yml", "config/database_example.yml" copy_file "lib/tasks/postgis_template.rake", "lib/tasks/postgis_template.rake" copy_file "lib/tasks/census_shapes.rake", "lib/tasks/census_shapes.rake" gsub_file "lib/tasks/census_shapes.rake", "CONTROLLER_NAME", controller_name copy_file "lib/yaml/us_shapes.yml", "lib/yaml/us_shapes.yml" copy_file "lib/yaml/us_states.yml", "lib/yaml/us_states.yml" copy_file "config/initializers/shapes_globals.rb", "config/initializers/#{controller_name}_globals.rb" gsub_file "config/initializers/#{controller_name}_globals.rb", "MODEL_NAME", model_name end |
#remove_public_index ⇒ Object
78 79 80 |
# File 'lib/generators/census_shapes/setup/setup_generator.rb', line 78 def remove_public_index `rm public/index.html` end |