roro 0.3.2 → 0.3.4

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.
Files changed (349) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -9
  3. data/{docker/env_files/.keep → .keep} +0 -0
  4. data/Guardfile +2 -2
  5. data/lib/roro/cli.rb +2 -3
  6. data/lib/roro/cli/base/base.rb +7 -0
  7. data/lib/roro/cli/base/base_files.rb +38 -0
  8. data/lib/roro/cli/base/configuration.rb +63 -0
  9. data/lib/roro/cli/base/continuous_integration.rb +13 -0
  10. data/lib/roro/cli/base/insert_gems.rb +23 -0
  11. data/lib/roro/cli/base/insertions.rb +17 -0
  12. data/lib/roro/cli/base/utilities.rb +17 -0
  13. data/lib/roro/cli/generate_keys.rb +1 -1
  14. data/lib/roro/cli/greenfield.rb +15 -11
  15. data/lib/roro/cli/rollon.rb +19 -12
  16. data/lib/roro/cli/rollon/as_dockerize.rb +28 -0
  17. data/lib/roro/cli/rollon/as_quickstart.rb +17 -0
  18. data/lib/roro/cli/rollon/as_roro.rb +30 -0
  19. data/lib/roro/cli/rollon/use_cases.rb +3 -0
  20. data/lib/roro/cli/ruby_gem.rb +6 -0
  21. data/lib/roro/cli/templates/base/.dockerignore +13 -0
  22. data/{docker/keys → lib/roro/cli/templates/base}/.keep +0 -0
  23. data/{test_apps/dummy_roro/.circleci/config.yml → lib/roro/cli/templates/base/circleci/config.yml.tt} +7 -6
  24. data/lib/roro/cli/templates/{config → base/config}/database.yml +0 -0
  25. data/lib/roro/cli/templates/base/docker-compose.yml.tt +53 -0
  26. data/lib/roro/cli/templates/base/livereload/hosts.example +7 -0
  27. data/lib/roro/cli/templates/{docker/containers/database → base/roro}/.keep +0 -0
  28. data/lib/roro/cli/templates/{docker/env_files → base/roro/containers}/.keep +0 -0
  29. data/lib/roro/cli/templates/{docker/keys → base/roro/containers/app}/.keep +0 -0
  30. data/lib/roro/cli/templates/base/roro/containers/app/Dockerfile.tt +32 -0
  31. data/lib/roro/cli/templates/base/roro/containers/app/development.env.tt +1 -0
  32. data/lib/roro/cli/templates/base/roro/containers/app/docker-entrypoint.sh +8 -0
  33. data/lib/roro/cli/templates/base/roro/containers/app/test.env.tt +1 -0
  34. data/lib/roro/cli/templates/base/roro/containers/database/development.env.tt +4 -0
  35. data/lib/roro/cli/templates/base/roro/containers/database/test.env.tt +4 -0
  36. data/{test_apps/dummy/app/assets/images → lib/roro/cli/templates/base/roro/containers/frontend}/.keep +0 -0
  37. data/{test_apps/dummy/app/assets/javascripts/channels → lib/roro/cli/templates/dockerize/.env}/.keep +0 -0
  38. data/{test_apps/dummy/app/controllers/concerns → lib/roro/cli/templates/dockerize/.env/development}/.keep +0 -0
  39. data/lib/roro/cli/templates/dockerize/.env/development/database +3 -0
  40. data/lib/roro/cli/templates/dockerize/.env/development/web +1 -0
  41. data/{test_apps/dummy/app/models/concerns → lib/roro/cli/templates/dockerize}/.keep +0 -0
  42. data/lib/roro/cli/templates/dockerize/Dockerfile.tt +23 -0
  43. data/lib/roro/cli/templates/dockerize/docker-compose.yml +60 -0
  44. data/lib/roro/cli/templates/dockerize/docker-entrypoint.sh +9 -0
  45. data/lib/roro/cli/templates/greenfield/Dockerfile.tt +21 -0
  46. data/lib/roro/cli/templates/greenfield/Gemfile +1 -1
  47. data/lib/roro/cli/templates/greenfield/docker-compose.yml +12 -10
  48. data/lib/roro/cli/templates/greenfield/docker-entrypoint.sh +8 -0
  49. data/{test_apps/dummy/lib/assets → lib/roro/cli/templates/jumpstart/.env}/.keep +0 -0
  50. data/{test_apps/dummy/lib/tasks → lib/roro/cli/templates/jumpstart/.env/development}/.keep +0 -0
  51. data/lib/roro/cli/templates/jumpstart/.env/development/database +3 -0
  52. data/lib/roro/cli/templates/jumpstart/.env/development/web +1 -0
  53. data/{test_apps/dummy/log → lib/roro/cli/templates/jumpstart}/.keep +0 -0
  54. data/lib/roro/cli/templates/jumpstart/Dockerfile.tt +30 -0
  55. data/lib/roro/cli/templates/jumpstart/docker-compose.yml +59 -0
  56. data/lib/roro/cli/templates/jumpstart/docker-entrypoint.sh +16 -0
  57. data/lib/roro/cli/templates/quickstart/Dockerfile.tt +20 -0
  58. data/{test_apps/dummy/config → lib/roro/cli/templates/quickstart}/database.yml +12 -12
  59. data/lib/roro/cli/templates/quickstart/docker-compose.yml +17 -0
  60. data/lib/roro/cli/templates/quickstart/entrypoint.sh +8 -0
  61. data/lib/roro/cli/templates/ruby_gem/.gitignore +8 -0
  62. data/lib/roro/version.rb +1 -1
  63. data/roro.gemspec +5 -3
  64. data/vendor/cache/actionpack-6.0.3.2.gem +0 -0
  65. data/vendor/cache/actionview-6.0.3.2.gem +0 -0
  66. data/vendor/cache/activesupport-6.0.3.2.gem +0 -0
  67. data/vendor/cache/addressable-2.7.0.gem +0 -0
  68. data/vendor/cache/builder-3.2.4.gem +0 -0
  69. data/vendor/cache/byebug-11.1.3.gem +0 -0
  70. data/vendor/cache/coderay-1.1.3.gem +0 -0
  71. data/vendor/cache/concurrent-ruby-1.1.6.gem +0 -0
  72. data/vendor/cache/crass-1.0.6.gem +0 -0
  73. data/vendor/cache/erubi-1.9.0.gem +0 -0
  74. data/vendor/cache/ffi-1.13.1.gem +0 -0
  75. data/vendor/cache/guard-2.16.2.gem +0 -0
  76. data/vendor/cache/i18n-1.8.5.gem +0 -0
  77. data/vendor/cache/launchy-2.5.0.gem +0 -0
  78. data/vendor/cache/listen-3.2.1.gem +0 -0
  79. data/vendor/cache/loofah-2.6.0.gem +0 -0
  80. data/vendor/cache/lumberjack-1.2.7.gem +0 -0
  81. data/vendor/cache/method_source-1.0.0.gem +0 -0
  82. data/vendor/cache/minitest-5.14.1.gem +0 -0
  83. data/vendor/cache/minitest-rails-6.0.1.gem +0 -0
  84. data/vendor/cache/multi_json-1.15.0.gem +0 -0
  85. data/vendor/cache/net-scp-3.0.0.gem +0 -0
  86. data/vendor/cache/net-ssh-6.1.0.gem +0 -0
  87. data/vendor/cache/{nokogiri-1.9.1.gem → nokogiri-1.10.10.gem} +0 -0
  88. data/vendor/cache/notiffany-0.1.3.gem +0 -0
  89. data/vendor/cache/pry-0.13.1.gem +0 -0
  90. data/vendor/cache/public_suffix-4.0.5.gem +0 -0
  91. data/vendor/cache/rack-2.2.3.gem +0 -0
  92. data/vendor/cache/rails-html-sanitizer-1.3.0.gem +0 -0
  93. data/vendor/cache/railties-6.0.3.2.gem +0 -0
  94. data/vendor/cache/rake-13.0.1.gem +0 -0
  95. data/vendor/cache/rb-fsevent-0.10.4.gem +0 -0
  96. data/vendor/cache/rb-inotify-0.10.1.gem +0 -0
  97. data/vendor/cache/shoulda-4.0.0.gem +0 -0
  98. data/vendor/cache/shoulda-context-2.0.0.gem +0 -0
  99. data/vendor/cache/shoulda-matchers-4.3.0.gem +0 -0
  100. data/vendor/cache/sorcerer-2.0.1.gem +0 -0
  101. data/vendor/cache/thor-1.0.1.gem +0 -0
  102. data/vendor/cache/tzinfo-1.2.7.gem +0 -0
  103. data/vendor/cache/zeitwerk-2.4.0.gem +0 -0
  104. metadata +116 -272
  105. data/.circleci/config.yml +0 -177
  106. data/.circleci/setup-gem-credentials.sh +0 -3
  107. data/.ruby-version +0 -1
  108. data/Gemfile.lock +0 -165
  109. data/_config.yml +0 -1
  110. data/docker-compose.yml +0 -21
  111. data/docker/containers/2_5_3/Dockerfile +0 -10
  112. data/docker/containers/2_6_0/Dockerfile +0 -10
  113. data/docker/containers/app/Dockerfile +0 -10
  114. data/docker/env_files/circleci.env.enc +0 -5
  115. data/lib/roro/cli/base.rb +0 -137
  116. data/lib/roro/cli/templates/Gemfile.lock +0 -0
  117. data/lib/roro/cli/templates/Guardfile +0 -81
  118. data/lib/roro/cli/templates/circleci/Rakefile +0 -4
  119. data/lib/roro/cli/templates/circleci/config.job-example.yml +0 -33
  120. data/lib/roro/cli/templates/circleci/config.yml +0 -69
  121. data/lib/roro/cli/templates/circleci/config.yml.workflow-example +0 -62
  122. data/lib/roro/cli/templates/circleci/deploy.rake +0 -127
  123. data/lib/roro/cli/templates/config.yml +0 -71
  124. data/lib/roro/cli/templates/docker-compose.yml +0 -53
  125. data/lib/roro/cli/templates/docker/containers/app/Dockerfile.tt +0 -12
  126. data/lib/roro/cli/templates/docker/containers/web/Dockerfile.tt +0 -18
  127. data/lib/roro/cli/templates/docker/containers/web/app.conf.tt +0 -23
  128. data/lib/roro/cli/templates/docker/overrides/circleci.yml.tt +0 -19
  129. data/lib/roro/cli/templates/docker/overrides/production.yml.tt +0 -26
  130. data/lib/roro/cli/templates/docker/web/Dockerfile +0 -20
  131. data/lib/roro/cli/templates/docker/web/app.conf +0 -23
  132. data/lib/roro/cli/templates/gitignore +0 -27
  133. data/lib/roro/cli/templates/greenfield/Dockerfile +0 -8
  134. data/lib/roro/cli/templates/lib/tasks/deploy.rake +0 -126
  135. data/test_apps/dummy/.gitignore +0 -27
  136. data/test_apps/dummy/Gemfile +0 -61
  137. data/test_apps/dummy/README.md +0 -24
  138. data/test_apps/dummy/Rakefile +0 -6
  139. data/test_apps/dummy/app/assets/config/manifest.js +0 -3
  140. data/test_apps/dummy/app/assets/javascripts/application.js +0 -16
  141. data/test_apps/dummy/app/assets/javascripts/cable.js +0 -13
  142. data/test_apps/dummy/app/assets/stylesheets/application.css +0 -15
  143. data/test_apps/dummy/app/channels/application_cable/channel.rb +0 -4
  144. data/test_apps/dummy/app/channels/application_cable/connection.rb +0 -4
  145. data/test_apps/dummy/app/controllers/application_controller.rb +0 -2
  146. data/test_apps/dummy/app/helpers/application_helper.rb +0 -2
  147. data/test_apps/dummy/app/jobs/application_job.rb +0 -2
  148. data/test_apps/dummy/app/mailers/application_mailer.rb +0 -4
  149. data/test_apps/dummy/app/models/application_record.rb +0 -3
  150. data/test_apps/dummy/app/views/layouts/application.html.erb +0 -15
  151. data/test_apps/dummy/app/views/layouts/mailer.html.erb +0 -13
  152. data/test_apps/dummy/app/views/layouts/mailer.text.erb +0 -1
  153. data/test_apps/dummy/bin/bundle +0 -3
  154. data/test_apps/dummy/bin/rails +0 -4
  155. data/test_apps/dummy/bin/rake +0 -4
  156. data/test_apps/dummy/bin/setup +0 -36
  157. data/test_apps/dummy/bin/update +0 -31
  158. data/test_apps/dummy/bin/yarn +0 -11
  159. data/test_apps/dummy/config.ru +0 -5
  160. data/test_apps/dummy/config/application.rb +0 -19
  161. data/test_apps/dummy/config/boot.rb +0 -4
  162. data/test_apps/dummy/config/cable.yml +0 -10
  163. data/test_apps/dummy/config/credentials.yml.enc +0 -1
  164. data/test_apps/dummy/config/environment.rb +0 -5
  165. data/test_apps/dummy/config/environments/development.rb +0 -61
  166. data/test_apps/dummy/config/environments/production.rb +0 -94
  167. data/test_apps/dummy/config/environments/test.rb +0 -46
  168. data/test_apps/dummy/config/initializers/application_controller_renderer.rb +0 -8
  169. data/test_apps/dummy/config/initializers/assets.rb +0 -14
  170. data/test_apps/dummy/config/initializers/backtrace_silencers.rb +0 -7
  171. data/test_apps/dummy/config/initializers/content_security_policy.rb +0 -25
  172. data/test_apps/dummy/config/initializers/cookies_serializer.rb +0 -5
  173. data/test_apps/dummy/config/initializers/filter_parameter_logging.rb +0 -4
  174. data/test_apps/dummy/config/initializers/inflections.rb +0 -16
  175. data/test_apps/dummy/config/initializers/mime_types.rb +0 -4
  176. data/test_apps/dummy/config/initializers/wrap_parameters.rb +0 -14
  177. data/test_apps/dummy/config/locales/en.yml +0 -33
  178. data/test_apps/dummy/config/puma.rb +0 -34
  179. data/test_apps/dummy/config/routes.rb +0 -3
  180. data/test_apps/dummy/config/spring.rb +0 -6
  181. data/test_apps/dummy/config/storage.yml +0 -34
  182. data/test_apps/dummy/db/seeds.rb +0 -7
  183. data/test_apps/dummy/package.json +0 -5
  184. data/test_apps/dummy/public/404.html +0 -67
  185. data/test_apps/dummy/public/422.html +0 -67
  186. data/test_apps/dummy/public/500.html +0 -66
  187. data/test_apps/dummy/public/apple-touch-icon-precomposed.png +0 -0
  188. data/test_apps/dummy/public/apple-touch-icon.png +0 -0
  189. data/test_apps/dummy/public/favicon.ico +0 -0
  190. data/test_apps/dummy/public/robots.txt +0 -1
  191. data/test_apps/dummy/storage/.keep +0 -0
  192. data/test_apps/dummy/test/application_system_test_case.rb +0 -5
  193. data/test_apps/dummy/test/controllers/.keep +0 -0
  194. data/test_apps/dummy/test/fixtures/.keep +0 -0
  195. data/test_apps/dummy/test/fixtures/files/.keep +0 -0
  196. data/test_apps/dummy/test/helpers/.keep +0 -0
  197. data/test_apps/dummy/test/integration/.keep +0 -0
  198. data/test_apps/dummy/test/mailers/.keep +0 -0
  199. data/test_apps/dummy/test/models/.keep +0 -0
  200. data/test_apps/dummy/test/system/.keep +0 -0
  201. data/test_apps/dummy/test/test_helper.rb +0 -10
  202. data/test_apps/dummy/tmp/.keep +0 -0
  203. data/test_apps/dummy/vendor/.keep +0 -0
  204. data/test_apps/dummy_gem/.keep +0 -0
  205. data/test_apps/dummy_roro/.circleci/Rakefile +0 -4
  206. data/test_apps/dummy_roro/.circleci/config.job-example.yml +0 -33
  207. data/test_apps/dummy_roro/.circleci/config.yml.workflow-example +0 -62
  208. data/test_apps/dummy_roro/.circleci/deploy.rake +0 -127
  209. data/test_apps/dummy_roro/.gitignore +0 -27
  210. data/test_apps/dummy_roro/Gemfile +0 -64
  211. data/test_apps/dummy_roro/README.md +0 -24
  212. data/test_apps/dummy_roro/Rakefile +0 -6
  213. data/test_apps/dummy_roro/app/assets/config/manifest.js +0 -3
  214. data/test_apps/dummy_roro/app/assets/images/.keep +0 -0
  215. data/test_apps/dummy_roro/app/assets/javascripts/application.js +0 -16
  216. data/test_apps/dummy_roro/app/assets/javascripts/cable.js +0 -13
  217. data/test_apps/dummy_roro/app/assets/javascripts/channels/.keep +0 -0
  218. data/test_apps/dummy_roro/app/assets/stylesheets/application.css +0 -15
  219. data/test_apps/dummy_roro/app/channels/application_cable/channel.rb +0 -4
  220. data/test_apps/dummy_roro/app/channels/application_cable/connection.rb +0 -4
  221. data/test_apps/dummy_roro/app/controllers/application_controller.rb +0 -2
  222. data/test_apps/dummy_roro/app/controllers/concerns/.keep +0 -0
  223. data/test_apps/dummy_roro/app/helpers/application_helper.rb +0 -2
  224. data/test_apps/dummy_roro/app/jobs/application_job.rb +0 -2
  225. data/test_apps/dummy_roro/app/mailers/application_mailer.rb +0 -4
  226. data/test_apps/dummy_roro/app/models/application_record.rb +0 -3
  227. data/test_apps/dummy_roro/app/models/concerns/.keep +0 -0
  228. data/test_apps/dummy_roro/app/views/layouts/application.html.erb +0 -15
  229. data/test_apps/dummy_roro/app/views/layouts/mailer.html.erb +0 -13
  230. data/test_apps/dummy_roro/app/views/layouts/mailer.text.erb +0 -1
  231. data/test_apps/dummy_roro/bin/bundle +0 -3
  232. data/test_apps/dummy_roro/bin/rails +0 -4
  233. data/test_apps/dummy_roro/bin/rake +0 -4
  234. data/test_apps/dummy_roro/bin/setup +0 -36
  235. data/test_apps/dummy_roro/bin/update +0 -31
  236. data/test_apps/dummy_roro/bin/yarn +0 -11
  237. data/test_apps/dummy_roro/config.ru +0 -5
  238. data/test_apps/dummy_roro/config/application.rb +0 -19
  239. data/test_apps/dummy_roro/config/boot.rb +0 -4
  240. data/test_apps/dummy_roro/config/cable.yml +0 -10
  241. data/test_apps/dummy_roro/config/credentials.yml.enc +0 -1
  242. data/test_apps/dummy_roro/config/database.yml +0 -20
  243. data/test_apps/dummy_roro/config/environment.rb +0 -5
  244. data/test_apps/dummy_roro/config/environments/development.rb +0 -61
  245. data/test_apps/dummy_roro/config/environments/production.rb +0 -94
  246. data/test_apps/dummy_roro/config/environments/test.rb +0 -46
  247. data/test_apps/dummy_roro/config/initializers/application_controller_renderer.rb +0 -8
  248. data/test_apps/dummy_roro/config/initializers/assets.rb +0 -14
  249. data/test_apps/dummy_roro/config/initializers/backtrace_silencers.rb +0 -7
  250. data/test_apps/dummy_roro/config/initializers/content_security_policy.rb +0 -25
  251. data/test_apps/dummy_roro/config/initializers/cookies_serializer.rb +0 -5
  252. data/test_apps/dummy_roro/config/initializers/filter_parameter_logging.rb +0 -4
  253. data/test_apps/dummy_roro/config/initializers/inflections.rb +0 -16
  254. data/test_apps/dummy_roro/config/initializers/mime_types.rb +0 -4
  255. data/test_apps/dummy_roro/config/initializers/wrap_parameters.rb +0 -14
  256. data/test_apps/dummy_roro/config/locales/en.yml +0 -33
  257. data/test_apps/dummy_roro/config/puma.rb +0 -34
  258. data/test_apps/dummy_roro/config/routes.rb +0 -3
  259. data/test_apps/dummy_roro/config/spring.rb +0 -6
  260. data/test_apps/dummy_roro/config/storage.yml +0 -34
  261. data/test_apps/dummy_roro/db/seeds.rb +0 -7
  262. data/test_apps/dummy_roro/docker-compose.yml +0 -51
  263. data/test_apps/dummy_roro/docker/containers/app/Dockerfile +0 -12
  264. data/test_apps/dummy_roro/docker/containers/app/circleci.env +0 -2
  265. data/test_apps/dummy_roro/docker/containers/app/development.env +0 -2
  266. data/test_apps/dummy_roro/docker/containers/app/production.env +0 -2
  267. data/test_apps/dummy_roro/docker/containers/app/staging.env +0 -2
  268. data/test_apps/dummy_roro/docker/containers/database/.keep +0 -0
  269. data/test_apps/dummy_roro/docker/containers/database/circleci.env +0 -3
  270. data/test_apps/dummy_roro/docker/containers/database/development.env +0 -3
  271. data/test_apps/dummy_roro/docker/containers/database/production.env +0 -3
  272. data/test_apps/dummy_roro/docker/containers/database/staging.env +0 -3
  273. data/test_apps/dummy_roro/docker/containers/web/Dockerfile +0 -18
  274. data/test_apps/dummy_roro/docker/containers/web/app.conf +0 -23
  275. data/test_apps/dummy_roro/docker/containers/web/circleci.env +0 -1
  276. data/test_apps/dummy_roro/docker/containers/web/development.env +0 -1
  277. data/test_apps/dummy_roro/docker/containers/web/production.env +0 -1
  278. data/test_apps/dummy_roro/docker/containers/web/staging.env +0 -1
  279. data/test_apps/dummy_roro/docker/env_files/circleci.env +0 -12
  280. data/test_apps/dummy_roro/docker/env_files/circleci.env.enc +0 -14
  281. data/test_apps/dummy_roro/docker/env_files/production.env +0 -2
  282. data/test_apps/dummy_roro/docker/env_files/production.env.enc +0 -2
  283. data/test_apps/dummy_roro/docker/keys/.keep +0 -0
  284. data/test_apps/dummy_roro/docker/overrides/circleci.yml +0 -19
  285. data/test_apps/dummy_roro/docker/overrides/production.yml +0 -26
  286. data/test_apps/dummy_roro/lib/assets/.keep +0 -0
  287. data/test_apps/dummy_roro/lib/tasks/.keep +0 -0
  288. data/test_apps/dummy_roro/lib/tasks/deploy.rake +0 -126
  289. data/test_apps/dummy_roro/log/.keep +0 -0
  290. data/test_apps/dummy_roro/package.json +0 -5
  291. data/test_apps/dummy_roro/public/404.html +0 -67
  292. data/test_apps/dummy_roro/public/422.html +0 -67
  293. data/test_apps/dummy_roro/public/500.html +0 -66
  294. data/test_apps/dummy_roro/public/apple-touch-icon-precomposed.png +0 -0
  295. data/test_apps/dummy_roro/public/apple-touch-icon.png +0 -0
  296. data/test_apps/dummy_roro/public/favicon.ico +0 -0
  297. data/test_apps/dummy_roro/public/robots.txt +0 -1
  298. data/test_apps/dummy_roro/storage/.keep +0 -0
  299. data/test_apps/dummy_roro/test/application_system_test_case.rb +0 -5
  300. data/test_apps/dummy_roro/test/controllers/.keep +0 -0
  301. data/test_apps/dummy_roro/test/fixtures/.keep +0 -0
  302. data/test_apps/dummy_roro/test/fixtures/files/.keep +0 -0
  303. data/test_apps/dummy_roro/test/helpers/.keep +0 -0
  304. data/test_apps/dummy_roro/test/integration/.keep +0 -0
  305. data/test_apps/dummy_roro/test/mailers/.keep +0 -0
  306. data/test_apps/dummy_roro/test/models/.keep +0 -0
  307. data/test_apps/dummy_roro/test/system/.keep +0 -0
  308. data/test_apps/dummy_roro/test/test_helper.rb +0 -10
  309. data/test_apps/dummy_roro/tmp/.keep +0 -0
  310. data/test_apps/dummy_roro/vendor/.keep +0 -0
  311. data/test_apps/greenfield/.keep +0 -0
  312. data/vendor/cache/actionpack-5.2.2.gem +0 -0
  313. data/vendor/cache/actionview-5.2.2.gem +0 -0
  314. data/vendor/cache/activesupport-5.2.2.gem +0 -0
  315. data/vendor/cache/addressable-2.5.2.gem +0 -0
  316. data/vendor/cache/builder-3.2.3.gem +0 -0
  317. data/vendor/cache/coderay-1.1.2.gem +0 -0
  318. data/vendor/cache/concurrent-ruby-1.1.4.gem +0 -0
  319. data/vendor/cache/crass-1.0.4.gem +0 -0
  320. data/vendor/cache/erubi-1.8.0.gem +0 -0
  321. data/vendor/cache/ffi-1.9.25.gem +0 -0
  322. data/vendor/cache/guard-2.15.0.gem +0 -0
  323. data/vendor/cache/i18n-1.3.0.gem +0 -0
  324. data/vendor/cache/launchy-2.4.3.gem +0 -0
  325. data/vendor/cache/listen-3.1.5.gem +0 -0
  326. data/vendor/cache/loofah-2.2.3.gem +0 -0
  327. data/vendor/cache/lumberjack-1.0.13.gem +0 -0
  328. data/vendor/cache/method_source-0.9.2.gem +0 -0
  329. data/vendor/cache/minitest-5.11.3.gem +0 -0
  330. data/vendor/cache/minitest-rails-3.0.0.gem +0 -0
  331. data/vendor/cache/multi_json-1.13.1.gem +0 -0
  332. data/vendor/cache/net-scp-2.0.0.gem +0 -0
  333. data/vendor/cache/net-ssh-5.2.0.gem +0 -0
  334. data/vendor/cache/notiffany-0.1.1.gem +0 -0
  335. data/vendor/cache/pry-0.12.2.gem +0 -0
  336. data/vendor/cache/public_suffix-3.0.3.gem +0 -0
  337. data/vendor/cache/rack-2.0.6.gem +0 -0
  338. data/vendor/cache/rails-html-sanitizer-1.0.4.gem +0 -0
  339. data/vendor/cache/railties-5.2.2.gem +0 -0
  340. data/vendor/cache/rake-10.5.0.gem +0 -0
  341. data/vendor/cache/rb-fsevent-0.10.3.gem +0 -0
  342. data/vendor/cache/rb-inotify-0.10.0.gem +0 -0
  343. data/vendor/cache/ruby_dep-1.5.0.gem +0 -0
  344. data/vendor/cache/shoulda-3.6.0.gem +0 -0
  345. data/vendor/cache/shoulda-context-1.2.2.gem +0 -0
  346. data/vendor/cache/shoulda-matchers-3.1.2.gem +0 -0
  347. data/vendor/cache/sorcerer-1.0.2.gem +0 -0
  348. data/vendor/cache/thor-0.20.3.gem +0 -0
  349. 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: 07120301e41039997a4c33fb6f688fe24c8ff257b59e98565cb205aaf1da6b3e
