Class: Decidim::Generators::DockerGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Decidim::Generators::DockerGenerator
- Defined in:
- lib/generators/decidim/docker_generator.rb
Overview
Generates a development Rails app that works with Docker.
Instance Method Summary collapse
- #after_install ⇒ Object
- #build_docker ⇒ Object
- #cleanup ⇒ Object
- #create_rails_app ⇒ Object
- #source_paths ⇒ Object
Instance Method Details
#after_install ⇒ Object
45 46 47 48 49 |
# File 'lib/generators/decidim/docker_generator.rb', line 45 def after_install puts "Docker development app generated! To start the app just run:" puts "cd docker_development_app && docker-compose up" puts "Open the app at http://localhost:3000" end |
#build_docker ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/generators/decidim/docker_generator.rb', line 31 def build_docker remove_file "#{path}/Dockerfile" template "Dockerfile.dev.erb", "#{path}/Dockerfile" inside(path) do gsub_file "Gemfile", /gem "decidim(.*)"/, 'gem "decidim", path: "/decidim"' run "rails generate decidim:demo" run "docker-compose build" run "docker-compose run --rm app rake db:drop db:create db:migrate db:setup" end end |
#cleanup ⇒ Object
23 24 25 |
# File 'lib/generators/decidim/docker_generator.rb', line 23 def cleanup remove_directory_if_exists end |
#create_rails_app ⇒ Object
27 28 29 |
# File 'lib/generators/decidim/docker_generator.rb', line 27 def create_rails_app Decidim::Generators::AppGenerator.start([path]) end |
#source_paths ⇒ Object
17 18 19 20 21 |
# File 'lib/generators/decidim/docker_generator.rb', line 17 def source_paths [ File.("templates", __dir__) ] end |