cybele 1.9.2 → 2.0.0

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 (384) hide show
  1. checksums.yaml +4 -4
  2. data/.fasterer.yml +5 -0
  3. data/.flayignore +3 -0
  4. data/.gitignore +4 -1
  5. data/.haml-lint.yml +5 -0
  6. data/.poper.yml +7 -0
  7. data/.rubocop.yml +59 -0
  8. data/.ruby-version +1 -1
  9. data/CHANGELOG.md +458 -2
  10. data/Gemfile +2 -0
  11. data/README.md +16 -20
  12. data/Rakefile +1 -1
  13. data/USAGE +12 -0
  14. data/bin/build_app +18 -0
  15. data/bin/build_gem +20 -0
  16. data/bin/cybele +21 -6
  17. data/config.reek +29 -0
  18. data/cybele.gemspec +14 -6
  19. data/example.pronto.yml +8 -0
  20. data/lib/cybele.rb +33 -0
  21. data/lib/cybele/app_builder.rb +43 -510
  22. data/lib/cybele/generators/app_generator.rb +240 -180
  23. data/lib/cybele/helpers.rb +104 -0
  24. data/lib/cybele/helpers/app_files/assets_files.rb +43 -0
  25. data/lib/cybele/helpers/app_files/controller_files.rb +23 -0
  26. data/lib/cybele/helpers/app_files/helper_files.rb +15 -0
  27. data/lib/cybele/helpers/app_files/mailer_files.rb +15 -0
  28. data/lib/cybele/helpers/app_files/model_files.rb +16 -0
  29. data/lib/cybele/helpers/app_files/vendor_files.rb +14 -0
  30. data/lib/cybele/helpers/app_files/view_files.rb +62 -0
  31. data/lib/cybele/helpers/app_files/view_gems.rb +20 -0
  32. data/lib/cybele/helpers/audited.rb +12 -0
  33. data/lib/cybele/helpers/basic_authentication.rb +44 -0
  34. data/lib/cybele/helpers/devise.rb +67 -0
  35. data/lib/cybele/helpers/docker.rb +53 -0
  36. data/lib/cybele/helpers/dotenv.rb +23 -0
  37. data/lib/cybele/helpers/error_pages.rb +37 -0
  38. data/lib/cybele/helpers/general.rb +87 -0
  39. data/lib/cybele/helpers/haml.rb +18 -0
  40. data/lib/cybele/helpers/locale_language.rb +23 -0
  41. data/lib/cybele/helpers/mailer.rb +25 -0
  42. data/lib/cybele/helpers/paperclip.rb +33 -0
  43. data/lib/cybele/helpers/pronto.rb +34 -0
  44. data/lib/cybele/helpers/recipient_interceptor.rb +18 -0
  45. data/lib/cybele/helpers/responders.rb +36 -0
  46. data/lib/cybele/helpers/routes.rb +18 -0
  47. data/lib/cybele/helpers/show_for.rb +20 -0
  48. data/lib/cybele/helpers/sidekiq.rb +37 -0
  49. data/lib/cybele/helpers/simple_form.rb +19 -0
  50. data/lib/cybele/helpers/staging.rb +15 -0
  51. data/lib/cybele/version.rb +5 -3
  52. data/spec/features/cli_help_spec.rb +42 -0
  53. data/spec/features/git_and_git_flow_spec.rb +30 -0
  54. data/spec/features/new_default_project_spec.rb +465 -0
  55. data/spec/features/new_not_default_project_spec.rb +412 -0
  56. data/spec/spec_helper.rb +38 -0
  57. data/spec/support/config_test_helper.rb +36 -0
  58. data/spec/support/cybele_test_helpers.rb +115 -0
  59. data/spec/support/devise_test_helper.rb +45 -0
  60. data/spec/support/dotenv_test_helper.rb +31 -0
  61. data/spec/support/error_pages_test_helper.rb +24 -0
  62. data/spec/support/force_ssl_test_helper.rb +24 -0
  63. data/spec/support/git_ignore_test_helper.rb +10 -0
  64. data/spec/support/locale_language_test_helper.rb +43 -0
  65. data/spec/support/mail_test_helpers.rb +15 -0
  66. data/spec/support/paperclip_test_helper.rb +38 -0
  67. data/spec/support/pronto_test_helpers.rb +41 -0
  68. data/spec/support/responder_test_helper.rb +32 -0
  69. data/templates/Gemfile.erb +59 -0
  70. data/templates/README.md.erb +23 -20
  71. data/templates/VERSION.txt +1 -0
  72. data/templates/app_files/app/assets/javascripts/application.js +81 -0
  73. data/templates/app_files/app/assets/javascripts/hq/application.js +80 -0
  74. data/templates/{app/assets/stylesheets/application.css.sass → app_files/app/assets/stylesheets/application.sass} +27 -16
  75. data/templates/app_files/app/assets/stylesheets/hq/_sidebar.sass +89 -0
  76. data/templates/app_files/app/assets/stylesheets/hq/application.sass +74 -0
  77. data/templates/app_files/app/controllers/concerns/activatable.rb +16 -0
  78. data/templates/{app → app_files/app}/controllers/hq/admins_controller.rb +7 -10
  79. data/templates/app_files/app/controllers/hq/application_controller.rb +13 -0
  80. data/templates/{app → app_files/app}/controllers/hq/audits_controller.rb +3 -3
  81. data/templates/app_files/app/controllers/hq/dashboard_controller.rb +7 -0
  82. data/templates/{app → app_files/app}/controllers/hq/passwords_controller.rb +3 -2
  83. data/templates/app_files/app/controllers/hq/registrations_controller.rb +22 -0
  84. data/templates/{app → app_files/app}/controllers/hq/sessions_controller.rb +5 -4
  85. data/templates/{app → app_files/app}/controllers/hq/users_controller.rb +7 -10
  86. data/templates/app_files/app/controllers/user/application_controller.rb +18 -0
  87. data/templates/app_files/app/controllers/user/dashboard_controller.rb +7 -0
  88. data/templates/{app → app_files/app}/controllers/user/passwords_controller.rb +3 -4
  89. data/templates/app_files/app/controllers/user/profile_controller.rb +30 -0
  90. data/templates/{app → app_files/app}/controllers/user/registrations_controller.rb +7 -8
  91. data/templates/{app → app_files/app}/controllers/user/sessions_controller.rb +5 -6
  92. data/templates/app_files/app/controllers/welcome_controller.rb +9 -0
  93. data/templates/app_files/app/helpers/application_helper.rb.erb +61 -0
  94. data/templates/app_files/app/mailers/admin_mailer.rb +10 -0
  95. data/templates/app_files/app/mailers/application_mailer.rb +6 -0
  96. data/templates/app_files/app/mailers/user_mailer.rb +10 -0
  97. data/templates/app_files/app/models/admin.rb +42 -0
  98. data/templates/app_files/app/models/audit.rb +4 -0
  99. data/templates/app_files/app/models/concerns/password_creatable.rb +39 -0
  100. data/templates/app_files/app/models/user.rb +43 -0
  101. data/templates/app_files/app/vendor/assets/javascripts/footable.min.js +10 -0
  102. data/templates/{vendor → app_files/app/vendor}/assets/javascripts/jquery.datetimepicker.js +0 -0
  103. data/templates/{vendor → app_files/app/vendor}/assets/javascripts/jquery.maskedinput.min.js +0 -0
  104. data/templates/{vendor → app_files/app/vendor}/assets/javascripts/nprogress.js +0 -0
  105. data/templates/{vendor → app_files/app/vendor}/assets/javascripts/trix.js +0 -0
  106. data/templates/app_files/app/vendor/assets/stylesheets/footable.bootstrap.min.css +1 -0
  107. data/templates/{vendor → app_files/app/vendor}/assets/stylesheets/jquery.datetimepicker.css +0 -0
  108. data/templates/{vendor → app_files/app/vendor}/assets/stylesheets/nprogress.css +0 -1
  109. data/templates/{vendor → app_files/app/vendor}/assets/stylesheets/trix.css +0 -0
  110. data/templates/app_files/app/views/admin_mailer/login_info.html.haml +13 -0
  111. data/templates/app_files/app/views/hq/admins/_admin.html.haml +38 -0
  112. data/templates/{app → app_files/app}/views/hq/admins/_blank.html.haml +3 -3
  113. data/templates/app_files/app/views/hq/admins/_filters.html.haml +27 -0
  114. data/templates/app_files/app/views/hq/admins/_form.html.haml +17 -0
  115. data/templates/app_files/app/views/hq/admins/_list.html.haml +20 -0
  116. data/templates/app_files/app/views/hq/admins/edit.html.haml +3 -0
  117. data/templates/app_files/app/views/hq/admins/index.html.haml +18 -0
  118. data/templates/{app → app_files/app}/views/hq/admins/new.html.haml +2 -2
  119. data/templates/{app → app_files/app}/views/hq/admins/show.html.haml +8 -8
  120. data/templates/app_files/app/views/hq/audits/_filters.html.haml +48 -0
  121. data/templates/app_files/app/views/hq/audits/_list.html.haml +47 -0
  122. data/templates/{app → app_files/app}/views/hq/audits/index.html.haml +3 -3
  123. data/templates/app_files/app/views/hq/audits/show.html.haml +8 -0
  124. data/templates/app_files/app/views/hq/dashboard/index.html.haml +13 -0
  125. data/templates/app_files/app/views/hq/passwords/edit.html.haml +24 -0
  126. data/templates/app_files/app/views/hq/passwords/new.html.haml +21 -0
  127. data/templates/app_files/app/views/hq/registrations/edit.html.haml +30 -0
  128. data/templates/app_files/app/views/hq/sessions/new.html.haml +20 -0
  129. data/templates/{app → app_files/app}/views/hq/users/_blank.html.haml +3 -3
  130. data/templates/app_files/app/views/hq/users/_filters.html.haml +26 -0
  131. data/templates/app_files/app/views/hq/users/_form.html.haml +17 -0
  132. data/templates/app_files/app/views/hq/users/_list.html.haml +21 -0
  133. data/templates/app_files/app/views/hq/users/_user.html.haml +38 -0
  134. data/templates/app_files/app/views/hq/users/edit.html.haml +3 -0
  135. data/templates/app_files/app/views/hq/users/index.html.haml +18 -0
  136. data/templates/{app → app_files/app}/views/hq/users/new.html.haml +2 -2
  137. data/templates/{app → app_files/app}/views/hq/users/show.html.haml +8 -9
  138. data/templates/app_files/app/views/layouts/application.html.haml.erb +33 -0
  139. data/templates/app_files/app/views/layouts/hq/application.html.haml.erb +57 -0
  140. data/templates/app_files/app/views/layouts/hq/login.html.haml.erb +47 -0
  141. data/templates/app_files/app/views/layouts/hq/partials/_breadcrumb.html.haml +3 -0
  142. data/templates/app_files/app/views/layouts/hq/partials/_dock.html.haml +95 -0
  143. data/templates/{app/views/layouts/hq/partials/_footer.html.haml.erb → app_files/app/views/layouts/hq/partials/_footer.html.haml} +0 -0
  144. data/templates/app_files/app/views/layouts/hq/partials/_navbar.html.haml +35 -0
  145. data/templates/app_files/app/views/layouts/hq/partials/_toolbar.html.haml +3 -0
  146. data/templates/{app/views/layouts/hq/partials/_trackers.html.haml.erb → app_files/app/views/layouts/hq/partials/_trackers.html.haml} +0 -0
  147. data/templates/app_files/app/views/layouts/mailer.html.haml.erb +255 -0
  148. data/templates/app_files/app/views/layouts/partials/_messages.html.haml +11 -0
  149. data/templates/app_files/app/views/layouts/partials/_navbar.html.haml.erb +37 -0
  150. data/templates/{app/views/layouts/partials/_footer.html.haml.erb → app_files/app/views/layouts/partials/_warnings.html.haml} +0 -0
  151. data/templates/app_files/app/views/user/dashboard/index.html.haml +11 -0
  152. data/templates/app_files/app/views/user/passwords/edit.html.haml +18 -0
  153. data/templates/app_files/app/views/user/passwords/new.html.haml +18 -0
  154. data/templates/{app → app_files/app}/views/user/profile/_form.html.haml +5 -5
  155. data/templates/app_files/app/views/user/profile/edit.html.haml +3 -0
  156. data/templates/app_files/app/views/user/profile/show.html.haml +18 -0
  157. data/templates/app_files/app/views/user/registrations/edit.html.haml +30 -0
  158. data/templates/app_files/app/views/user/registrations/new.html.haml +33 -0
  159. data/templates/app_files/app/views/user/sessions/new.html.haml +15 -0
  160. data/templates/app_files/app/views/user_mailer/login_info.html.haml +13 -0
  161. data/templates/app_files/app/views/welcome/about.html.haml +3 -0
  162. data/templates/app_files/app/views/welcome/contact.html.haml +3 -0
  163. data/templates/app_files/app/views/welcome/index.html.haml.erb +19 -0
  164. data/templates/app_files/bootstrap_Gemfile.erb +4 -0
  165. data/templates/app_files/breadcrumb_Gemfile.erb +4 -0
  166. data/templates/app_files/jquery_Gemfile.erb +4 -0
  167. data/templates/{public → app_files/public}/images/favicon.png +0 -0
  168. data/templates/{public → app_files/public}/images/mail-logo.png +0 -0
  169. data/templates/basic_authentication/basic_authentication.rb +22 -0
  170. data/templates/basic_authentication/basic_authentication_settings.yml.erb +3 -0
  171. data/templates/basic_authentication/include_module.erb +2 -0
  172. data/templates/basic_authentication/no_basic_authentication.erb +2 -0
  173. data/templates/basic_authentication/yes_basic_authentication.erb +2 -0
  174. data/templates/bullet/bullet_settings.rb.erb +9 -0
  175. data/templates/config/config_application.rb.erb +4 -0
  176. data/templates/config/locales/devise.en.yml +99 -0
  177. data/templates/config/locales/devise.tr.yml +97 -0
  178. data/templates/config/locales/en.yml +34 -0
  179. data/templates/config/locales/mailer.en.yml +32 -0
  180. data/templates/config/locales/{email.tr.yml → mailer.tr.yml} +6 -2
  181. data/templates/config/locales/models.en.yml +74 -0
  182. data/templates/config/locales/models.tr.yml +11 -27
  183. data/templates/config/locales/responders.en.yml +15 -0
  184. data/templates/config/locales/responders.tr.yml +3 -2
  185. data/templates/config/locales/show_for.tr.yml +3 -3
  186. data/templates/config/locales/view.en.yml +73 -0
  187. data/templates/config/locales/view.tr.yml +55 -82
  188. data/templates/config/routes.rb.erb +63 -0
  189. data/templates/cybele_gitignore +4 -3
  190. data/templates/devise/devise_authenticate_admin.rb.erb +2 -0
  191. data/templates/devise/devise_before_action_strong_parameter.rb.erb +3 -0
  192. data/templates/devise/devise_mailer.rb.erb +1 -0
  193. data/templates/devise/devise_strong_parameter.rb.erb +13 -0
  194. data/templates/{app/views/devise → devise/devise_views}/confirmations/new.html.haml +4 -1
  195. data/templates/devise/devise_views/mailer/confirmation_instructions.html.haml +5 -0
  196. data/templates/devise/devise_views/mailer/reset_password_instructions.html.haml +7 -0
  197. data/templates/{app/views/devise → devise/devise_views}/mailer/unlock_instructions.html.haml +1 -1
  198. data/templates/devise/devise_views/passwords/edit.html.haml +19 -0
  199. data/templates/devise/devise_views/passwords/new.html.haml +14 -0
  200. data/templates/devise/devise_views/registrations/edit.html.haml +21 -0
  201. data/templates/devise/devise_views/registrations/new.html.haml +32 -0
  202. data/templates/{app/views/devise → devise/devise_views}/sessions/new.html.haml +8 -3
  203. data/templates/devise/devise_views/shared/_links.haml +29 -0
  204. data/templates/{app/views/devise → devise/devise_views}/unlocks/new.html.haml +4 -1
  205. data/templates/devise/seeds.rb.erb +1 -0
  206. data/templates/docker/Dockerfile.erb +48 -0
  207. data/templates/docker/docker-compose.yml.erb +46 -0
  208. data/templates/docker/docker_env_local_sample.erb +6 -0
  209. data/templates/docker/docker_env_local_sample_host.erb +1 -0
  210. data/templates/docker/docker_env_local_sample_sidekiq.erb +2 -0
  211. data/templates/docker/docker_env_staging_production_sidekiq.erb +2 -0
  212. data/templates/docker/start-app.sh.erb +7 -0
  213. data/templates/docker/start-sidekiq.sh.erb +27 -0
  214. data/templates/dotenv/.env.local.erb +5 -0
  215. data/templates/dotenv/.env.production.erb +5 -0
  216. data/templates/dotenv/.env.sample.erb +5 -0
  217. data/templates/dotenv/.env.staging.erb +5 -0
  218. data/templates/dotenv/dotenv_Gemfile.erb +2 -0
  219. data/templates/error_pages/error_control.erb +7 -0
  220. data/templates/error_pages/error_method.erb +10 -0
  221. data/templates/error_pages/error_route.erb.rb +2 -0
  222. data/templates/error_pages/internal_server_error.html.haml +2 -0
  223. data/templates/error_pages/not_found.html.haml +2 -0
  224. data/templates/guardfile/guardfile_settings.rb.erb +49 -0
  225. data/templates/haml/haml_Gemfile.erb +5 -0
  226. data/templates/mailer/.env.local.erb +7 -0
  227. data/templates/mailer/host.rb.erb +2 -0
  228. data/templates/mailer/mailer_settings.yml.erb +8 -0
  229. data/templates/mailer/smtp.rb.erb +10 -0
  230. data/templates/paperclip/paperclip.rb.erb +11 -0
  231. data/templates/paperclip/paperclip_Gemfile.erb +4 -0
  232. data/templates/paperclip/paperclip_env_local.erb +6 -0
  233. data/templates/paperclip/paperclip_env_production.erb +6 -0
  234. data/templates/paperclip/paperclip_env_sample.erb +6 -0
  235. data/templates/paperclip/paperclip_env_staging.erb +6 -0
  236. data/templates/paperclip/paperclip_settings.yml.erb +10 -0
  237. data/templates/postgresql_database.yml.erb +24 -0
  238. data/templates/pronto/.flayignore.erb +5 -0
  239. data/templates/pronto/.haml-lint.yml.erb +5 -0
  240. data/templates/pronto/.rubocop.yml.erb +38 -0
  241. data/templates/pronto/config.reek.erb +42 -0
  242. data/templates/pronto/example.pronto.yml.erb +27 -0
  243. data/templates/pronto/rubo.erb +24 -0
  244. data/templates/recipient_interceptor/recipient_interceptor_settings.yml.erb +4 -0
  245. data/templates/recipient_interceptor/recipient_interceptor_staging.rb.erb +2 -0
  246. data/templates/responders/responders_Gemfile.erb +3 -0
  247. data/templates/ruby-version +1 -1
  248. data/templates/secrets.yml.erb +3 -0
  249. data/templates/settings.yml.erb +1 -0
  250. data/templates/show_for/show_for_Gemfile.erb +3 -0
  251. data/templates/sidekiq/sidekiq.rake.erb +42 -0
  252. data/templates/sidekiq/sidekiq.rb.erb +18 -0
  253. data/templates/sidekiq/sidekiq.yml.erb +18 -0
  254. data/templates/sidekiq/sidekiq_Gemfile.erb +8 -0
  255. data/templates/{Procfile.erb → sidekiq/sidekiq_Procfile.erb} +0 -0
  256. data/templates/sidekiq/sidekiq_application.rb.erb +3 -0
  257. data/templates/sidekiq/sidekiq_routes_mount.erb +8 -0
  258. data/templates/sidekiq/sidekiq_routes_require.erb +3 -0
  259. data/templates/{config/schedule.yml → sidekiq/sidekiq_schedule.yml.erb} +6 -4
  260. data/templates/simple_form/simple_form_Gemfile.erb +3 -0
  261. data/templates/ssl/ssl_env_all.erb +2 -0
  262. metadata +369 -179
  263. data/templates/.env.local.erb +0 -11
  264. data/templates/.env.production.erb +0 -11
  265. data/templates/.env.staging.erb +0 -11
  266. data/templates/app/assets/javascripts/application.js.coffee +0 -81
  267. data/templates/app/assets/javascripts/hq/application.js.coffee +0 -94
  268. data/templates/app/assets/stylesheets/hq/application.css.sass +0 -92
  269. data/templates/app/controllers/application_controller.rb.erb +0 -48
  270. data/templates/app/controllers/concerns/basic_authentication.rb +0 -18
  271. data/templates/app/controllers/hq/application_controller.rb +0 -18
  272. data/templates/app/controllers/hq/cities_controller.rb +0 -54
  273. data/templates/app/controllers/hq/countries_controller.rb +0 -54
  274. data/templates/app/controllers/hq/dashboard_controller.rb +0 -8
  275. data/templates/app/controllers/hq/registrations_controller.rb +0 -21
  276. data/templates/app/controllers/user/dashboard_controller.rb +0 -8
  277. data/templates/app/controllers/user/profile_controller.rb +0 -34
  278. data/templates/app/controllers/user/user_application_controller.rb +0 -26
  279. data/templates/app/controllers/welcome_controller.rb +0 -4
  280. data/templates/app/helpers/application_helper.rb.erb +0 -27
  281. data/templates/app/mailers/admin_mailer.rb +0 -10
  282. data/templates/app/mailers/base_mailer.rb +0 -4
  283. data/templates/app/mailers/user_mailer.rb +0 -10
  284. data/templates/app/models/admin.rb +0 -51
  285. data/templates/app/models/audit.rb +0 -3
  286. data/templates/app/models/city.rb +0 -12
  287. data/templates/app/models/country.rb +0 -12
  288. data/templates/app/models/user.rb +0 -54
  289. data/templates/app/views/admin_mailer/login_info.html.haml +0 -13
  290. data/templates/app/views/devise/mailer/confirmation_instructions.html.haml +0 -6
  291. data/templates/app/views/devise/mailer/reset_password_instructions.html.haml +0 -9
  292. data/templates/app/views/devise/passwords/edit.html.haml +0 -11
  293. data/templates/app/views/devise/passwords/new.html.haml +0 -9
  294. data/templates/app/views/devise/registrations/edit.html.haml +0 -12
  295. data/templates/app/views/devise/registrations/new.html.haml +0 -24
  296. data/templates/app/views/devise/shared/_links.haml +0 -22
  297. data/templates/app/views/errors/internal_server_error.html.haml +0 -2
  298. data/templates/app/views/errors/not_found.html.haml +0 -2
  299. data/templates/app/views/hq/admins/_admin.html.haml +0 -21
  300. data/templates/app/views/hq/admins/_filters.html.haml +0 -20
  301. data/templates/app/views/hq/admins/_form.html.haml +0 -17
  302. data/templates/app/views/hq/admins/_list.html.haml +0 -15
  303. data/templates/app/views/hq/admins/edit.html.haml +0 -3
  304. data/templates/app/views/hq/admins/index.html.haml +0 -18
  305. data/templates/app/views/hq/audits/_filters.html.haml +0 -32
  306. data/templates/app/views/hq/audits/_list.html.haml +0 -37
  307. data/templates/app/views/hq/audits/show.html.haml +0 -5
  308. data/templates/app/views/hq/cities/_blank.html.haml +0 -9
  309. data/templates/app/views/hq/cities/_city.html.haml +0 -12
  310. data/templates/app/views/hq/cities/_filters.html.haml +0 -15
  311. data/templates/app/views/hq/cities/_form.html.haml +0 -15
  312. data/templates/app/views/hq/cities/_list.html.haml +0 -13
  313. data/templates/app/views/hq/cities/edit.html.haml +0 -3
  314. data/templates/app/views/hq/cities/index.html.haml +0 -18
  315. data/templates/app/views/hq/cities/new.html.haml +0 -3
  316. data/templates/app/views/hq/cities/show.html.haml +0 -13
  317. data/templates/app/views/hq/countries/_blank.html.haml +0 -9
  318. data/templates/app/views/hq/countries/_country.html.haml +0 -11
  319. data/templates/app/views/hq/countries/_filters.html.haml +0 -14
  320. data/templates/app/views/hq/countries/_form.html.haml +0 -14
  321. data/templates/app/views/hq/countries/_list.html.haml +0 -12
  322. data/templates/app/views/hq/countries/edit.html.haml +0 -3
  323. data/templates/app/views/hq/countries/index.html.haml +0 -18
  324. data/templates/app/views/hq/countries/new.html.haml +0 -3
  325. data/templates/app/views/hq/countries/show.html.haml +0 -14
  326. data/templates/app/views/hq/dashboard/index.html.haml +0 -8
  327. data/templates/app/views/hq/passwords/edit.html.haml +0 -12
  328. data/templates/app/views/hq/passwords/new.html.haml +0 -9
  329. data/templates/app/views/hq/registrations/edit.html.haml +0 -19
  330. data/templates/app/views/hq/sessions/new.html.haml +0 -11
  331. data/templates/app/views/hq/users/_filters.html.haml +0 -20
  332. data/templates/app/views/hq/users/_form.html.haml +0 -18
  333. data/templates/app/views/hq/users/_list.html.haml +0 -15
  334. data/templates/app/views/hq/users/_user.html.haml +0 -20
  335. data/templates/app/views/hq/users/edit.html.haml +0 -3
  336. data/templates/app/views/hq/users/index.html.haml +0 -18
  337. data/templates/app/views/layouts/application.html.haml.erb +0 -56
  338. data/templates/app/views/layouts/hq/application.html.haml.erb +0 -55
  339. data/templates/app/views/layouts/hq/login.html.haml.erb +0 -35
  340. data/templates/app/views/layouts/hq/partials/_dock.html.haml.erb +0 -36
  341. data/templates/app/views/layouts/hq/partials/_navbar.html.haml.erb +0 -22
  342. data/templates/app/views/layouts/mailer.html.haml.erb +0 -321
  343. data/templates/app/views/layouts/mailer.text.haml +0 -1
  344. data/templates/app/views/layouts/partials/_trackers.html.haml.erb +0 -0
  345. data/templates/app/views/layouts/partials/_warnings.html.haml.erb +0 -3
  346. data/templates/app/views/user/dashboard/index.html.haml +0 -8
  347. data/templates/app/views/user/passwords/edit.html.haml +0 -12
  348. data/templates/app/views/user/passwords/new.html.haml +0 -10
  349. data/templates/app/views/user/profile/edit.html.haml +0 -3
  350. data/templates/app/views/user/profile/show.html.haml +0 -18
  351. data/templates/app/views/user/registrations/edit.html.haml +0 -19
  352. data/templates/app/views/user/sessions/new.html.haml +0 -11
  353. data/templates/app/views/user_mailer/login_info.html.haml +0 -13
  354. data/templates/app/views/welcome/index.html.haml.erb +0 -16
  355. data/templates/config/database.yml.erb +0 -21
  356. data/templates/config/deploy.rb +0 -56
  357. data/templates/config/initializers/devise_async.rb +0 -6
  358. data/templates/config/initializers/disable_xml_params.rb +0 -3
  359. data/templates/config/initializers/mail.rb +0 -13
  360. data/templates/config/initializers/paperclip.rb +0 -10
  361. data/templates/config/initializers/secret_token.erb +0 -25
  362. data/templates/config/initializers/show_for.rb +0 -3
  363. data/templates/config/initializers/sidekiq.rb +0 -13
  364. data/templates/config/initializers/simple_form.rb +0 -142
  365. data/templates/config/initializers/simple_form_bootstrap.rb +0 -207
  366. data/templates/config/routes.erb +0 -51
  367. data/templates/config/settings.yml +0 -0
  368. data/templates/config/settings/production.yml +0 -0
  369. data/templates/config/settings/staging.yml +0 -0
  370. data/templates/config/sidekiq.yml +0 -13
  371. data/templates/cybele_Gemfile +0 -106
  372. data/templates/cybele_version.txt +0 -1
  373. data/templates/env.sample.erb +0 -11
  374. data/templates/lib/application_responder.rb +0 -8
  375. data/templates/lib/data/cities.yml +0 -163
  376. data/templates/lib/tasks/annotate.rake +0 -6
  377. data/templates/lib/tasks/dev.rake +0 -56
  378. data/templates/lib/tasks/sidekiq.rake +0 -26
  379. data/templates/lib/templates/rails/responders_controller/controller.rb +0 -56
  380. data/templates/public/images/missing_cover.png +0 -0
  381. data/templates/public/images/missing_cover@2x.png +0 -0
  382. data/templates/public/images/missing_logo.png +0 -0
  383. data/templates/public/images/missing_logo@2x.png +0 -0
  384. data/templates/public/images/sprite.png +0 -0
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cybele
4
+ module Helpers
5
+ module Docker
6
+ def setup_docker_development_env
7
+ # Create docker files
8
+ template 'docker/docker-compose.yml.erb',
9
+ 'docker-compose.yml',
10
+ force: true
11
+ template 'docker/Dockerfile.erb',
12
+ 'Dockerfile',
13
+ force: true
14
+ template 'docker/start-app.sh.erb',
15
+ 'bin/start-app.sh',
16
+ force: true
17
+ unless @options[:skip_sidekiq]
18
+ template 'docker/start-sidekiq.sh.erb',
19
+ 'bin/start-sidekiq.sh',
20
+ force: true
21
+ end
22
+ docker_dotenv_files
23
+ end
24
+
25
+ private
26
+
27
+ def docker_dotenv_files
28
+ docker_dotenv_sidekiq
29
+ %w[.env.local .env.sample].each do |env|
30
+ append_template_to_file(env, 'docker/docker_env_local_sample.erb')
31
+ end
32
+ docker_dotenv_sidekiq_local
33
+ end
34
+
35
+ def docker_dotenv_sidekiq_local
36
+ return if @options[:skip_sidekiq]
37
+ %w[.env.local .env.sample].each do |env|
38
+ append_template_to_file(env, 'docker/docker_env_local_sample_host.erb')
39
+ end
40
+ end
41
+
42
+ def docker_dotenv_sidekiq
43
+ return if @options[:skip_sidekiq]
44
+ %w[.env.local .env.sample].each do |env|
45
+ append_template_to_file(env, 'docker/docker_env_local_sample_sidekiq.erb')
46
+ end
47
+ %w[staging production].each do |env|
48
+ append_template_to_file(".env.#{env}", 'docker/docker_env_staging_production_sidekiq.erb')
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cybele
4
+ module Helpers
5
+ module Dotenv
6
+ def configure_dotenv
7
+ # Add dotenv gem
8
+ inject_into_file 'Gemfile',
9
+ template_content('dotenv/dotenv_Gemfile.erb'),
10
+ before: "# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'"
11
+ run_bundle
12
+
13
+ # Create dotenv files
14
+ files_to_template(
15
+ 'dotenv/.env.sample.erb' => '.env.sample',
16
+ 'dotenv/.env.local.erb' => '.env.local',
17
+ 'dotenv/.env.staging.erb' => '.env.staging',
18
+ 'dotenv/.env.production.erb' => '.env.production'
19
+ )
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cybele
4
+ module Helpers
5
+ module ErrorPages
6
+ def configure_error_pages
7
+ inject_into_file 'app/controllers/application_controller.rb',
8
+ template_content('error_pages/error_control.erb'),
9
+ after: 'class ApplicationController < ActionController::Base'
10
+
11
+ inject_into_file 'app/controllers/application_controller.rb',
12
+ template_content('error_pages/error_method.erb'),
13
+ after: 'protect_from_forgery with: :exception'
14
+
15
+ inject_into_file 'config/routes.rb',
16
+ template_content('error_pages/error_route.erb.rb'),
17
+ before: /^end/
18
+
19
+ create_error_pages_files
20
+ end
21
+
22
+ private
23
+
24
+ def create_error_pages_files
25
+ # Server Error
26
+ template 'error_pages/internal_server_error.html.haml',
27
+ 'app/views/errors/internal_server_error.html.haml',
28
+ force: true
29
+
30
+ # Not Found Error
31
+ template 'error_pages/not_found.html.haml',
32
+ 'app/views/errors/not_found.html.haml',
33
+ force: true
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,87 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cybele
4
+ module Helpers
5
+ module General
6
+ def readme
7
+ template 'README.md.erb',
8
+ 'README.md',
9
+ force: true
10
+ end
11
+
12
+ def remove_readme_rdoc
13
+ remove_file 'README.rdoc',
14
+ force: true
15
+ end
16
+
17
+ def add_gems
18
+ # Add gems
19
+ append_file('Gemfile', template_content('Gemfile.erb'))
20
+ end
21
+
22
+ def force_ssl_setting
23
+ gsub_file 'config/environments/production.rb',
24
+ /# config.force_ssl = true/, "config.force_ssl = ENV['RAILS_FORCE_SSL'].present?"
25
+ gsub_file 'config/environments/staging.rb',
26
+ /# config.force_ssl = true/, "config.force_ssl = ENV['RAILS_FORCE_SSL'].present?"
27
+ %w[.env.local .env.production .env.staging .env.sample].each do |env|
28
+ append_file(env, template_content('ssl/ssl_env_all.erb'))
29
+ end
30
+ end
31
+
32
+ def add_editor_config
33
+ copy_file 'editorconfig', '.editorconfig'
34
+ end
35
+
36
+ def add_ruby_version
37
+ copy_file 'ruby-version', '.ruby-version'
38
+ end
39
+
40
+ def add_cybele_version
41
+ copy_file 'VERSION.txt', 'VERSION.txt'
42
+ run 'ln -s ../VERSION.txt public/VERSION.txt'
43
+ end
44
+
45
+ def use_postgres_config_template
46
+ template 'postgresql_database.yml.erb',
47
+ 'config/database.yml',
48
+ force: true
49
+ end
50
+
51
+ def create_database
52
+ bundle_command 'exec rake db:create db:migrate'
53
+ end
54
+
55
+ def generate_config
56
+ generate 'config:install'
57
+ run 'cp config/settings/development.yml config/settings/staging.yml'
58
+ append_file('config/settings.yml', template_content('settings.yml.erb'))
59
+ remove_file 'config/settings.local.yml', force: true
60
+ end
61
+
62
+ def generate_rollbar
63
+ generate 'rollbar'
64
+ end
65
+
66
+ def generate_guard
67
+ bundle_command 'exec guard init'
68
+ inject_into_file('Guardfile', "\n\n#{template_content('guardfile/guardfile_settings.rb.erb')}",
69
+ after: 'config/Guardfile" instead of "Guardfile"')
70
+ end
71
+
72
+ def configure_bullet
73
+ configure_environment 'development', template_content('bullet/bullet_settings.rb.erb')
74
+ end
75
+
76
+ private
77
+
78
+ def configure_environment(rails_env, config)
79
+ inject_into_file("config/environments/#{rails_env}.rb", "\n#{config}", before: "\nend")
80
+ end
81
+
82
+ def action_mailer_host(rails_env)
83
+ configure_environment(rails_env, template_content('mailer/host.rb.erb'))
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cybele
4
+ module Helpers
5
+ module Haml
6
+ def configure_haml
7
+ # Add initializers
8
+ bundle_command 'exec rails generate haml:application_layout convert'
9
+ remove_file 'app/views/layouts/application.html.erb'
10
+ end
11
+
12
+ def add_haml_gems
13
+ # Add Gems
14
+ append_file('Gemfile', template_content('haml/haml_Gemfile.erb'))
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cybele
4
+ module Helpers
5
+ module LocaleLanguage
6
+ def configure_locale_language
7
+ copy_files(
8
+ 'config/locales/tr.yml' => 'config/locales/tr.yml',
9
+ 'config/locales/en.yml' => 'config/locales/en.yml',
10
+ 'config/locales/mailer.tr.yml' => 'config/locales/mailer.tr.yml',
11
+ 'config/locales/models.tr.yml' => 'config/locales/models.tr.yml',
12
+ 'config/locales/view.tr.yml' => 'config/locales/view.tr.yml',
13
+ 'config/locales/mailer.en.yml' => 'config/locales/mailer.en.yml',
14
+ 'config/locales/models.en.yml' => 'config/locales/models.en.yml',
15
+ 'config/locales/view.en.yml' => 'config/locales/view.en.yml'
16
+ )
17
+ inject_into_file 'config/application.rb',
18
+ template_content('config/config_application.rb.erb'),
19
+ after: 'class Application < Rails::Application'
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cybele
4
+ module Helpers
5
+ module Mailer
6
+ def configure_action_mailer
7
+ action_mailer_host 'development'
8
+ action_mailer_host 'staging'
9
+ action_mailer_host 'production'
10
+ end
11
+
12
+ def configure_smtp
13
+ configure_environment 'staging',
14
+ template_content('recipient_interceptor/recipient_interceptor_staging.rb.erb')
15
+ %w[production staging development].each do |env|
16
+ configure_environment env, template_content('mailer/smtp.rb.erb')
17
+ end
18
+ append_template_to_file 'config/settings.yml', 'mailer/mailer_settings.yml.erb'
19
+ %w[.env.local .env.production .env.staging .env.sample].each do |env|
20
+ append_template_to_file(env, 'mailer/.env.local.erb')
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cybele
4
+ module Helpers
5
+ module Paperclip
6
+ def configure_paperclip
7
+ # Add gems
8
+ append_file('Gemfile', template_content('paperclip/paperclip_Gemfile.erb'))
9
+ run_bundle
10
+
11
+ create_paperclip_files
12
+ configure_app_name(%w[.env.sample .env.local .env.staging .env.production])
13
+ end
14
+
15
+ private
16
+
17
+ def create_paperclip_files
18
+ # Initialize file
19
+ template 'paperclip/paperclip.rb.erb',
20
+ 'config/initializers/paperclip.rb',
21
+ force: true
22
+ # Add paperclip settings to the config/settings.yml file
23
+ append_template_to_files(
24
+ 'config/settings.yml' => 'paperclip/paperclip_settings.yml.erb',
25
+ '.env.sample' => 'paperclip/paperclip_env_sample.erb',
26
+ '.env.local' => 'paperclip/paperclip_env_local.erb',
27
+ '.env.staging' => 'paperclip/paperclip_env_staging.erb',
28
+ '.env.production' => 'paperclip/paperclip_env_production.erb'
29
+ )
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cybele
4
+ module Helpers
5
+ module Pronto
6
+ def configure_pronto
7
+ # Create pronto files
8
+ create_config_files
9
+ template 'pronto/rubo.erb',
10
+ 'bin/rubo',
11
+ force: true
12
+ run 'chmod +x bin/rubo'
13
+
14
+ # Ignore secret information file
15
+ append_file('.gitignore', '.pronto.yml')
16
+ end
17
+
18
+ private
19
+
20
+ def create_config_files
21
+ template 'pronto/example.pronto.yml.erb',
22
+ '.pronto.yml',
23
+ force: true
24
+ files_to_template(
25
+ 'pronto/example.pronto.yml.erb' => 'example.pronto.yml',
26
+ 'pronto/.haml-lint.yml.erb' => '.haml-lint.yml',
27
+ 'pronto/config.reek.erb' => 'config.reek',
28
+ 'pronto/.rubocop.yml.erb' => '.rubocop.yml',
29
+ 'pronto/.flayignore.erb' => '.flayignore'
30
+ )
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cybele
4
+ module Helpers
5
+ module RecipientInterceptor
6
+ def configure_recipient_interceptor
7
+ # Add recipient_interceptor staging settings to staging environment file
8
+ configure_environment 'staging',
9
+ template_content('recipient_interceptor/recipient_interceptor_staging.rb.erb')
10
+ # Add recipient_interceptor staging settings to staging environment file
11
+ append_file 'config/settings.yml',
12
+ template_content('recipient_interceptor/recipient_interceptor_settings.yml.erb')
13
+
14
+ configure_app_name(['config/settings.yml'])
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cybele
4
+ module Helpers
5
+ module Responders
6
+ def configure_responders
7
+ # Add gems
8
+ append_file('Gemfile', template_content('responders/responders_Gemfile.erb'))
9
+ run_bundle
10
+
11
+ # Add initializers
12
+ bundle_command 'exec rails generate responders:install'
13
+
14
+ replace_responders_file_contents
15
+ end
16
+
17
+ private
18
+
19
+ def replace_responders_file_contents
20
+ # Add js and json to respond :html
21
+ replace_in_file 'app/controllers/application_controller.rb',
22
+ 'respond_to :html',
23
+ 'respond_to :html, :js, :json'
24
+ comment_lines 'app/controllers/application_controller.rb',
25
+ /self.responder = ApplicationResponder/
26
+ replace_in_file 'app/controllers/application_controller.rb',
27
+ 'require "application_responder"',
28
+ "require 'application_responder'"
29
+ # Remove comments in locale/responders.yml
30
+ remove_file 'config/locales/responders.en.yml', force: true
31
+ copy_file 'config/locales/responders.tr.yml', 'config/locales/responders.tr.yml'
32
+ copy_file 'config/locales/responders.en.yml', 'config/locales/responders.en.yml'
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cybele
4
+ module Helpers
5
+ module Routes
6
+ def configure_routes
7
+ # HQ routes
8
+ comment_lines 'config/routes.rb', /devise_for :admins/
9
+ # User routes
10
+ comment_lines 'config/routes.rb', /devise_for :users/
11
+
12
+ inject_into_file 'config/routes.rb',
13
+ template_content('config/routes.rb.erb'),
14
+ after: 'Rails.application.routes.draw do'
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cybele
4
+ module Helpers
5
+ module ShowFor
6
+ def configure_show_for
7
+ # Run the show_for generator
8
+ bundle_command 'exec rails generate show_for:install'
9
+
10
+ # Add show_for turkish file
11
+ copy_file 'config/locales/show_for.tr.yml', 'config/locales/show_for.tr.yml'
12
+ end
13
+
14
+ def add_show_for_gem
15
+ # Add show_for gem
16
+ append_file('Gemfile', template_content('show_for/show_for_Gemfile.erb'))
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cybele
4
+ module Helpers
5
+ module Sidekiq
6
+ def configure_sidekiq
7
+ # Add gems
8
+ append_file('Gemfile', template_content('sidekiq/sidekiq_Gemfile.erb'))
9
+
10
+ create_sidekiq_files
11
+
12
+ # Add sidekiq routes to routes
13
+ prepend_file 'config/routes.rb',
14
+ template_content('sidekiq/sidekiq_routes_require.erb')
15
+ inject_into_file 'config/routes.rb',
16
+ template_content('sidekiq/sidekiq_routes_mount.erb'),
17
+ after: 'Rails.application.routes.draw do'
18
+ inject_into_file 'config/application.rb',
19
+ template_content('sidekiq/sidekiq_application.rb.erb'),
20
+ after: 'class Application < Rails::Application'
21
+ end
22
+
23
+ private
24
+
25
+ def create_sidekiq_files
26
+ # Initialize files
27
+ files_to_template(
28
+ 'sidekiq/sidekiq.rb.erb' => 'config/initializers/sidekiq.rb',
29
+ 'sidekiq/sidekiq.rake.erb' => 'lib/tasks/sidekiq.rake',
30
+ 'sidekiq/sidekiq.yml.erb' => 'config/sidekiq.yml',
31
+ 'sidekiq/sidekiq_schedule.yml.erb' => 'config/sidekiq_schedule.yml',
32
+ 'sidekiq/sidekiq_Procfile.erb' => 'Procfile'
33
+ )
34
+ end
35
+ end
36
+ end
37
+ end