roro 0.2.5 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +3 -9
- data/{docker/env_files/.keep → .keep} +0 -0
- data/Guardfile +6 -3
- data/lib/roro/cli.rb +1 -3
- data/lib/roro/cli/base/base.rb +7 -0
- data/lib/roro/cli/base/base_files.rb +30 -0
- data/lib/roro/cli/base/configuration.rb +118 -0
- data/lib/roro/cli/base/continuous_integration.rb +13 -0
- data/lib/roro/cli/base/insert_gems.rb +23 -0
- data/lib/roro/cli/base/insertions.rb +17 -0
- data/lib/roro/cli/base/utilities.rb +39 -0
- data/lib/roro/cli/generate_keys.rb +1 -1
- data/lib/roro/cli/greenfield.rb +19 -73
- data/lib/roro/cli/rollon.rb +30 -13
- data/lib/roro/cli/rollon/rollon_as_dockerize.rb +42 -0
- data/lib/roro/cli/rollon/rollon_as_quickstart.rb +17 -0
- data/lib/roro/cli/rollon/rollon_as_roro.rb +30 -0
- data/lib/roro/cli/rollon/stories.rb +3 -0
- data/lib/roro/cli/ruby_gem.rb +6 -0
- data/lib/roro/cli/templates/base/.dockerignore +51 -0
- data/{docker/keys → lib/roro/cli/templates/base}/.keep +0 -0
- data/{test_apps/dummy_roro/.circleci/config.yml → lib/roro/cli/templates/base/circleci/config.yml.tt} +7 -6
- data/lib/roro/cli/templates/{config/database.yml → base/config/database.yml.pg.tt} +0 -0
- data/lib/roro/cli/templates/base/docker-compose.yml.tt +53 -0
- data/lib/roro/cli/templates/base/livereload/hosts.example +7 -0
- data/{test_apps/dummy_roro/config/database.yml → lib/roro/cli/templates/base/pg/config/database.yml.pg.tt} +0 -0
- data/lib/roro/cli/templates/base/pg/database.yml.pg.tt +20 -0
- data/lib/roro/cli/templates/{docker/containers/database → base/roro}/.keep +0 -0
- data/lib/roro/cli/templates/{docker/env_files → base/roro/containers}/.keep +0 -0
- data/lib/roro/cli/templates/{docker/keys → base/roro/containers/app}/.keep +0 -0
- data/lib/roro/cli/templates/base/roro/containers/app/Dockerfile.tt +32 -0
- data/lib/roro/cli/templates/base/roro/containers/app/development.env.tt +1 -0
- data/lib/roro/cli/templates/base/roro/containers/app/docker-entrypoint.sh +8 -0
- data/lib/roro/cli/templates/base/roro/containers/app/test.env.tt +1 -0
- data/lib/roro/cli/templates/base/roro/containers/database/development.env.tt +4 -0
- data/lib/roro/cli/templates/base/roro/containers/database/test.env.tt +4 -0
- data/{test_apps/dummy/app/assets/images → lib/roro/cli/templates/base/roro/containers/frontend}/.keep +0 -0
- data/{test_apps/dummy/app/assets/javascripts/channels → lib/roro/cli/templates/dockerize/.env}/.keep +0 -0
- data/{test_apps/dummy/app/controllers/concerns → lib/roro/cli/templates/dockerize/.env/development}/.keep +0 -0
- data/lib/roro/cli/templates/dockerize/.env/development/database +3 -0
- data/lib/roro/cli/templates/dockerize/.env/development/web +1 -0
- data/{test_apps/dummy/app/models/concerns → lib/roro/cli/templates/dockerize}/.keep +0 -0
- data/lib/roro/cli/templates/dockerize/Dockerfile.tt +23 -0
- data/lib/roro/cli/templates/dockerize/docker-compose.yml.tt +60 -0
- data/lib/roro/cli/templates/dockerize/docker-entrypoint.sh +9 -0
- data/lib/roro/cli/templates/greenfield/Dockerfile.tt +21 -0
- data/lib/roro/cli/templates/greenfield/docker-compose.yml.tt +55 -0
- data/{test_apps/dummy/lib/assets → lib/roro/cli/templates/jumpstart/.env}/.keep +0 -0
- data/{test_apps/dummy/lib/tasks → lib/roro/cli/templates/jumpstart/.env/development}/.keep +0 -0
- data/lib/roro/cli/templates/jumpstart/.env/development/database +3 -0
- data/lib/roro/cli/templates/jumpstart/.env/development/web +1 -0
- data/{test_apps/dummy/log → lib/roro/cli/templates/jumpstart}/.keep +0 -0
- data/lib/roro/cli/templates/jumpstart/Dockerfile.tt +30 -0
- data/lib/roro/cli/templates/jumpstart/docker-compose.yml +59 -0
- data/lib/roro/cli/templates/jumpstart/docker-entrypoint.sh +16 -0
- data/lib/roro/cli/templates/quickstart/Dockerfile.tt +20 -0
- data/{test_apps/dummy/config → lib/roro/cli/templates/quickstart}/database.yml +12 -12
- data/lib/roro/cli/templates/{greenfield → quickstart}/docker-compose.yml +4 -2
- data/lib/roro/cli/templates/quickstart/entrypoint.sh +8 -0
- data/lib/roro/cli/templates/ruby_gem/.gitignore +8 -0
- data/lib/roro/version.rb +1 -1
- data/roro-0.3.4.gem +0 -0
- data/roro.gemspec +6 -3
- data/vendor/cache/actionpack-6.0.3.2.gem +0 -0
- data/vendor/cache/actionview-6.0.3.2.gem +0 -0
- data/vendor/cache/activesupport-6.0.3.2.gem +0 -0
- data/vendor/cache/addressable-2.7.0.gem +0 -0
- data/vendor/cache/builder-3.2.4.gem +0 -0
- data/vendor/cache/byebug-11.1.3.gem +0 -0
- data/vendor/cache/coderay-1.1.3.gem +0 -0
- data/vendor/cache/concurrent-ruby-1.1.6.gem +0 -0
- data/vendor/cache/crass-1.0.6.gem +0 -0
- data/vendor/cache/erubi-1.9.0.gem +0 -0
- data/vendor/cache/ffi-1.13.1.gem +0 -0
- data/vendor/cache/guard-2.16.2.gem +0 -0
- data/vendor/cache/i18n-1.8.5.gem +0 -0
- data/vendor/cache/launchy-2.5.0.gem +0 -0
- data/vendor/cache/listen-3.2.1.gem +0 -0
- data/vendor/cache/loofah-2.6.0.gem +0 -0
- data/vendor/cache/lumberjack-1.2.7.gem +0 -0
- data/vendor/cache/method_source-1.0.0.gem +0 -0
- data/vendor/cache/minitest-5.14.1.gem +0 -0
- data/vendor/cache/minitest-rails-6.0.1.gem +0 -0
- data/vendor/cache/mocha-1.11.2.gem +0 -0
- data/vendor/cache/multi_json-1.15.0.gem +0 -0
- data/vendor/cache/net-scp-3.0.0.gem +0 -0
- data/vendor/cache/net-ssh-6.1.0.gem +0 -0
- data/vendor/cache/{nokogiri-1.9.1.gem → nokogiri-1.10.10.gem} +0 -0
- data/vendor/cache/notiffany-0.1.3.gem +0 -0
- data/vendor/cache/pry-0.13.1.gem +0 -0
- data/vendor/cache/public_suffix-4.0.5.gem +0 -0
- data/vendor/cache/rack-2.2.3.gem +0 -0
- data/vendor/cache/rails-html-sanitizer-1.3.0.gem +0 -0
- data/vendor/cache/railties-6.0.3.2.gem +0 -0
- data/vendor/cache/rake-13.0.1.gem +0 -0
- data/vendor/cache/rb-fsevent-0.10.4.gem +0 -0
- data/vendor/cache/rb-inotify-0.10.1.gem +0 -0
- data/vendor/cache/shoulda-4.0.0.gem +0 -0
- data/vendor/cache/shoulda-context-2.0.0.gem +0 -0
- data/vendor/cache/shoulda-matchers-4.3.0.gem +0 -0
- data/vendor/cache/sorcerer-2.0.1.gem +0 -0
- data/vendor/cache/thor-1.0.1.gem +0 -0
- data/vendor/cache/tzinfo-1.2.7.gem +0 -0
- data/vendor/cache/zeitwerk-2.4.0.gem +0 -0
- metadata +134 -276
- data/.circleci/config.yml +0 -177
- data/.circleci/setup-gem-credentials.sh +0 -3
- data/.ruby-version +0 -1
- data/Gemfile.lock +0 -165
- data/_config.yml +0 -1
- data/docker-compose.yml +0 -21
- data/docker/containers/2_5_3/Dockerfile +0 -10
- data/docker/containers/2_6_0/Dockerfile +0 -10
- data/docker/containers/app/Dockerfile +0 -10
- data/docker/env_files/circleci.env.enc +0 -5
- data/lib/roro/cli/base.rb +0 -137
- data/lib/roro/cli/templates/Gemfile.lock +0 -0
- data/lib/roro/cli/templates/Guardfile +0 -81
- data/lib/roro/cli/templates/circleci/Rakefile +0 -4
- data/lib/roro/cli/templates/circleci/config.job-example.yml +0 -33
- data/lib/roro/cli/templates/circleci/config.yml +0 -69
- data/lib/roro/cli/templates/circleci/config.yml.workflow-example +0 -62
- data/lib/roro/cli/templates/circleci/deploy.rake +0 -127
- data/lib/roro/cli/templates/config.yml +0 -71
- data/lib/roro/cli/templates/docker-compose.yml +0 -53
- data/lib/roro/cli/templates/docker/containers/app/Dockerfile.tt +0 -12
- data/lib/roro/cli/templates/docker/containers/web/Dockerfile.tt +0 -18
- data/lib/roro/cli/templates/docker/containers/web/app.conf.tt +0 -23
- data/lib/roro/cli/templates/docker/overrides/circleci.yml.tt +0 -19
- data/lib/roro/cli/templates/docker/overrides/production.yml.tt +0 -26
- data/lib/roro/cli/templates/docker/web/Dockerfile +0 -20
- data/lib/roro/cli/templates/docker/web/app.conf +0 -23
- data/lib/roro/cli/templates/gitignore +0 -27
- data/lib/roro/cli/templates/greenfield/Dockerfile +0 -8
- data/lib/roro/cli/templates/greenfield/Gemfile +0 -2
- data/lib/roro/cli/templates/greenfield/Gemfile.lock +0 -0
- data/lib/roro/cli/templates/greenfield/config/database.yml.example +0 -16
- data/lib/roro/cli/templates/lib/tasks/deploy.rake +0 -126
- data/test_apps/dummy/.gitignore +0 -27
- data/test_apps/dummy/Gemfile +0 -61
- data/test_apps/dummy/README.md +0 -24
- data/test_apps/dummy/Rakefile +0 -6
- data/test_apps/dummy/app/assets/config/manifest.js +0 -3
- data/test_apps/dummy/app/assets/javascripts/application.js +0 -16
- data/test_apps/dummy/app/assets/javascripts/cable.js +0 -13
- data/test_apps/dummy/app/assets/stylesheets/application.css +0 -15
- data/test_apps/dummy/app/channels/application_cable/channel.rb +0 -4
- data/test_apps/dummy/app/channels/application_cable/connection.rb +0 -4
- data/test_apps/dummy/app/controllers/application_controller.rb +0 -2
- data/test_apps/dummy/app/helpers/application_helper.rb +0 -2
- data/test_apps/dummy/app/jobs/application_job.rb +0 -2
- data/test_apps/dummy/app/mailers/application_mailer.rb +0 -4
- data/test_apps/dummy/app/models/application_record.rb +0 -3
- data/test_apps/dummy/app/views/layouts/application.html.erb +0 -15
- data/test_apps/dummy/app/views/layouts/mailer.html.erb +0 -13
- data/test_apps/dummy/app/views/layouts/mailer.text.erb +0 -1
- data/test_apps/dummy/bin/bundle +0 -3
- data/test_apps/dummy/bin/rails +0 -4
- data/test_apps/dummy/bin/rake +0 -4
- data/test_apps/dummy/bin/setup +0 -36
- data/test_apps/dummy/bin/update +0 -31
- data/test_apps/dummy/bin/yarn +0 -11
- data/test_apps/dummy/config.ru +0 -5
- data/test_apps/dummy/config/application.rb +0 -19
- data/test_apps/dummy/config/boot.rb +0 -4
- data/test_apps/dummy/config/cable.yml +0 -10
- data/test_apps/dummy/config/credentials.yml.enc +0 -1
- data/test_apps/dummy/config/environment.rb +0 -5
- data/test_apps/dummy/config/environments/development.rb +0 -61
- data/test_apps/dummy/config/environments/production.rb +0 -94
- data/test_apps/dummy/config/environments/test.rb +0 -46
- data/test_apps/dummy/config/initializers/application_controller_renderer.rb +0 -8
- data/test_apps/dummy/config/initializers/assets.rb +0 -14
- data/test_apps/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/test_apps/dummy/config/initializers/content_security_policy.rb +0 -25
- data/test_apps/dummy/config/initializers/cookies_serializer.rb +0 -5
- data/test_apps/dummy/config/initializers/filter_parameter_logging.rb +0 -4
- data/test_apps/dummy/config/initializers/inflections.rb +0 -16
- data/test_apps/dummy/config/initializers/mime_types.rb +0 -4
- data/test_apps/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/test_apps/dummy/config/locales/en.yml +0 -33
- data/test_apps/dummy/config/puma.rb +0 -34
- data/test_apps/dummy/config/routes.rb +0 -3
- data/test_apps/dummy/config/spring.rb +0 -6
- data/test_apps/dummy/config/storage.yml +0 -34
- data/test_apps/dummy/db/seeds.rb +0 -7
- data/test_apps/dummy/package.json +0 -5
- data/test_apps/dummy/public/404.html +0 -67
- data/test_apps/dummy/public/422.html +0 -67
- data/test_apps/dummy/public/500.html +0 -66
- data/test_apps/dummy/public/apple-touch-icon-precomposed.png +0 -0
- data/test_apps/dummy/public/apple-touch-icon.png +0 -0
- data/test_apps/dummy/public/favicon.ico +0 -0
- data/test_apps/dummy/public/robots.txt +0 -1
- data/test_apps/dummy/storage/.keep +0 -0
- data/test_apps/dummy/test/application_system_test_case.rb +0 -5
- data/test_apps/dummy/test/controllers/.keep +0 -0
- data/test_apps/dummy/test/fixtures/.keep +0 -0
- data/test_apps/dummy/test/fixtures/files/.keep +0 -0
- data/test_apps/dummy/test/helpers/.keep +0 -0
- data/test_apps/dummy/test/integration/.keep +0 -0
- data/test_apps/dummy/test/mailers/.keep +0 -0
- data/test_apps/dummy/test/models/.keep +0 -0
- data/test_apps/dummy/test/system/.keep +0 -0
- data/test_apps/dummy/test/test_helper.rb +0 -10
- data/test_apps/dummy/tmp/.keep +0 -0
- data/test_apps/dummy/vendor/.keep +0 -0
- data/test_apps/dummy_gem/.keep +0 -0
- data/test_apps/dummy_roro/.circleci/Rakefile +0 -4
- data/test_apps/dummy_roro/.circleci/config.job-example.yml +0 -33
- data/test_apps/dummy_roro/.circleci/config.yml.workflow-example +0 -62
- data/test_apps/dummy_roro/.circleci/deploy.rake +0 -127
- data/test_apps/dummy_roro/.gitignore +0 -27
- data/test_apps/dummy_roro/Gemfile +0 -64
- data/test_apps/dummy_roro/README.md +0 -24
- data/test_apps/dummy_roro/Rakefile +0 -6
- data/test_apps/dummy_roro/app/assets/config/manifest.js +0 -3
- data/test_apps/dummy_roro/app/assets/images/.keep +0 -0
- data/test_apps/dummy_roro/app/assets/javascripts/application.js +0 -16
- data/test_apps/dummy_roro/app/assets/javascripts/cable.js +0 -13
- data/test_apps/dummy_roro/app/assets/javascripts/channels/.keep +0 -0
- data/test_apps/dummy_roro/app/assets/stylesheets/application.css +0 -15
- data/test_apps/dummy_roro/app/channels/application_cable/channel.rb +0 -4
- data/test_apps/dummy_roro/app/channels/application_cable/connection.rb +0 -4
- data/test_apps/dummy_roro/app/controllers/application_controller.rb +0 -2
- data/test_apps/dummy_roro/app/controllers/concerns/.keep +0 -0
- data/test_apps/dummy_roro/app/helpers/application_helper.rb +0 -2
- data/test_apps/dummy_roro/app/jobs/application_job.rb +0 -2
- data/test_apps/dummy_roro/app/mailers/application_mailer.rb +0 -4
- data/test_apps/dummy_roro/app/models/application_record.rb +0 -3
- data/test_apps/dummy_roro/app/models/concerns/.keep +0 -0
- data/test_apps/dummy_roro/app/views/layouts/application.html.erb +0 -15
- data/test_apps/dummy_roro/app/views/layouts/mailer.html.erb +0 -13
- data/test_apps/dummy_roro/app/views/layouts/mailer.text.erb +0 -1
- data/test_apps/dummy_roro/bin/bundle +0 -3
- data/test_apps/dummy_roro/bin/rails +0 -4
- data/test_apps/dummy_roro/bin/rake +0 -4
- data/test_apps/dummy_roro/bin/setup +0 -36
- data/test_apps/dummy_roro/bin/update +0 -31
- data/test_apps/dummy_roro/bin/yarn +0 -11
- data/test_apps/dummy_roro/config.ru +0 -5
- data/test_apps/dummy_roro/config/application.rb +0 -19
- data/test_apps/dummy_roro/config/boot.rb +0 -4
- data/test_apps/dummy_roro/config/cable.yml +0 -10
- data/test_apps/dummy_roro/config/credentials.yml.enc +0 -1
- data/test_apps/dummy_roro/config/environment.rb +0 -5
- data/test_apps/dummy_roro/config/environments/development.rb +0 -61
- data/test_apps/dummy_roro/config/environments/production.rb +0 -94
- data/test_apps/dummy_roro/config/environments/test.rb +0 -46
- data/test_apps/dummy_roro/config/initializers/application_controller_renderer.rb +0 -8
- data/test_apps/dummy_roro/config/initializers/assets.rb +0 -14
- data/test_apps/dummy_roro/config/initializers/backtrace_silencers.rb +0 -7
- data/test_apps/dummy_roro/config/initializers/content_security_policy.rb +0 -25
- data/test_apps/dummy_roro/config/initializers/cookies_serializer.rb +0 -5
- data/test_apps/dummy_roro/config/initializers/filter_parameter_logging.rb +0 -4
- data/test_apps/dummy_roro/config/initializers/inflections.rb +0 -16
- data/test_apps/dummy_roro/config/initializers/mime_types.rb +0 -4
- data/test_apps/dummy_roro/config/initializers/wrap_parameters.rb +0 -14
- data/test_apps/dummy_roro/config/locales/en.yml +0 -33
- data/test_apps/dummy_roro/config/puma.rb +0 -34
- data/test_apps/dummy_roro/config/routes.rb +0 -3
- data/test_apps/dummy_roro/config/spring.rb +0 -6
- data/test_apps/dummy_roro/config/storage.yml +0 -34
- data/test_apps/dummy_roro/db/seeds.rb +0 -7
- data/test_apps/dummy_roro/docker-compose.yml +0 -51
- data/test_apps/dummy_roro/docker/containers/app/Dockerfile +0 -12
- data/test_apps/dummy_roro/docker/containers/app/circleci.env +0 -2
- data/test_apps/dummy_roro/docker/containers/app/development.env +0 -2
- data/test_apps/dummy_roro/docker/containers/app/production.env +0 -2
- data/test_apps/dummy_roro/docker/containers/app/staging.env +0 -2
- data/test_apps/dummy_roro/docker/containers/database/.keep +0 -0
- data/test_apps/dummy_roro/docker/containers/database/circleci.env +0 -3
- data/test_apps/dummy_roro/docker/containers/database/development.env +0 -3
- data/test_apps/dummy_roro/docker/containers/database/production.env +0 -3
- data/test_apps/dummy_roro/docker/containers/database/staging.env +0 -3
- data/test_apps/dummy_roro/docker/containers/web/Dockerfile +0 -18
- data/test_apps/dummy_roro/docker/containers/web/app.conf +0 -23
- data/test_apps/dummy_roro/docker/containers/web/circleci.env +0 -1
- data/test_apps/dummy_roro/docker/containers/web/development.env +0 -1
- data/test_apps/dummy_roro/docker/containers/web/production.env +0 -1
- data/test_apps/dummy_roro/docker/containers/web/staging.env +0 -1
- data/test_apps/dummy_roro/docker/env_files/circleci.env +0 -12
- data/test_apps/dummy_roro/docker/env_files/circleci.env.enc +0 -14
- data/test_apps/dummy_roro/docker/env_files/production.env +0 -2
- data/test_apps/dummy_roro/docker/env_files/production.env.enc +0 -2
- data/test_apps/dummy_roro/docker/keys/.keep +0 -0
- data/test_apps/dummy_roro/docker/overrides/circleci.yml +0 -19
- data/test_apps/dummy_roro/docker/overrides/production.yml +0 -26
- data/test_apps/dummy_roro/lib/assets/.keep +0 -0
- data/test_apps/dummy_roro/lib/tasks/.keep +0 -0
- data/test_apps/dummy_roro/lib/tasks/deploy.rake +0 -126
- data/test_apps/dummy_roro/log/.keep +0 -0
- data/test_apps/dummy_roro/package.json +0 -5
- data/test_apps/dummy_roro/public/404.html +0 -67
- data/test_apps/dummy_roro/public/422.html +0 -67
- data/test_apps/dummy_roro/public/500.html +0 -66
- data/test_apps/dummy_roro/public/apple-touch-icon-precomposed.png +0 -0
- data/test_apps/dummy_roro/public/apple-touch-icon.png +0 -0
- data/test_apps/dummy_roro/public/favicon.ico +0 -0
- data/test_apps/dummy_roro/public/robots.txt +0 -1
- data/test_apps/dummy_roro/storage/.keep +0 -0
- data/test_apps/dummy_roro/test/application_system_test_case.rb +0 -5
- data/test_apps/dummy_roro/test/controllers/.keep +0 -0
- data/test_apps/dummy_roro/test/fixtures/.keep +0 -0
- data/test_apps/dummy_roro/test/fixtures/files/.keep +0 -0
- data/test_apps/dummy_roro/test/helpers/.keep +0 -0
- data/test_apps/dummy_roro/test/integration/.keep +0 -0
- data/test_apps/dummy_roro/test/mailers/.keep +0 -0
- data/test_apps/dummy_roro/test/models/.keep +0 -0
- data/test_apps/dummy_roro/test/system/.keep +0 -0
- data/test_apps/dummy_roro/test/test_helper.rb +0 -10
- data/test_apps/dummy_roro/tmp/.keep +0 -0
- data/test_apps/dummy_roro/vendor/.keep +0 -0
- data/test_apps/greenfield/.keep +0 -0
- data/vendor/cache/actionpack-5.2.2.gem +0 -0
- data/vendor/cache/actionview-5.2.2.gem +0 -0
- data/vendor/cache/activesupport-5.2.2.gem +0 -0
- data/vendor/cache/addressable-2.5.2.gem +0 -0
- data/vendor/cache/builder-3.2.3.gem +0 -0
- data/vendor/cache/coderay-1.1.2.gem +0 -0
- data/vendor/cache/concurrent-ruby-1.1.4.gem +0 -0
- data/vendor/cache/crass-1.0.4.gem +0 -0
- data/vendor/cache/erubi-1.8.0.gem +0 -0
- data/vendor/cache/ffi-1.9.25.gem +0 -0
- data/vendor/cache/guard-2.15.0.gem +0 -0
- data/vendor/cache/i18n-1.3.0.gem +0 -0
- data/vendor/cache/launchy-2.4.3.gem +0 -0
- data/vendor/cache/listen-3.1.5.gem +0 -0
- data/vendor/cache/loofah-2.2.3.gem +0 -0
- data/vendor/cache/lumberjack-1.0.13.gem +0 -0
- data/vendor/cache/method_source-0.9.2.gem +0 -0
- data/vendor/cache/minitest-5.11.3.gem +0 -0
- data/vendor/cache/minitest-rails-3.0.0.gem +0 -0
- data/vendor/cache/multi_json-1.13.1.gem +0 -0
- data/vendor/cache/net-scp-1.2.1.gem +0 -0
- data/vendor/cache/net-ssh-5.2.0.gem +0 -0
- data/vendor/cache/notiffany-0.1.1.gem +0 -0
- data/vendor/cache/pry-0.12.2.gem +0 -0
- data/vendor/cache/public_suffix-3.0.3.gem +0 -0
- data/vendor/cache/rack-2.0.6.gem +0 -0
- data/vendor/cache/rails-html-sanitizer-1.0.4.gem +0 -0
- data/vendor/cache/railties-5.2.2.gem +0 -0
- data/vendor/cache/rake-10.5.0.gem +0 -0
- data/vendor/cache/rb-fsevent-0.10.3.gem +0 -0
- data/vendor/cache/rb-inotify-0.10.0.gem +0 -0
- data/vendor/cache/ruby_dep-1.5.0.gem +0 -0
- data/vendor/cache/shoulda-3.6.0.gem +0 -0
- data/vendor/cache/shoulda-context-1.2.2.gem +0 -0
- data/vendor/cache/shoulda-matchers-3.1.2.gem +0 -0
- data/vendor/cache/sorcerer-1.0.2.gem +0 -0
- data/vendor/cache/thor-0.20.3.gem +0 -0
- data/vendor/cache/tzinfo-1.2.5.gem +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d1748207f4c1b87ab2301b252cd90eac18dc36107544b404b031e9ba9b0df62f
|
4
|
+
data.tar.gz: eda27e549ca1789b75f5f0af646415b92c8c82f5e3b05dcf612a7d591326c33d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ec101f6fba2f50fe296792633d606e3ee2a0680e798c7fef0508706ef37d58dd979f04ea6be7e0fffe044596315aca2933d9ca7416d5694b4f083b18de923182
|
7
|
+
data.tar.gz: 3b89bd8d48d381ef5461deb8b99712cea71a8c2708cc32fdd5c195f931001736598ca48ddbebc0269f09e6c7cbd9e5294e7c7fcb943c1627b8c48e5bdcdae684
|
data/.gitignore
CHANGED
File without changes
|
data/Guardfile
CHANGED
@@ -2,16 +2,19 @@
|
|
2
2
|
# More info at https://github.com/guard/guard#readme
|
3
3
|
|
4
4
|
options = {
|
5
|
-
cli: '',
|
6
|
-
all_after_run:
|
5
|
+
# cli: '',
|
6
|
+
# all_after_run: true,
|
7
|
+
# all_after_pass: true
|
7
8
|
}
|
8
9
|
|
9
10
|
guard :minitest, options do
|
10
|
-
# with Minitest::Unit
|
11
11
|
|
12
12
|
watch(%r{^test/(.*)\/?test_(.*)\.rb$})
|
13
13
|
watch(%r{^test/(.*)\/?(.*)_test\.rb$})
|
14
14
|
watch(%r{^lib/roro/cli/(.+)\.rb$}) { |m| "test/generators/#{m[1]}_test.rb" }
|
15
|
+
watch(%r{^lib/roro/cli/rollon/*.rb$}) { 'test/generators' }
|
16
|
+
watch(%r{^lib/roro/cli/(.+).rb$}) { 'test' }
|
17
|
+
|
15
18
|
|
16
19
|
watch(%r{^test/thor_helper\.rb$}) { 'test' }
|
17
20
|
|
data/lib/roro/cli.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
require 'thor'
|
2
|
-
require 'roro/cli/base'
|
2
|
+
require 'roro/cli/base/base'
|
3
3
|
require 'roro/cli/rollon'
|
4
4
|
require 'roro/cli/greenfield'
|
5
5
|
require 'roro/cli/generate_keys'
|
@@ -15,7 +15,5 @@ module Roro
|
|
15
15
|
def self.source_root
|
16
16
|
File.dirname(__FILE__) + '/cli/templates'
|
17
17
|
end
|
18
|
-
|
19
|
-
|
20
18
|
end
|
21
19
|
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Roro
|
2
|
+
|
3
|
+
class CLI < Thor
|
4
|
+
|
5
|
+
no_commands do
|
6
|
+
|
7
|
+
def copy_dockerignore
|
8
|
+
copy_file 'base/.dockerignore', '.dockerignore'
|
9
|
+
end
|
10
|
+
|
11
|
+
def copy_host_example
|
12
|
+
copy_file 'base/livereload/hosts.example', 'hosts.example'
|
13
|
+
end
|
14
|
+
|
15
|
+
def copy_docker_compose
|
16
|
+
template "base/docker-compose.yml", 'docker-compose.yml', @env_hash
|
17
|
+
end
|
18
|
+
|
19
|
+
def copy_roro
|
20
|
+
directory 'base/roro/containers/app', "roro/containers/#{@env_hash[:app_name]}", @env_hash
|
21
|
+
directory 'base/roro/containers/database', "roro/containers/#{@env_hash[:database_container]}", @env_hash
|
22
|
+
directory 'base/roro/containers/frontend', "roro/containers/#{@env_hash[:frontend_container]}", @env_hash
|
23
|
+
end
|
24
|
+
|
25
|
+
def copy_database_yml_pg
|
26
|
+
copy_file "base/config/database.yml.pg", 'config/database.yml', force: @env_hash[:use_force]
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,118 @@
|
|
1
|
+
|
2
|
+
module Roro
|
3
|
+
|
4
|
+
class CLI < Thor
|
5
|
+
|
6
|
+
no_commands do
|
7
|
+
|
8
|
+
def get_configuration_variables(hash={})
|
9
|
+
options["interactive"] ? set_interactively : set_from_defaults
|
10
|
+
hash.each { |k,v| @env_hash[k] = v } unless hash.nil?
|
11
|
+
@env_hash[:deploy_tag] = "${CIRCLE_SHA1:0:7}"
|
12
|
+
@env_hash[:server_port] = "22"
|
13
|
+
@env_hash[:server_user] = "root"
|
14
|
+
@env_hash
|
15
|
+
end
|
16
|
+
|
17
|
+
def set_from_defaults
|
18
|
+
@env_hash = configuration_hash
|
19
|
+
@env_hash.map do |key, hash|
|
20
|
+
@env_hash[key] = hash.values.last
|
21
|
+
end
|
22
|
+
@env_hash
|
23
|
+
end
|
24
|
+
|
25
|
+
def set_interactively
|
26
|
+
@env_hash = configuration_hash
|
27
|
+
@env_hash.map do |key, prompt|
|
28
|
+
answer = ask("Please provide #{prompt.keys.first} or hit enter to accept: \[ #{prompt.values.first} \]")
|
29
|
+
@env_hash[key] = (answer == "") ? prompt.values.first : answer
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def confirm_dependencies
|
34
|
+
dependencies = [
|
35
|
+
{
|
36
|
+
system_query: "which docker",
|
37
|
+
warning: "Docker isn't installed",
|
38
|
+
suggestion: "https://docs.docker.com/install/"
|
39
|
+
}, {
|
40
|
+
system_query: "which docker-compose",
|
41
|
+
warning: "Docker Compose isn't installed",
|
42
|
+
suggestion: "https://docs.docker.com/compose/install/"
|
43
|
+
|
44
|
+
}, {
|
45
|
+
system_query: "docker info",
|
46
|
+
warning: "the Docker daemon isn't running",
|
47
|
+
suggestion: "https://docs.docker.com/config/daemon/#start-the-daemon-manually"
|
48
|
+
}
|
49
|
+
]
|
50
|
+
|
51
|
+
dependencies.each do |dependency|
|
52
|
+
confirm_dependency(dependency)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
|
57
|
+
|
58
|
+
def confirm_dependency(options)
|
59
|
+
msg = []
|
60
|
+
msg << ""
|
61
|
+
msg << delineator
|
62
|
+
msg << "It looks like #{options[:warning]}. The following bash command returns false:"
|
63
|
+
msg << "\t$ #{options[:system_query]}"
|
64
|
+
msg << "Please try these instructions:"
|
65
|
+
msg << ("\t" + options[:suggestion])
|
66
|
+
msg << delineator
|
67
|
+
conditional = options[:conditional] ? eval(options[:conditional]) : system(options[:system_query])
|
68
|
+
if conditional == false
|
69
|
+
raise(Roro::Error.new(msg.join("\n\n")))
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
|
74
|
+
private
|
75
|
+
|
76
|
+
def configuration_hash
|
77
|
+
{
|
78
|
+
app_name: {
|
79
|
+
"the name of your app" => `pwd`.split('/').last.strip!
|
80
|
+
},
|
81
|
+
ruby_version: {
|
82
|
+
"the version of ruby you'd like" => `ruby -v`.scan(/\d.\d/).first
|
83
|
+
},
|
84
|
+
server_host: {
|
85
|
+
"the ip address of your server" => "ip-address-of-your-server"
|
86
|
+
},
|
87
|
+
database_container: {
|
88
|
+
"the name of your database container" => "database"
|
89
|
+
},
|
90
|
+
frontend_container: {
|
91
|
+
"the name of your frontend container" => "frontend"
|
92
|
+
},
|
93
|
+
server_container: {
|
94
|
+
"the name of your server container" => "nginx"
|
95
|
+
},
|
96
|
+
dockerhub_email: {
|
97
|
+
"your Docker Hub email" => "your-docker-hub-email"
|
98
|
+
},
|
99
|
+
dockerhub_user: {
|
100
|
+
"your Docker Hub username" => "your-docker-hub-user-name"
|
101
|
+
},
|
102
|
+
dockerhub_org: {
|
103
|
+
"your Docker Hub organization name" => "your-docker-hub-org-name"
|
104
|
+
},
|
105
|
+
dockerhub_password: {
|
106
|
+
"your Docker Hub password" => "your-docker-hub-password"
|
107
|
+
},
|
108
|
+
postgres_user: {
|
109
|
+
"your Postgres username" => "postgres"
|
110
|
+
},
|
111
|
+
postgres_password: {
|
112
|
+
"your Postgres password" => "your-postgres-password"
|
113
|
+
}
|
114
|
+
}
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
|
2
|
+
module Roro
|
3
|
+
|
4
|
+
class CLI < Thor
|
5
|
+
|
6
|
+
no_commands do
|
7
|
+
|
8
|
+
def insert_roro_gem_into_gemfile
|
9
|
+
insert_into_file 'Gemfile', "gem 'roro'", before: "group :development, :test do"
|
10
|
+
end
|
11
|
+
|
12
|
+
def insert_pg_gem_into_gemfile
|
13
|
+
comment_lines 'Gemfile', /sqlite/
|
14
|
+
comment_lines 'Gemfile', /mysql/
|
15
|
+
insert_into_file 'Gemfile', "gem 'pg'\n", before: "group :development, :test do"
|
16
|
+
end
|
17
|
+
|
18
|
+
def insert_hfci_gem_into_gemfile
|
19
|
+
insert_into_file 'Gemfile', "gem 'handsome_fencer-test'", after: "group :development, :test do"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
|
2
|
+
module Roro
|
3
|
+
|
4
|
+
class CLI < Thor
|
5
|
+
|
6
|
+
no_commands do
|
7
|
+
|
8
|
+
def config_std_out_true
|
9
|
+
prepend_to_file('config/boot.rb', "$stdout.sync = true\n\n", force: @env_hash[:use_force])
|
10
|
+
end
|
11
|
+
|
12
|
+
def gitignore_sensitive_files
|
13
|
+
append_to_file ".gitignore", "\nroro/**/*.env\nroro/**/*.key"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
|
2
|
+
module Roro
|
3
|
+
|
4
|
+
class CLI < Thor
|
5
|
+
|
6
|
+
no_commands do
|
7
|
+
|
8
|
+
def choices
|
9
|
+
{ default: 'y', limited_to: ["y", "n"] }
|
10
|
+
end
|
11
|
+
|
12
|
+
def own_if_required
|
13
|
+
system 'sudo chown -R $USER .'
|
14
|
+
end
|
15
|
+
|
16
|
+
def as_system(command)
|
17
|
+
command = OS.linux? ? "sudo #{command}" : command
|
18
|
+
system command
|
19
|
+
end
|
20
|
+
|
21
|
+
def chown_if_required()
|
22
|
+
warning = "It looks like you're running Docker on some flavor of Linux, in which case the files created by your containers are owned by the root user of the container, and not by the user of the host machine. Please change their ownership by supplying your password at the prompt.",
|
23
|
+
action = "system 'sudo chown -R $USER .'"
|
24
|
+
msg = []
|
25
|
+
msg << ""
|
26
|
+
msg << delineator
|
27
|
+
msg << warning
|
28
|
+
msg << ""
|
29
|
+
msg.join("\n\n")
|
30
|
+
puts msg
|
31
|
+
eval(action)
|
32
|
+
end
|
33
|
+
|
34
|
+
def delineator
|
35
|
+
("-" * 80)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -16,7 +16,7 @@ module Roro
|
|
16
16
|
end
|
17
17
|
|
18
18
|
desc "generate_key", "Generate a key for each environment"
|
19
|
-
method_option :environment, type: :
|
19
|
+
method_option :environment, type: :hash, default: {}, desc: "Pass a list of environment variables like so: env:var", banner: "development, staging"
|
20
20
|
|
21
21
|
def generate_key(*args)
|
22
22
|
environments = args.first ? [args.first] : gather_environments
|
data/lib/roro/cli/greenfield.rb
CHANGED
@@ -11,85 +11,31 @@ module Roro
|
|
11
11
|
method_option :env_vars, type: :hash, default: {}, desc: "Pass a list of environment variables like so: env:var", banner: "key1:value1 key2:value2"
|
12
12
|
method_option :interactive, desc: "Set up your environment variables as you go."
|
13
13
|
method_option :force, desc: "force over-write of existing files"
|
14
|
-
|
14
|
+
|
15
|
+
|
15
16
|
def greenfield
|
16
|
-
|
17
17
|
confirm_dependencies
|
18
|
+
confirm_dependency({
|
19
|
+
system_query: "ls -A",
|
20
|
+
warning: "this is not an empty directory. Roro will not greenfield a new Rails app unless either a) the current directory is empty or b) you run greenfield with the --force flag",
|
21
|
+
suggestion: "$ roro greenfield --force",
|
22
|
+
conditional: "Dir.glob('*').empty?" })
|
23
|
+
get_configuration_variables
|
18
24
|
copy_greenfield_files
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
as_system('mv -f config/database.yml.example config/database.yml')
|
23
|
-
as_system('docker-compose up --build --force-recreate -d ')
|
24
|
-
as_system 'docker-compose run web bin/rails db:create'
|
25
|
+
copy_greenfield_to_host
|
26
|
+
@env_hash[:use_force] = { force: true }
|
27
|
+
rollon
|
25
28
|
end
|
26
|
-
|
29
|
+
|
27
30
|
no_commands do
|
28
|
-
|
29
|
-
def
|
30
|
-
|
31
|
-
|
32
|
-
end
|
33
|
-
|
34
|
-
def chown_if_required()
|
35
|
-
warning = "It looks like you're running Docker on some flavor of Linux, in which case the files created by your containers are owned by the root user of the container, and not by the user of the host machine. Please change their ownership by supplying your password at the prompt.",
|
36
|
-
action = "system 'sudo chown -R $USER .'"
|
37
|
-
msg = []
|
38
|
-
msg << ""
|
39
|
-
msg << delineator
|
40
|
-
msg << warning
|
41
|
-
msg << ""
|
42
|
-
msg.join("\n\n")
|
43
|
-
puts msg
|
44
|
-
eval(action)
|
45
|
-
end
|
46
|
-
|
47
|
-
def delineator
|
48
|
-
("-" * 80)
|
49
|
-
end
|
50
|
-
|
51
|
-
def confirm_dependency(options)
|
52
|
-
msg = []
|
53
|
-
msg << ""
|
54
|
-
msg << delineator
|
55
|
-
msg << "It looks like #{options[:warning]}. The following bash command returns false:"
|
56
|
-
msg << "\t$ #{options[:system_query]}"
|
57
|
-
msg << "Please try these instructions:"
|
58
|
-
msg << ("\t" + options[:suggestion])
|
59
|
-
msg << delineator
|
60
|
-
conditional = options[:conditional] ? eval(options[:conditional]) : system(options[:system_query])
|
61
|
-
if conditional == false
|
62
|
-
raise(Roro::Error.new(msg.join("\n\n")))
|
63
|
-
end
|
31
|
+
|
32
|
+
def copy_greenfield_files
|
33
|
+
template 'greenfield/Dockerfile.tt', 'Dockerfile', @env_hash
|
34
|
+
template 'greenfield/docker-compose.yml.tt', 'docker-compose.yml', @env_hash
|
64
35
|
end
|
65
|
-
|
66
|
-
def
|
67
|
-
|
68
|
-
{
|
69
|
-
system_query: "ls -A",
|
70
|
-
warning: "this is not an empty directory. Roro will not greenfield a new Rails app unless either a) the current directory is empty or b) you run greenfield with the --force flag",
|
71
|
-
suggestion: "$ roro greenfield --force",
|
72
|
-
conditional: "Dir.glob('*').empty?"
|
73
|
-
}, {
|
74
|
-
|
75
|
-
system_query: "which docker",
|
76
|
-
warning: "Docker isn't installed",
|
77
|
-
suggestion: "https://docs.docker.com/install/"
|
78
|
-
}, {
|
79
|
-
system_query: "which docker-compose",
|
80
|
-
warning: "Docker Compose isn't installed",
|
81
|
-
suggestion: "https://docs.docker.com/compose/install/"
|
82
|
-
|
83
|
-
}, {
|
84
|
-
system_query: "docker info",
|
85
|
-
warning: "the Docker daemon isn't running",
|
86
|
-
suggestion: "https://docs.docker.com/config/daemon/#start-the-daemon-manually"
|
87
|
-
}
|
88
|
-
]
|
89
|
-
|
90
|
-
dependencies.each do |dependency|
|
91
|
-
confirm_dependency(dependency)
|
92
|
-
end
|
36
|
+
|
37
|
+
def copy_greenfield_to_host
|
38
|
+
system "DOCKER_BUILDKIT=1 docker build --file Dockerfile --output . ."
|
93
39
|
end
|
94
40
|
end
|
95
41
|
end
|
data/lib/roro/cli/rollon.rb
CHANGED
@@ -1,21 +1,38 @@
|
|
1
|
+
require_relative 'rollon/stories'
|
2
|
+
|
1
3
|
module Roro
|
2
4
|
|
3
5
|
class CLI < Thor
|
4
6
|
|
5
|
-
|
6
|
-
|
7
|
-
method_option :interactive, desc: "Set up your environment variables as
|
7
|
+
desc "rollon", "Generates files and makes changes to your rails app
|
8
|
+
necessary to run it using Docker containers."
|
9
|
+
method_option :interactive, desc: "Set up your environment variables as
|
10
|
+
you go."
|
8
11
|
|
9
12
|
def rollon
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
13
|
+
confirm_dependencies
|
14
|
+
confirm_dependency({
|
15
|
+
system_query: "ls -A",
|
16
|
+
warning: "This is an empty directory. You can generate a new and fully
|
17
|
+
dockerized Rails app using the 'greenfield' command here here but if
|
18
|
+
you want to containerize an existing app -- which is what the 'rollon'
|
19
|
+
command is for -- you'll need to navigate to a directory with an app we
|
20
|
+
can roll onto.",
|
21
|
+
suggestion: "$ roro greenfield",
|
22
|
+
conditional: "!Dir.glob('*').empty?" })
|
23
|
+
@env_hash || get_configuration_variables
|
24
|
+
# case ask("Configure using the Quickstart, Curated, or HandsomeFencer way?\n\n(1) Quikstart\n\n(2) Curated\n\n(3) HandsomeFencer\n\n", { default: '2', limited_to: %w(1 2 3) })
|
25
|
+
# when '1'
|
26
|
+
# rollon_as_quickstart
|
27
|
+
# when '2'
|
28
|
+
# rollon_as_dockerized
|
29
|
+
# when '3'
|
30
|
+
# end
|
31
|
+
rollon_as_dockerize
|
32
|
+
end
|
33
|
+
|
34
|
+
no_commands do
|
35
|
+
|
19
36
|
end
|
20
37
|
end
|
21
|
-
end
|
38
|
+
end
|