4
- data.tar.gz: '08bc0b854fe1b8539e0936991f5e9608962fa350d53667bca9c36455b7cd5611'
3
+ metadata.gz: 6ae59fe35a7653d9c15191a99184ad9f850a50eb49ae6cde1da06ddf29b420a9
4
+ data.tar.gz: 00c864acbcf2155ad14ee0ab6d1b01bb0194352d80fa8191c950691863feb2df
5
5
  SHA512:
6
- metadata.gz: 26620f53160df41b7633647924031b7d1da511418b70ac360ccc81e2ba8164d8c5d79f54e5f721ccc6c98560e7a902281c6c249a03326742b8553f3bd52a86ea
7
- data.tar.gz: 1d4179d095a15666a55a4eadefa71677f896036592f0df642d6585d784703bda4e49ea70281260f4b367e02ddf97a35a369160bd780e4807c64d74fb966f492a
6
+ metadata.gz: 9c181460cfb92d19799ad53801f690fcc02335153985a849685a4e4472d935502b25e65387c3a9124b19453498b9f6d575ea128ac73dffe68b556b0c99391beb
7
+ data.tar.gz: a8051fd9f5d70b54dc490c5735396e7bca783554ce42cae6ecab90490d870c77b2b0aa41ce1ed46f00cf7c0c9195b7b5153b9a966ce1028c6f2c5fa53325e887
data/.gitignore CHANGED
@@ -5,13 +5,7 @@
5
5
  /doc/
6
6
  /pkg/
7
7
  /spec/reports/
8
- tmp/dummy/
9
- tmp/dummy_gem/
10
- tmp/dummy_roro/
11
- tmp/greenfield/
12
- !tmp/.keep
13
- greenfield/**/*
8
+ tmp/*
9
+ Gemfile.lock
14
10
  .byebug_history
15
-
16
- docker/**/*.env
17
- docker/**/*.key
11
+ /sandbox/**/*
File without changes
data/Guardfile CHANGED
@@ -3,11 +3,11 @@
3
3
 
4
4
  options = {
5
5
  cli: '',
6
- all_after_run: false
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$})
@@ -1,5 +1,6 @@
1
+ require 'byebug'
1
2
  require 'thor'
2
- require 'roro/cli/base'
3
+ require 'roro/cli/base/base'
3
4
  require 'roro/cli/rollon'
4
5
  require 'roro/cli/greenfield'
5
6
  require 'roro/cli/generate_keys'
@@ -15,7 +16,5 @@ module Roro
15
16
  def self.source_root
16
17
  File.dirname(__FILE__) + '/cli/templates'
17
18
  end
18
-
19
-
20
19
  end
21
20
  end
@@ -0,0 +1,7 @@
1
+ require_relative 'configuration.rb'
2
+ require_relative 'continuous_integration.rb'
3
+ require_relative 'utilities.rb'
4
+ require_relative 'insertions.rb'
5
+ require_relative 'insert_gems.rb'
6
+ require_relative 'base_files.rb'
7
+
@@ -0,0 +1,38 @@
1
+ module Roro
2
+
3
+ class CLI < Thor
4
+
5
+ no_commands do
6
+
7
+ def copy_dockerignore
8
+ copy_file 'base/.dockerignore', '.dockerignore', @env_hash[:use_force]
9
+
10
+ end
11
+
12
+ def copy_host_example
13
+ copy_file 'base/livereload/hosts.example', 'hosts.example'
14
+ end
15
+
16
+ def copy_docker_compose
17
+ template "base/docker-compose.yml", 'docker-compose.yml', @env_hash[:force]
18
+ end
19
+
20
+ def copy_roro
21
+ directory 'base/roro/containers/app', "roro/containers/#{@env_hash[:app_name]}", @env_hash
22
+ directory 'base/roro/containers/database', "roro/containers/#{@env_hash[:database_container]}", @env_hash
23
+ directory 'base/roro/containers/frontend', "roro/containers/#{@env_hash[:frontend_container]}", @env_hash
24
+ end
25
+
26
+ def copy_config_database_yml
27
+ copy_file "base/config/database.yml", 'config/database.yml', @env_hash[:use_force]
28
+ end
29
+
30
+ def copy_base_files
31
+ copy_circleci
32
+ copy_roro
33
+ copy_docker_compose
34
+ copy_config_database_yml
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,63 @@
1
+
2
+ module Roro
3
+
4
+ class CLI < Thor
5
+
6
+ no_commands do
7
+
8
+ def get_configuration_variables
9
+ options["interactive"] ? set_interactively : set_from_defaults
10
+ @env_hash[:deploy_tag] = "${CIRCLE_SHA1:0:7}"
11
+ @env_hash[:server_port] = "22"
12
+ @env_hash[:server_user] = "root"
13
+ @env_hash
14
+ end
15
+
16
+ def set_from_defaults
17
+ @env_hash = configuration_hash
18
+ @env_hash.map do |key, hash|
19
+ @env_hash[key] = hash.values.last
20
+ end
21
+ @env_hash
22
+ end
23
+
24
+ def set_interactively
25
+ @env_hash = configuration_hash
26
+ @env_hash.map do |key, prompt|
27
+ answer = ask("Please provide #{prompt.keys.first} or hit enter to accept: \[ #{prompt.values.first} \]")
28
+ @env_hash[key] = (answer == "") ? prompt.values.first : answer
29
+ end
30
+ end
31
+
32
+ private
33
+
34
+ def configuration_hash
35
+ {
36
+ app_name: {
37
+ "the name of your app" => `pwd`.split('/').last.strip! },
38
+ ruby_version: {
39
+ "the version of ruby you'd like" => `ruby -v`.scan(/\d.\d/).first },
40
+ server_host: {
41
+ "the ip address of your server" => "ip-address-of-your-server"},
42
+ database_container: {
43
+ "the name of your database container" => "database"},
44
+ frontend_container: {
45
+ "the name of your frontend container" => "frontend"},
46
+ server_container: {
47
+ "the name of your server container" => "nginx"},
48
+ dockerhub_email: {
49
+ "your Docker Hub email" => "your-docker-hub-email"},
50
+ dockerhub_user: {
51
+ "your Docker Hub username" => "your-docker-hub-user-name" },
52
+ dockerhub_org: {
53
+ "your Docker Hub organization name" => "your-docker-hub-org-name"},
54
+ dockerhub_password: {
55
+ "your Docker Hub password" => "your-docker-hub-password"},
56
+ postgres_user: {
57
+ "your Postgres username" => "postgres"},
58
+ postgres_password: {
59
+ "your Postgres password" => "your-postgres-password"} }
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,13 @@
1
+
2
+ module Roro
3
+
4
+ class CLI < Thor
5
+
6
+ no_commands do
7
+
8
+ def copy_circleci
9
+ directory 'base/circleci', '.circleci', @env_hash
10
+ end
11
+ end
12
+ end
13
+ 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", @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,17 @@
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
+ end
16
+ end
17
+ 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: :string, default: {}, desc: "Pass a list of environment variables like so: env:var", banner: "development, staging"
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
@@ -11,20 +11,24 @@ 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
- confirm_dependencies
18
- copy_greenfield_files
19
- as_system("docker-compose run web rails new . --force --database=postgresql --skip-bundle")
20
- chown_if_required
21
- as_system('sudo docker-compose build')
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'
17
+ get_configuration_variables
18
+ @env_hash[:use_force] = { force: true }
19
+ template 'greenfield/Dockerfile.tt', 'Dockerfile', @env_hash
20
+ system "DOCKER_BUILDKIT=1 docker build --file Dockerfile --output . ."
21
+ rollon_as_dockerized
25
22
  end
26
-
23
+
27
24
  no_commands do
25
+
26
+ def copy_greenfield_files
27
+ template 'greenfield/Dockerfile.tt', 'Dockerfile', @env_hash
28
+ template 'greenfield/docker-compose.yml', 'docker-compose.yml'
29
+ copy_file 'greenfield/Gemfile', 'Gemfile'
30
+ copy_file 'greenfield/Gemfile.lock', 'Gemfile.lock'
31
+ end
28
32
 
29
33
  def as_system(command)
30
34
  command = OS.linux? ? "sudo #{command}" : command
@@ -1,21 +1,28 @@
1
+ require_relative 'rollon/use_cases'
2
+
1
3
  module Roro
2
4
 
3
5
  class CLI < Thor
4
6
 
5
- method_option :env_vars, type: :hash, default: {}, desc: "Pass a list of environment variables like so: env:var", banner: "key1:value1 key2:value2"
6
- desc "rollon", "Generates files necessary to greenfield a new app within a dockerized rails container, along with a set of files necessary for continuous deployment using CircleCI"
7
+ desc "rollon", "Generates files and makes changes to your rails app necessary
8
+ to run it using Docker containers."
7
9
  method_option :interactive, desc: "Set up your environment variables as you go."
8
10
 
9
11
  def rollon
10
- configurate
11
- if Dir['./*'].empty?
12
- raise Roro::Error.new("Oops -- Roro can't roll itself onto a Rails app if it doesn't exist. Please either change into a directory with a Rails app or generate a new one using '$ roro greenfield'.")
13
- end
14
- copy_base_files
15
- append_to_existing_files
16
- insert_into_file 'Gemfile', "gem 'sshkit'\n\n", before: "group :development, :test do"
17
- insert_into_file 'Gemfile', "\n\tgem 'handsome_fencer-test'", after: "group :development, :test do"
18
-
12
+ # if Dir['./*'].empty?
13
+ # raise Roro::Error.new("Oops -- Roro can't roll itself onto a Rails app if it
14
+ # doesn't exist. Please either change into a directory with a Rails app or
15
+ # generate a new one using '$ roro greenfield'.")
16
+ # end
17
+ get_configuration_variables
18
+ # 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) })
19
+ # when '1'
20
+ # rollon_as_quickstart
21
+ # when '2'
22
+ # rollon_as_dockerized
23
+ # when '3'
24
+ # end
25
+ rollon_as_dockerized
19
26
  end
20
27
  end
21
- end
28
+ end
@@ -0,0 +1,28 @@
1
+ module Roro
2
+
3
+ class CLI < Thor
4
+
5
+ no_commands do
6
+
7
+ def rollon_as_dockerized
8
+ copy_dockerignore
9
+ if @env_hash[:use_force][:force]
10
+ config_std_out_true
11
+ else
12
+ if ask('Configure $stdout.sync for docker?', choices).eql?('y')
13
+ end
14
+ end
15
+ copy_config_database_yml
16
+ insert_pg_gem_into_gemfile
17
+ copy_file 'dockerize/docker-compose.yml', 'docker-compose.yml'
18
+ template "dockerize/Dockerfile", 'Dockerfile', @env_hash
19
+ copy_file 'dockerize/docker-entrypoint.sh', 'docker-entrypoint.sh'
20
+ directory 'dockerize/.env', '.env'
21
+ system 'docker-compose build'
22
+ system 'docker-compose run --no-deps web bin/rails webpacker:install'
23
+ system 'docker-compose up'
24
+ copy_host_example
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,17 @@
1
+ module Roro
2
+ class CLI < Thor
3
+
4
+ no_commands do
5
+
6
+ def rollon_as_quickstart
7
+ copy_file "quickstart/docker-compose.yml", 'docker-compose.yml'
8
+ copy_file "quickstart/entrypoint.sh", 'entrypoint.sh'
9
+ copy_file "quickstart/database.yml", "config/database.yml"
10
+ template "quickstart/Dockerfile", 'Dockerfile', @env_hash
11
+
12
+ insert_pg_gem_into_gemfile
13
+ system 'sudo chown -R $USER .'
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,30 @@
1
+ module Roro
2
+
3
+ class CLI < Thor
4
+
5
+ no_commands do
6
+
7
+ def rollon_as_roro
8
+ if Dir['./*'].empty?
9
+ raise Roro::Error.new("Oops -- Roro can't roll itself onto a Rails app if it doesn't exist. Please either change into a directory with a Rails app or generate a new one using '$ roro greenfield'.")
10
+ end
11
+ if ask('Configure $stdout.sync for docker?', choices).eql?('y')
12
+ config_std_out_true
13
+ end
14
+ if ask('Configure .gitignore for roro?', choices).eql?('y')
15
+ gitignore_sensitive_files
16
+ end
17
+ if ask('Add RoRo to your Gemfile?', choices).eql?('y')
18
+ insert_roro_gem_into_gemfile
19
+ end
20
+ if ask('Add handsome_fencer-test to your Gemfile?', choices).eql?('y')
21
+ insert_hfci_gem_into_gemfile
22
+ end
23
+ if ask("Backup 'config/database.yml'?").eql?('y')
24
+ FileUtils.mv 'config/database.yml', "config/database.yml.backup"
25
+ end
26
+ copy_base_files
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,3 @@
1
+ require_relative 'as_quickstart.rb'
2
+ require_relative 'as_dockerize.rb'
3
+ require_relative 'as_roro.rb'
@@ -7,6 +7,12 @@ module Roro
7
7
  desc "ruby_gem", "Generate files for containerized gem testing, CircleCI, and releasing to RubyGems."
8
8
  method_option :rubies, type: :array, banner: "2.5.3 2.4.2"
9
9
 
10
+ no_commands do
11
+ def copy_ruby_gem_files
12
+ copy_file 'ruby_gem/config.yml', '.circleci/config.yml'
13
+ end
14
+ end
15
+
10
16
  def ruby_gem
11
17
  rubies = options["rubies"] || ["2.5.3", "2.6.0"]
12
18
  copy_file 'ruby_gem/docker-compose.yml', 'docker-compose.yml'
@@ -0,0 +1,13 @@
1
+ # Git
2
+ .git # <label id="chapter.fine-tuning-our-rails-image.dockerignore.git-history" />
3
+ .gitignore # <label id="chapter.fine-tuning-our-rails-image.dockerignore.gitignore" />
4
+
5
+ # Logs
6
+ log/* # <label id="chapter.fine-tuning-our-rails-image.dockerignore.log_dir" />
7
+
8
+ # Temp files
9
+ tmp/* # <label id="chapter.fine-tuning-our-rails-image.dockerignore.tmp_dir" />
10
+
11
+ # Editor temp files
12
+ *.swp # <label id="chapter.fine-tuning-our-rails-image.dockerignore.vim_swp_files" />
13
+ *.swo # <label id="chapter.fine-tuning-our-rails-image.dockerignore.vim_swo_files" />