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.
Files changed (353) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -9
  3. data/{docker/env_files/.keep → .keep} +0 -0
  4. data/Guardfile +6 -3
  5. data/lib/roro/cli.rb +1 -3
  6. data/lib/roro/cli/base/base.rb +7 -0
  7. data/lib/roro/cli/base/base_files.rb +30 -0
  8. data/lib/roro/cli/base/configuration.rb +118 -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 +39 -0
  13. data/lib/roro/cli/generate_keys.rb +1 -1
  14. data/lib/roro/cli/greenfield.rb +19 -73
  15. data/lib/roro/cli/rollon.rb +30 -13
  16. data/lib/roro/cli/rollon/rollon_as_dockerize.rb +42 -0
  17. data/lib/roro/cli/rollon/rollon_as_quickstart.rb +17 -0
  18. data/lib/roro/cli/rollon/rollon_as_roro.rb +30 -0
  19. data/lib/roro/cli/rollon/stories.rb +3 -0
  20. data/lib/roro/cli/ruby_gem.rb +6 -0
  21. data/lib/roro/cli/templates/base/.dockerignore +51 -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/database.yml → base/config/database.yml.pg.tt} +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/{test_apps/dummy_roro/config/database.yml → lib/roro/cli/templates/base/pg/config/database.yml.pg.tt} +0 -0
  28. data/lib/roro/cli/templates/base/pg/database.yml.pg.tt +20 -0
  29. data/lib/roro/cli/templates/{docker/containers/database → base/roro}/.keep +0 -0
  30. data/lib/roro/cli/templates/{docker/env_files → base/roro/containers}/.keep +0 -0
  31. data/lib/roro/cli/templates/{docker/keys → base/roro/containers/app}/.keep +0 -0
  32. data/lib/roro/cli/templates/base/roro/containers/app/Dockerfile.tt +32 -0
  33. data/lib/roro/cli/templates/base/roro/containers/app/development.env.tt +1 -0
  34. data/lib/roro/cli/templates/base/roro/containers/app/docker-entrypoint.sh +8 -0
  35. data/lib/roro/cli/templates/base/roro/containers/app/test.env.tt +1 -0
  36. data/lib/roro/cli/templates/base/roro/containers/database/development.env.tt +4 -0
  37. data/lib/roro/cli/templates/base/roro/containers/database/test.env.tt +4 -0
  38. data/{test_apps/dummy/app/assets/images → lib/roro/cli/templates/base/roro/containers/frontend}/.keep +0 -0
  39. data/{test_apps/dummy/app/assets/javascripts/channels → lib/roro/cli/templates/dockerize/.env}/.keep +0 -0
  40. data/{test_apps/dummy/app/controllers/concerns → lib/roro/cli/templates/dockerize/.env/development}/.keep +0 -0
  41. data/lib/roro/cli/templates/dockerize/.env/development/database +3 -0
  42. data/lib/roro/cli/templates/dockerize/.env/development/web +1 -0
  43. data/{test_apps/dummy/app/models/concerns → lib/roro/cli/templates/dockerize}/.keep +0 -0
  44. data/lib/roro/cli/templates/dockerize/Dockerfile.tt +23 -0
  45. data/lib/roro/cli/templates/dockerize/docker-compose.yml.tt +60 -0
  46. data/lib/roro/cli/templates/dockerize/docker-entrypoint.sh +9 -0
  47. data/lib/roro/cli/templates/greenfield/Dockerfile.tt +21 -0
  48. data/lib/roro/cli/templates/greenfield/docker-compose.yml.tt +55 -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/{greenfield → quickstart}/docker-compose.yml +4 -2
  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-0.3.4.gem +0 -0
  64. data/roro.gemspec +6 -3
  65. data/vendor/cache/actionpack-6.0.3.2.gem +0 -0
  66. data/vendor/cache/actionview-6.0.3.2.gem +0 -0
  67. data/vendor/cache/activesupport-6.0.3.2.gem +0 -0
  68. data/vendor/cache/addressable-2.7.0.gem +0 -0
  69. data/vendor/cache/builder-3.2.4.gem +0 -0
  70. data/vendor/cache/byebug-11.1.3.gem +0 -0
  71. data/vendor/cache/coderay-1.1.3.gem +0 -0
  72. data/vendor/cache/concurrent-ruby-1.1.6.gem +0 -0
  73. data/vendor/cache/crass-1.0.6.gem +0 -0
  74. data/vendor/cache/erubi-1.9.0.gem +0 -0
  75. data/vendor/cache/ffi-1.13.1.gem +0 -0
  76. data/vendor/cache/guard-2.16.2.gem +0 -0
  77. data/vendor/cache/i18n-1.8.5.gem +0 -0
  78. data/vendor/cache/launchy-2.5.0.gem +0 -0
  79. data/vendor/cache/listen-3.2.1.gem +0 -0
  80. data/vendor/cache/loofah-2.6.0.gem +0 -0
  81. data/vendor/cache/lumberjack-1.2.7.gem +0 -0
  82. data/vendor/cache/method_source-1.0.0.gem +0 -0
  83. data/vendor/cache/minitest-5.14.1.gem +0 -0
  84. data/vendor/cache/minitest-rails-6.0.1.gem +0 -0
  85. data/vendor/cache/mocha-1.11.2.gem +0 -0
  86. data/vendor/cache/multi_json-1.15.0.gem +0 -0
  87. data/vendor/cache/net-scp-3.0.0.gem +0 -0
  88. data/vendor/cache/net-ssh-6.1.0.gem +0 -0
  89. data/vendor/cache/{nokogiri-1.9.1.gem → nokogiri-1.10.10.gem} +0 -0
  90. data/vendor/cache/notiffany-0.1.3.gem +0 -0
  91. data/vendor/cache/pry-0.13.1.gem +0 -0
  92. data/vendor/cache/public_suffix-4.0.5.gem +0 -0
  93. data/vendor/cache/rack-2.2.3.gem +0 -0
  94. data/vendor/cache/rails-html-sanitizer-1.3.0.gem +0 -0
  95. data/vendor/cache/railties-6.0.3.2.gem +0 -0
  96. data/vendor/cache/rake-13.0.1.gem +0 -0
  97. data/vendor/cache/rb-fsevent-0.10.4.gem +0 -0
  98. data/vendor/cache/rb-inotify-0.10.1.gem +0 -0
  99. data/vendor/cache/shoulda-4.0.0.gem +0 -0
  100. data/vendor/cache/shoulda-context-2.0.0.gem +0 -0
  101. data/vendor/cache/shoulda-matchers-4.3.0.gem +0 -0
  102. data/vendor/cache/sorcerer-2.0.1.gem +0 -0
  103. data/vendor/cache/thor-1.0.1.gem +0 -0
  104. data/vendor/cache/tzinfo-1.2.7.gem +0 -0
  105. data/vendor/cache/zeitwerk-2.4.0.gem +0 -0
  106. metadata +134 -276
  107. data/.circleci/config.yml +0 -177
  108. data/.circleci/setup-gem-credentials.sh +0 -3
  109. data/.ruby-version +0 -1
  110. data/Gemfile.lock +0 -165
  111. data/_config.yml +0 -1
  112. data/docker-compose.yml +0 -21
  113. data/docker/containers/2_5_3/Dockerfile +0 -10
  114. data/docker/containers/2_6_0/Dockerfile +0 -10
  115. data/docker/containers/app/Dockerfile +0 -10
  116. data/docker/env_files/circleci.env.enc +0 -5
  117. data/lib/roro/cli/base.rb +0 -137
  118. data/lib/roro/cli/templates/Gemfile.lock +0 -0
  119. data/lib/roro/cli/templates/Guardfile +0 -81
  120. data/lib/roro/cli/templates/circleci/Rakefile +0 -4
  121. data/lib/roro/cli/templates/circleci/config.job-example.yml +0 -33
  122. data/lib/roro/cli/templates/circleci/config.yml +0 -69
  123. data/lib/roro/cli/templates/circleci/config.yml.workflow-example +0 -62
  124. data/lib/roro/cli/templates/circleci/deploy.rake +0 -127
  125. data/lib/roro/cli/templates/config.yml +0 -71
  126. data/lib/roro/cli/templates/docker-compose.yml +0 -53
  127. data/lib/roro/cli/templates/docker/containers/app/Dockerfile.tt +0 -12
  128. data/lib/roro/cli/templates/docker/containers/web/Dockerfile.tt +0 -18
  129. data/lib/roro/cli/templates/docker/containers/web/app.conf.tt +0 -23
  130. data/lib/roro/cli/templates/docker/overrides/circleci.yml.tt +0 -19
  131. data/lib/roro/cli/templates/docker/overrides/production.yml.tt +0 -26
  132. data/lib/roro/cli/templates/docker/web/Dockerfile +0 -20
  133. data/lib/roro/cli/templates/docker/web/app.conf +0 -23
  134. data/lib/roro/cli/templates/gitignore +0 -27
  135. data/lib/roro/cli/templates/greenfield/Dockerfile +0 -8
  136. data/lib/roro/cli/templates/greenfield/Gemfile +0 -2
  137. data/lib/roro/cli/templates/greenfield/Gemfile.lock +0 -0
  138. data/lib/roro/cli/templates/greenfield/config/database.yml.example +0 -16
  139. data/lib/roro/cli/templates/lib/tasks/deploy.rake +0 -126
  140. data/test_apps/dummy/.gitignore +0 -27
  141. data/test_apps/dummy/Gemfile +0 -61
  142. data/test_apps/dummy/README.md +0 -24
  143. data/test_apps/dummy/Rakefile +0 -6
  144. data/test_apps/dummy/app/assets/config/manifest.js +0 -3
  145. data/test_apps/dummy/app/assets/javascripts/application.js +0 -16
  146. data/test_apps/dummy/app/assets/javascripts/cable.js +0 -13
  147. data/test_apps/dummy/app/assets/stylesheets/application.css +0 -15
  148. data/test_apps/dummy/app/channels/application_cable/channel.rb +0 -4
  149. data/test_apps/dummy/app/channels/application_cable/connection.rb +0 -4
  150. data/test_apps/dummy/app/controllers/application_controller.rb +0 -2
  151. data/test_apps/dummy/app/helpers/application_helper.rb +0 -2
  152. data/test_apps/dummy/app/jobs/application_job.rb +0 -2
  153. data/test_apps/dummy/app/mailers/application_mailer.rb +0 -4
  154. data/test_apps/dummy/app/models/application_record.rb +0 -3
  155. data/test_apps/dummy/app/views/layouts/application.html.erb +0 -15
  156. data/test_apps/dummy/app/views/layouts/mailer.html.erb +0 -13
  157. data/test_apps/dummy/app/views/layouts/mailer.text.erb +0 -1
  158. data/test_apps/dummy/bin/bundle +0 -3
  159. data/test_apps/dummy/bin/rails +0 -4
  160. data/test_apps/dummy/bin/rake +0 -4
  161. data/test_apps/dummy/bin/setup +0 -36
  162. data/test_apps/dummy/bin/update +0 -31
  163. data/test_apps/dummy/bin/yarn +0 -11
  164. data/test_apps/dummy/config.ru +0 -5
  165. data/test_apps/dummy/config/application.rb +0 -19
  166. data/test_apps/dummy/config/boot.rb +0 -4
  167. data/test_apps/dummy/config/cable.yml +0 -10
  168. data/test_apps/dummy/config/credentials.yml.enc +0 -1
  169. data/test_apps/dummy/config/environment.rb +0 -5
  170. data/test_apps/dummy/config/environments/development.rb +0 -61
  171. data/test_apps/dummy/config/environments/production.rb +0 -94
  172. data/test_apps/dummy/config/environments/test.rb +0 -46
  173. data/test_apps/dummy/config/initializers/application_controller_renderer.rb +0 -8
  174. data/test_apps/dummy/config/initializers/assets.rb +0 -14
  175. data/test_apps/dummy/config/initializers/backtrace_silencers.rb +0 -7
  176. data/test_apps/dummy/config/initializers/content_security_policy.rb +0 -25
  177. data/test_apps/dummy/config/initializers/cookies_serializer.rb +0 -5
  178. data/test_apps/dummy/config/initializers/filter_parameter_logging.rb +0 -4
  179. data/test_apps/dummy/config/initializers/inflections.rb +0 -16
  180. data/test_apps/dummy/config/initializers/mime_types.rb +0 -4
  181. data/test_apps/dummy/config/initializers/wrap_parameters.rb +0 -14
  182. data/test_apps/dummy/config/locales/en.yml +0 -33
  183. data/test_apps/dummy/config/puma.rb +0 -34
  184. data/test_apps/dummy/config/routes.rb +0 -3
  185. data/test_apps/dummy/config/spring.rb +0 -6
  186. data/test_apps/dummy/config/storage.yml +0 -34
  187. data/test_apps/dummy/db/seeds.rb +0 -7
  188. data/test_apps/dummy/package.json +0 -5
  189. data/test_apps/dummy/public/404.html +0 -67
  190. data/test_apps/dummy/public/422.html +0 -67
  191. data/test_apps/dummy/public/500.html +0 -66
  192. data/test_apps/dummy/public/apple-touch-icon-precomposed.png +0 -0
  193. data/test_apps/dummy/public/apple-touch-icon.png +0 -0
  194. data/test_apps/dummy/public/favicon.ico +0 -0
  195. data/test_apps/dummy/public/robots.txt +0 -1
  196. data/test_apps/dummy/storage/.keep +0 -0
  197. data/test_apps/dummy/test/application_system_test_case.rb +0 -5
  198. data/test_apps/dummy/test/controllers/.keep +0 -0
  199. data/test_apps/dummy/test/fixtures/.keep +0 -0
  200. data/test_apps/dummy/test/fixtures/files/.keep +0 -0
  201. data/test_apps/dummy/test/helpers/.keep +0 -0
  202. data/test_apps/dummy/test/integration/.keep +0 -0
  203. data/test_apps/dummy/test/mailers/.keep +0 -0
  204. data/test_apps/dummy/test/models/.keep +0 -0
  205. data/test_apps/dummy/test/system/.keep +0 -0
  206. data/test_apps/dummy/test/test_helper.rb +0 -10
  207. data/test_apps/dummy/tmp/.keep +0 -0
  208. data/test_apps/dummy/vendor/.keep +0 -0
  209. data/test_apps/dummy_gem/.keep +0 -0
  210. data/test_apps/dummy_roro/.circleci/Rakefile +0 -4
  211. data/test_apps/dummy_roro/.circleci/config.job-example.yml +0 -33
  212. data/test_apps/dummy_roro/.circleci/config.yml.workflow-example +0 -62
  213. data/test_apps/dummy_roro/.circleci/deploy.rake +0 -127
  214. data/test_apps/dummy_roro/.gitignore +0 -27
  215. data/test_apps/dummy_roro/Gemfile +0 -64
  216. data/test_apps/dummy_roro/README.md +0 -24
  217. data/test_apps/dummy_roro/Rakefile +0 -6
  218. data/test_apps/dummy_roro/app/assets/config/manifest.js +0 -3
  219. data/test_apps/dummy_roro/app/assets/images/.keep +0 -0
  220. data/test_apps/dummy_roro/app/assets/javascripts/application.js +0 -16
  221. data/test_apps/dummy_roro/app/assets/javascripts/cable.js +0 -13
  222. data/test_apps/dummy_roro/app/assets/javascripts/channels/.keep +0 -0
  223. data/test_apps/dummy_roro/app/assets/stylesheets/application.css +0 -15
  224. data/test_apps/dummy_roro/app/channels/application_cable/channel.rb +0 -4
  225. data/test_apps/dummy_roro/app/channels/application_cable/connection.rb +0 -4
  226. data/test_apps/dummy_roro/app/controllers/application_controller.rb +0 -2
  227. data/test_apps/dummy_roro/app/controllers/concerns/.keep +0 -0
  228. data/test_apps/dummy_roro/app/helpers/application_helper.rb +0 -2
  229. data/test_apps/dummy_roro/app/jobs/application_job.rb +0 -2
  230. data/test_apps/dummy_roro/app/mailers/application_mailer.rb +0 -4
  231. data/test_apps/dummy_roro/app/models/application_record.rb +0 -3
  232. data/test_apps/dummy_roro/app/models/concerns/.keep +0 -0
  233. data/test_apps/dummy_roro/app/views/layouts/application.html.erb +0 -15
  234. data/test_apps/dummy_roro/app/views/layouts/mailer.html.erb +0 -13
  235. data/test_apps/dummy_roro/app/views/layouts/mailer.text.erb +0 -1
  236. data/test_apps/dummy_roro/bin/bundle +0 -3
  237. data/test_apps/dummy_roro/bin/rails +0 -4
  238. data/test_apps/dummy_roro/bin/rake +0 -4
  239. data/test_apps/dummy_roro/bin/setup +0 -36
  240. data/test_apps/dummy_roro/bin/update +0 -31
  241. data/test_apps/dummy_roro/bin/yarn +0 -11
  242. data/test_apps/dummy_roro/config.ru +0 -5
  243. data/test_apps/dummy_roro/config/application.rb +0 -19
  244. data/test_apps/dummy_roro/config/boot.rb +0 -4
  245. data/test_apps/dummy_roro/config/cable.yml +0 -10
  246. data/test_apps/dummy_roro/config/credentials.yml.enc +0 -1
  247. data/test_apps/dummy_roro/config/environment.rb +0 -5
  248. data/test_apps/dummy_roro/config/environments/development.rb +0 -61
  249. data/test_apps/dummy_roro/config/environments/production.rb +0 -94
  250. data/test_apps/dummy_roro/config/environments/test.rb +0 -46
  251. data/test_apps/dummy_roro/config/initializers/application_controller_renderer.rb +0 -8
  252. data/test_apps/dummy_roro/config/initializers/assets.rb +0 -14
  253. data/test_apps/dummy_roro/config/initializers/backtrace_silencers.rb +0 -7
  254. data/test_apps/dummy_roro/config/initializers/content_security_policy.rb +0 -25
  255. data/test_apps/dummy_roro/config/initializers/cookies_serializer.rb +0 -5
  256. data/test_apps/dummy_roro/config/initializers/filter_parameter_logging.rb +0 -4
  257. data/test_apps/dummy_roro/config/initializers/inflections.rb +0 -16
  258. data/test_apps/dummy_roro/config/initializers/mime_types.rb +0 -4
  259. data/test_apps/dummy_roro/config/initializers/wrap_parameters.rb +0 -14
  260. data/test_apps/dummy_roro/config/locales/en.yml +0 -33
  261. data/test_apps/dummy_roro/config/puma.rb +0 -34
  262. data/test_apps/dummy_roro/config/routes.rb +0 -3
  263. data/test_apps/dummy_roro/config/spring.rb +0 -6
  264. data/test_apps/dummy_roro/config/storage.yml +0 -34
  265. data/test_apps/dummy_roro/db/seeds.rb +0 -7
  266. data/test_apps/dummy_roro/docker-compose.yml +0 -51
  267. data/test_apps/dummy_roro/docker/containers/app/Dockerfile +0 -12
  268. data/test_apps/dummy_roro/docker/containers/app/circleci.env +0 -2
  269. data/test_apps/dummy_roro/docker/containers/app/development.env +0 -2
  270. data/test_apps/dummy_roro/docker/containers/app/production.env +0 -2
  271. data/test_apps/dummy_roro/docker/containers/app/staging.env +0 -2
  272. data/test_apps/dummy_roro/docker/containers/database/.keep +0 -0
  273. data/test_apps/dummy_roro/docker/containers/database/circleci.env +0 -3
  274. data/test_apps/dummy_roro/docker/containers/database/development.env +0 -3
  275. data/test_apps/dummy_roro/docker/containers/database/production.env +0 -3
  276. data/test_apps/dummy_roro/docker/containers/database/staging.env +0 -3
  277. data/test_apps/dummy_roro/docker/containers/web/Dockerfile +0 -18
  278. data/test_apps/dummy_roro/docker/containers/web/app.conf +0 -23
  279. data/test_apps/dummy_roro/docker/containers/web/circleci.env +0 -1
  280. data/test_apps/dummy_roro/docker/containers/web/development.env +0 -1
  281. data/test_apps/dummy_roro/docker/containers/web/production.env +0 -1
  282. data/test_apps/dummy_roro/docker/containers/web/staging.env +0 -1
  283. data/test_apps/dummy_roro/docker/env_files/circleci.env +0 -12
  284. data/test_apps/dummy_roro/docker/env_files/circleci.env.enc +0 -14
  285. data/test_apps/dummy_roro/docker/env_files/production.env +0 -2
  286. data/test_apps/dummy_roro/docker/env_files/production.env.enc +0 -2
  287. data/test_apps/dummy_roro/docker/keys/.keep +0 -0
  288. data/test_apps/dummy_roro/docker/overrides/circleci.yml +0 -19
  289. data/test_apps/dummy_roro/docker/overrides/production.yml +0 -26
  290. data/test_apps/dummy_roro/lib/assets/.keep +0 -0
  291. data/test_apps/dummy_roro/lib/tasks/.keep +0 -0
  292. data/test_apps/dummy_roro/lib/tasks/deploy.rake +0 -126
  293. data/test_apps/dummy_roro/log/.keep +0 -0
  294. data/test_apps/dummy_roro/package.json +0 -5
  295. data/test_apps/dummy_roro/public/404.html +0 -67
  296. data/test_apps/dummy_roro/public/422.html +0 -67
  297. data/test_apps/dummy_roro/public/500.html +0 -66
  298. data/test_apps/dummy_roro/public/apple-touch-icon-precomposed.png +0 -0
  299. data/test_apps/dummy_roro/public/apple-touch-icon.png +0 -0
  300. data/test_apps/dummy_roro/public/favicon.ico +0 -0
  301. data/test_apps/dummy_roro/public/robots.txt +0 -1
  302. data/test_apps/dummy_roro/storage/.keep +0 -0
  303. data/test_apps/dummy_roro/test/application_system_test_case.rb +0 -5
  304. data/test_apps/dummy_roro/test/controllers/.keep +0 -0
  305. data/test_apps/dummy_roro/test/fixtures/.keep +0 -0
  306. data/test_apps/dummy_roro/test/fixtures/files/.keep +0 -0
  307. data/test_apps/dummy_roro/test/helpers/.keep +0 -0
  308. data/test_apps/dummy_roro/test/integration/.keep +0 -0
  309. data/test_apps/dummy_roro/test/mailers/.keep +0 -0
  310. data/test_apps/dummy_roro/test/models/.keep +0 -0
  311. data/test_apps/dummy_roro/test/system/.keep +0 -0
  312. data/test_apps/dummy_roro/test/test_helper.rb +0 -10
  313. data/test_apps/dummy_roro/tmp/.keep +0 -0
  314. data/test_apps/dummy_roro/vendor/.keep +0 -0
  315. data/test_apps/greenfield/.keep +0 -0
  316. data/vendor/cache/actionpack-5.2.2.gem +0 -0
  317. data/vendor/cache/actionview-5.2.2.gem +0 -0
  318. data/vendor/cache/activesupport-5.2.2.gem +0 -0
  319. data/vendor/cache/addressable-2.5.2.gem +0 -0
  320. data/vendor/cache/builder-3.2.3.gem +0 -0
  321. data/vendor/cache/coderay-1.1.2.gem +0 -0
  322. data/vendor/cache/concurrent-ruby-1.1.4.gem +0 -0
  323. data/vendor/cache/crass-1.0.4.gem +0 -0
  324. data/vendor/cache/erubi-1.8.0.gem +0 -0
  325. data/vendor/cache/ffi-1.9.25.gem +0 -0
  326. data/vendor/cache/guard-2.15.0.gem +0 -0
  327. data/vendor/cache/i18n-1.3.0.gem +0 -0
  328. data/vendor/cache/launchy-2.4.3.gem +0 -0
  329. data/vendor/cache/listen-3.1.5.gem +0 -0
  330. data/vendor/cache/loofah-2.2.3.gem +0 -0
  331. data/vendor/cache/lumberjack-1.0.13.gem +0 -0
  332. data/vendor/cache/method_source-0.9.2.gem +0 -0
  333. data/vendor/cache/minitest-5.11.3.gem +0 -0
  334. data/vendor/cache/minitest-rails-3.0.0.gem +0 -0
  335. data/vendor/cache/multi_json-1.13.1.gem +0 -0
  336. data/vendor/cache/net-scp-1.2.1.gem +0 -0
  337. data/vendor/cache/net-ssh-5.2.0.gem +0 -0
  338. data/vendor/cache/notiffany-0.1.1.gem +0 -0
  339. data/vendor/cache/pry-0.12.2.gem +0 -0
  340. data/vendor/cache/public_suffix-3.0.3.gem +0 -0
  341. data/vendor/cache/rack-2.0.6.gem +0 -0
  342. data/vendor/cache/rails-html-sanitizer-1.0.4.gem +0 -0
  343. data/vendor/cache/railties-5.2.2.gem +0 -0
  344. data/vendor/cache/rake-10.5.0.gem +0 -0
  345. data/vendor/cache/rb-fsevent-0.10.3.gem +0 -0
  346. data/vendor/cache/rb-inotify-0.10.0.gem +0 -0
  347. data/vendor/cache/ruby_dep-1.5.0.gem +0 -0
  348. data/vendor/cache/shoulda-3.6.0.gem +0 -0
  349. data/vendor/cache/shoulda-context-1.2.2.gem +0 -0
  350. data/vendor/cache/shoulda-matchers-3.1.2.gem +0 -0
  351. data/vendor/cache/sorcerer-1.0.2.gem +0 -0
  352. data/vendor/cache/thor-0.20.3.gem +0 -0
  353. data/vendor/cache/tzinfo-1.2.5.gem +0 -0
@@ -0,0 +1,42 @@
1
+ module Roro
2
+
3
+ class CLI < Thor
4
+
5
+ no_commands do
6
+
7
+ def rollon_as_dockerize
8
+ rollon_dockerize_files
9
+ system 'docker-compose build'
10
+ system 'docker-compose run --no-deps web bin/rails webpacker:install'
11
+ system 'docker-compose up'
12
+ end
13
+
14
+ def
15
+
16
+ def configure_for_pg
17
+ service = [
18
+ " database:",
19
+ " image: postgres",
20
+ " env_file:",
21
+ " - .env/development/database",
22
+ " volumes:",
23
+ " - db_data:var/lib/postgresql/data"
24
+ ].join("\n")
25
+
26
+ @env_hash[:database_service] = service
27
+ end
28
+
29
+ def rollon_dockerize_files
30
+ directory 'dockerize', '.', @env_hash
31
+ copy_dockerignore
32
+ if ask('Configure $stdout.sync for docker?', choices).eql?('y')
33
+ config_std_out_true
34
+ end
35
+ if ask('Configure your app to use Postgresql?', choices).eql?('y')
36
+ copy_database_yml_pg
37
+ insert_pg_gem_into_gemfile
38
+ end
39
+ end
40
+ end
41
+ end
42
+ 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 'rollon_as_quickstart.rb'
2
+ require_relative 'rollon_as_dockerize.rb'
3
+ require_relative 'rollon_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,51 @@
1
+ .git
2
+ .gitignore
3
+ README.md
4
+
5
+ #
6
+ # OS X
7
+ #
8
+ .DS_Store
9
+ .AppleDouble
10
+ .LSOverride
11
+ # Icon must end with two \r
12
+ Icon
13
+ # Thumbnails
14
+ ._*
15
+ # Files that might appear on external disk
16
+ .Spotlight-V100
17
+ .Trashes
18
+ # Directories potentially created on remote AFP share
19
+ .AppleDB
20
+ .AppleDesktop
21
+ Network Trash Folder
22
+ Temporary Items
23
+ .apdisk
24
+
25
+ #
26
+ # Rails
27
+ #
28
+ .env
29
+ .env.sample
30
+ *.rbc
31
+ capybara-*.html
32
+ log
33
+ tmp
34
+ db/*.sqlite3
35
+ db/*.sqlite3-journal
36
+ public/system
37
+ coverage/
38
+ spec/tmp
39
+ **.orig
40
+
41
+ .bundle
42
+
43
+ .ruby-version
44
+ .ruby-gemset
45
+
46
+ .rvmrc
47
+
48
+ # if using bower-rails ignore default bower_components path bower.json files
49
+ vendor/assets/bower_components
50
+ *.bowerrc
51
+ bower.json
@@ -13,9 +13,9 @@ jobs:
13
13
  - run: handsome_fencer-circle_c_i expose circleci
14
14
  - run: handsome_fencer-circle_c_i expose development
15
15
  - run: echo 'source docker/env_files/circleci.env' >> $BASH_ENV
16
- - run: docker-compose up -d app --build
17
- - run: docker-compose exec app bin/rails db:create db:migrate
18
- - run: docker-compose exec app bin/rails test
16
+ - run: docker-compose up -d <%= config[:app_name] %> --build
17
+ - run: docker-compose exec <%= config[:app_name] %> bin/rails db:create db:migrate
18
+ - run: docker-compose exec <%= config[:app_name] %> bin/rails test
19
19
 
20
20
  push:
21
21
  machine: true
@@ -25,11 +25,12 @@ jobs:
25
25
  - run: handsome_fencer-circle_c_i expose circleci
26
26
  - run: handsome_fencer-circle_c_i expose development
27
27
  - run: echo 'source docker/env_files/circleci.env' >> $BASH_ENV
28
- - run: docker-compose build app web
28
+ - run: docker-compose build <%= config[:app_name] %> web
29
+ - run: docker login -u $DOCKERHUB_USER -p $DOCKERHUB_PASS
29
30
  - run: docker login -u $DOCKERHUB_USER -p $DOCKERHUB_PASS
30
31
  - run:
31
- name: Tag app image
32
- command: docker tag $(docker images | grep project_app | awk '{ print $3 }') ${DOCKERHUB_ORG_NAME}/${APP_NAME}_app:$DEPLOY_TAG
32
+ name: Tag <%= config[:app_name] %> image
33
+ command: docker tag $(docker images | grep project_<%= config[:app_name] %> | awk '{ print $3 }') ${DOCKERHUB_ORG_NAME}/${APP_NAME}_app:$DEPLOY_TAG
33
34
  - run:
34
35
  name: Tag web image
35
36
  command: docker tag $(docker images | grep project_web | awk '{ print $3 }') ${DOCKERHUB_ORG_NAME}/${APP_NAME}_web:$DEPLOY_TAG
@@ -0,0 +1,53 @@
1
+ version: '3.2'
2
+
3
+ services:
4
+ chrome:
5
+ image: selenium/standalone-chrome-debug
6
+ volumes:
7
+ - /dev/shm:/dev/shm
8
+ <%= config[:app_name] %>:
9
+ build:
10
+ context: .
11
+ dockerfile: roro/containers/<%= config[:app_name] %>/Dockerfile
12
+
13
+ depends_on:
14
+ - <%= config[:database_container] %>
15
+ ports:
16
+ - "35729:35729"
17
+ - "3000:3000"
18
+ volumes:
19
+ - <%= config[:app_name] %>-data:/usr/src/<%= config[:app_name] %>
20
+ - gem_cache:/gems
21
+ env_file:
22
+ - roro/containers/<%= config[:database_container] %>/development.env
23
+ - roro/containers/<%= config[:app_name] %>/development.env
24
+ command: [ "bin/rails", "s" ]
25
+
26
+ stdin_open: true
27
+ tty: true
28
+ secrets:
29
+ - host_ssh_key
30
+
31
+ <%= config[:database_container] %>:
32
+ image: postgres
33
+
34
+ env_file:
35
+ - roro/containers/<%= config[:database_container] %>/development.env
36
+
37
+ volumes:
38
+ - <%= config[:database_container] %>-data:/var/lib/postgresql/data
39
+
40
+ web:
41
+ depends_on:
42
+ - <%= config[:app_name] %>
43
+ build:
44
+ context: .
45
+ dockerfile: roro/containers/web/Dockerfile
46
+ volumes:
47
+ <%= config[:database_container] %>-data:
48
+ gem_cache:
49
+ <%= config[:app_name] %>-data:
50
+
51
+ secrets:
52
+ host_ssh_key:
53
+ file: ~/.ssh/id_rsa
@@ -0,0 +1,7 @@
1
+ 127.0.0.1 localhost
2
+ ::1 ip6-localhost ip6-loopback
3
+ fe00::0 ip6-localnet
4
+ ff00::0 ip6-mcastprefix
5
+ ff02::1 ip6-allnodes
6
+ ff02::2 ip6-allrouters
7
+ 172.29.0.6 522da351e092
@@ -0,0 +1,20 @@
1
+ default: &default
2
+ adapter: postgresql
3
+ encoding: unicode
4
+ host: <%= ENV.fetch('DATABASE_HOST') %>
5
+ username: <%= ENV.fetch('POSTGRES_USER') %>
6
+ password: <%= ENV.fetch('POSTGRES_PASSWORD') %>
7
+ database: <%= ENV.fetch('POSTGRES_DB') %>
8
+ pool: 5
9
+ variables:
10
+ statement_timeout: 5000
11
+
12
+ development:
13
+ <<: *default
14
+
15
+ test:
16
+ <<: *default
17
+
18
+
19
+ production:
20
+ <<: *default
@@ -0,0 +1,32 @@
1
+ FROM ruby:<%= config[:ruby_version] %>
2
+ LABEL maintainer="<%= config[:dockerhub_email] %>"
3
+ # COPY docker/containers/web/app.conf /tmp/<%= config[:app_name] %>.nginx
4
+
5
+ # Allow apt to work with https-based sources
6
+ RUN apt-get update -yqq && apt-get install -yqq --no-install-recommends \
7
+ apt-transport-https
8
+
9
+ # Ensure we install an up-to-date version of Node
10
+ # See https://github.com/yarnpkg/yarn/issues/2888
11
+ RUN curl -sL https://deb.nodesource.com/setup_8.x | bash -
12
+
13
+ # Ensure latest packages for Yarn
14
+ RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
15
+ RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | \
16
+ tee /etc/apt/sources.list.d/yarn.list
17
+
18
+ # Install packages
19
+ RUN apt-get update -yqq && apt-get install -yqq --no-install-recommends \
20
+ nodejs \
21
+ yarn
22
+
23
+ COPY Gemfile* /usr/src/<%= config[:app_name] %>/
24
+ WORKDIR /usr/src/<%= config[:app_name] %>
25
+
26
+ ENV BUNDLE_PATH /gems
27
+
28
+ RUN bundle install
29
+
30
+ COPY . /usr/src/<%= config[:app_name] %>/
31
+
32
+ ENTRYPOINT ["roro/containers/web/docker-entrypoint.sh"]
@@ -0,0 +1 @@
1
+ DATABASE_HOST=<%= config[:database_container] %>
@@ -0,0 +1,8 @@
1
+ #!/bin/sh
2
+ set -e
3
+
4
+ if [ -f tmp/pids/server.pid ]; then
5
+ rm tmp/pids/server.pid
6
+ fi
7
+
8
+ exec "$@"
@@ -0,0 +1 @@
1
+ DATABASE_HOST=<%= config[:database_container] %>
@@ -0,0 +1,4 @@
1
+ POSTGRES_USER=<%= config[:postgres_user] %>
2
+ POSTGRES_PASSWORD=<%= config[:postgres_password] %>
3
+ POSTGRES_DB=<%= config[:app_name] + '_development' %>
4
+ RAILS_ENV=development
@@ -0,0 +1,4 @@
1
+ POSTGRES_USER=<%= config[:postgres_user] %>
2
+ POSTGRES_PASSWORD=<%= config[:postgres_password] %>
3
+ POSTGRES_DB=<%= config[:app_name] + '_test' %>
4
+ RAILS_ENV=test
@@ -0,0 +1,3 @@
1
+ POSTGRES_USER=postgres
2
+ POSTGRES_PASSWORD=some-long-secure-password
3
+ POSTGRES_DB=myapp_development
@@ -0,0 +1 @@
1
+ DATABASE_HOST=database
@@ -0,0 +1,23 @@
1
+ FROM ruby:<%= config[:ruby_version] %>
2
+
3
+
4
+ RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
5
+ RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
6
+ RUN apt-get update -qq && apt-get install -y build-essential git nodejs yarn
7
+
8
+
9
+ ENV APP_HOME /usr/src/app/
10
+ RUN mkdir $APP_HOME
11
+ WORKDIR $APP_HOME
12
+
13
+ COPY Gemfile* $APP_HOME
14
+
15
+ ENV BUNDLE_PATH /gems
16
+
17
+ RUN bundle install
18
+ RUN yarn
19
+
20
+ COPY . ./$APP_HOME
21
+
22
+
23
+
@@ -0,0 +1,60 @@
1
+ version: '3'
2
+
3
+ services:
4
+
5
+ web:
6
+ build: .
7
+ depends_on:
8
+ - database
9
+ - webpack_dev_server
10
+ - redis
11
+ # entrypoint: ./docker-entrypoint.sh
12
+ command: ["bin/rails", "s", "-b", "0.0.0.0"]
13
+
14
+ ports:
15
+ - "3000:3000"
16
+ - "4000:4000"
17
+ volumes:
18
+ - .:/usr/src/app
19
+ - gem_cache:/gems
20
+ env_file:
21
+ - .env/development/web
22
+ - .env/development/database
23
+ environment:
24
+ - WEBPACKER_DEV_SERVER_HOST=webpack_dev_server
25
+
26
+ webpack_dev_server:
27
+ build: .
28
+ command: ./bin/webpack-dev-server
29
+ ports:
30
+ - 3035:3035
31
+ volumes:
32
+ - .:/usr/src/app
33
+ - gem_cache:/gems
34
+ env_file:
35
+ - .env/development/database
36
+ - .env/development/web
37
+ environment:
38
+ - WEBPACKER_DEV_SERVER_HOST=0.0.0.0
39
+
40
+ redis:
41
+ image: redis
42
+
43
+ database:
44
+ image: postgres
45
+ env_file:
46
+ - .env/development/database
47
+ volumes:
48
+ - db_data:/var/lib/postgresql/data
49
+
50
+ system_tests:
51
+ image: selenium/standalone-chrome-debug
52
+ logging:
53
+ driver: none
54
+ ports:
55
+ - "35729:35729"
56
+ - "5900:5900"
57
+
58
+ volumes:
59
+ db_data:
60
+ gem_cache: