cybele 1.9.2 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -17,13 +17,14 @@
17
17
  /tmp
18
18
  !.keep
19
19
  *.swp
20
- .env
21
20
  bin/stubs
22
- /.env.*
23
- /.env.local
24
21
  public/system
25
22
  vendor/bundler_gems
26
23
 
24
+ # Ignore secret keys
25
+ .environments
26
+ .environments/*
27
+
27
28
  # Ignore ide and text editor
28
29
  .idea
29
30
  .idea/
@@ -0,0 +1,2 @@
1
+
2
+ before_action :authenticate_admin!
@@ -0,0 +1,3 @@
1
+
2
+
3
+ before_action :configure_devise_permitted_parameters, if: :devise_controller?
@@ -0,0 +1 @@
1
+ Devise::Mailer.layout 'mailer'
@@ -0,0 +1,13 @@
1
+
2
+
3
+ def configure_devise_permitted_parameters
4
+ sign_up_attributes = %i[email password password_confirmation name surname time_zone]
5
+ sign_in_attributes = %i[email password password_confirmation current_password]
6
+ if resource_class == User
7
+ devise_parameter_sanitizer.permit(:sign_up, keys: sign_up_attributes)
8
+ devise_parameter_sanitizer.permit(:sign_in, keys: sign_in_attributes)
9
+ elsif resource_class == Admin
10
+ devise_parameter_sanitizer.permit(:sign_up, keys: sign_up_attributes)
11
+ devise_parameter_sanitizer.permit(:sign_in, keys: sign_in_attributes)
12
+ end
13
+ end
@@ -1,6 +1,9 @@
1
1
  %h2
2
2
  = t('devise.confirmation.new.title')
3
- = simple_form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f|
3
+ = simple_form_for resource,
4
+ as: resource_name,
5
+ url: confirmation_path(resource_name),
6
+ html: { method: :post } do |f|
4
7
  = f.error_notification
5
8
  = f.full_error :confirmation_token
6
9
  .form-inputs
@@ -0,0 +1,5 @@
1
+ %p= t('mailer.salut', user: @resource.email)
2
+ %p= "#{t('mailer.devise.confirmation_instruction.desc1')} :"
3
+ %p
4
+ = link_to t('mailer.devise.confirmation_instruction.btn_confirm'),
5
+ confirmation_url(@resource, confirmation_token: @token)
@@ -0,0 +1,7 @@
1
+ %p= t('mailer.salut', user: @resource.email)
2
+ %p= t('mailer.devise.reset_password.desc1')
3
+ %p
4
+ = link_to t('mailer.devise.reset_password.change'),
5
+ edit_password_url(@resource, reset_password_token: @token)
6
+ %p= t('mailer.devise.reset_password.desc2')
7
+ %p= t('mailer.devise.reset_password.desc3')
@@ -2,4 +2,4 @@
2
2
  Hello #{@resource.email}!
3
3
  %p Your account has been locked due to an excessive number of unsuccessful sign in attempts.
4
4
  %p Click the link below to unlock your account:
5
- %p= link_to 'Unlock my account', unlock_url(@resource, :unlock_token => @resource.unlock_token)
5
+ %p= link_to 'Unlock my account', unlock_url(@resource, unlock_token: @resource.unlock_token)
@@ -0,0 +1,19 @@
1
+ %h2= t('devise.password.edit.title')
2
+ = simple_form_for resource,
3
+ as: resource_name,
4
+ url: password_path(resource_name),
5
+ html: { method: :put } do |f|
6
+ = f.error_notification
7
+ = f.input :reset_password_token, as: :hidden
8
+ = f.full_error :reset_password_token
9
+ .form-inputs
10
+ = f.input :password,
11
+ label: t('devise.password.edit.new_password'),
12
+ required: true,
13
+ autofocus: true
14
+ = f.input :password_confirmation,
15
+ label: t('devise.password.edit.confirmation'),
16
+ required: true
17
+ .form-actions
18
+ = f.button :submit, t('devise.password.edit.button'), class: 'btn btn-primary'
19
+ = render 'devise/shared/links'
@@ -0,0 +1,14 @@
1
+ %h2= t('devise.password.reset.title')
2
+ = simple_form_for resource,
3
+ as: resource_name,
4
+ url: password_path(resource_name),
5
+ html: { method: :post } do |f|
6
+ = f.error_notification
7
+ .form-inputs
8
+ = f.input :email, required: true, autofocus: true
9
+ .form-actions
10
+ = f.button :submit,
11
+ t('devise.password.reset.instructions'),
12
+ class: 'btn btn-primary'
13
+ %br
14
+ = render 'devise/shared/links'
@@ -0,0 +1,21 @@
1
+ %h2
2
+ = t('devise.registration.title', model: resource.class.model_name.human)
3
+ = simple_form_for resource,
4
+ as: resource_name,
5
+ url: registration_path(resource_name),
6
+ html: { method: :put },
7
+ validate: true do |f|
8
+ = f.error_notification
9
+ .form-inputs
10
+ = f.input :email, required: true, autofocus: true
11
+ = f.input :password,
12
+ autocomplete: 'off',
13
+ hint: t('devise.registration.hint_password'),
14
+ required: false
15
+ = f.input :password_confirmation, required: false
16
+ = f.input :current_password,
17
+ hint: t('devise.registration.hint_current_password'),
18
+ required: true
19
+ .form-actions
20
+ = f.button :submit, t('btn.update'), class: 'btn btn-primary'
21
+ = link_to t('btn.back'), :back
@@ -0,0 +1,32 @@
1
+ %h2
2
+ = t('devise.registration.new.title', model: resource.class.model_name.human)
3
+ %hr/
4
+ - if devise_mapping.omniauthable?
5
+ - resource_class.omniauth_providers.each do |provider|
6
+ = link_to omniauth_authorize_path(resource_name, provider),
7
+ class: 'btn btn-lg btn-primary btn-block' do
8
+ %i.fas.fa-facebook
9
+ = t('devise.shared.links.signup_with', name: provider.to_s.titleize)
10
+ %hr/
11
+ %h3.text-center
12
+ = t('view.or')
13
+ %hr/
14
+ = simple_form_for resource,
15
+ as: resource_name,
16
+ url: registration_path(resource_name),
17
+ validate: true do |f|
18
+ = f.error_notification
19
+ .form-inputs
20
+ = f.input :email
21
+ = f.input :password
22
+ = f.input :password_confirmation
23
+ = f.input :name
24
+ = f.input :surname
25
+ = f.input :time_zone,
26
+ input_html: { class: 'chosen-select' },
27
+ include_blank: t('view.select')
28
+ .form-actions
29
+ = f.button :submit,
30
+ t('devise.registration.new.button'),
31
+ class: 'btn btn-primary'
32
+ = render 'devise/shared/links'
@@ -1,10 +1,15 @@
1
1
  %h2
2
- = t('devise.session.title', model: resource.class.model_name.human )
3
- = simple_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f|
2
+ = t('devise.session.title', model: resource.class.model_name.human)
3
+ = simple_form_for resource,
4
+ as: resource_name,
5
+ url: session_path(resource_name) do |f|
4
6
  .form-inputs
5
7
  = f.input :email, required: false, autofocus: true
6
8
  = f.input :password, required: false
7
- = f.input :remember_me, label: t('devise.session.remember_me'), as: :boolean if devise_mapping.rememberable?
9
+ - if devise_mapping.rememberable?
10
+ = f.input :remember_me,
11
+ label: t('devise.session.remember_me'),
12
+ as: :boolean
8
13
  .form-actions
9
14
  = f.button :submit, t('devise.session.button'), class: 'btn btn-primary'
10
15
  = render 'devise/shared/links'
@@ -0,0 +1,29 @@
1
+ %br
2
+ - if controller_name != 'sessions'
3
+ = link_to t('devise.shared.links.signin'), new_session_path(resource_name)
4
+ %br/
5
+ - if devise_mapping.registerable? && controller_name != 'registrations'
6
+ = link_to t('devise.shared.links.signup'), new_registration_path(resource_name)
7
+ %br/
8
+ - if devise_mapping.recoverable?
9
+ - if controller_name != 'passwords' && controller_name != 'registrations'
10
+ = link_to t('devise.shared.links.forgot_password'),
11
+ new_password_path(resource_name)
12
+ %br/
13
+ - if devise_mapping.confirmable? && controller_name != 'confirmations'
14
+ = link_to t('devise.shared.links.confirmation_instructions'),
15
+ new_confirmation_path(resource_name)
16
+ %br/
17
+ - if devise_mapping.lockable? && controller_name != 'unlocks'
18
+ - if resource_class.unlock_strategy_enabled?(:email)
19
+ = link_to t('devise.shared.links.unlock_instructions'),
20
+ new_unlock_path(resource_name)
21
+ %br/
22
+ - if devise_mapping.omniauthable?
23
+ - resource_class.omniauth_providers.each do |provider|
24
+ = link_to t('devise.shared.links.signin_with',
25
+ name: provider.to_s.titleize),
26
+ omniauth_authorize_path(resource_name, provider)
27
+ %br/
28
+ = link_to t('view.navbar.home_page'), root_path
29
+ %br/
@@ -1,5 +1,8 @@
1
1
  %h2 Resend unlock instructions
2
- = simple_form_for(resource, as: resource_name, url: unlock_path(resource_name), html: { method: :post }) do |f|
2
+ = simple_form_for resource,
3
+ as: resource_name,
4
+ url: unlock_path(resource_name),
5
+ html: { method: :post } do |f|
3
6
  = f.error_notification
4
7
  = f.full_error :unlock_token
5
8
  .form-inputs
@@ -0,0 +1 @@
1
+ Admin.create(email: 'admin@<%= app_name %>.com', name: 'Admin', surname: 'Admin', password: '12341234', password_confirmation: '12341234')
@@ -0,0 +1,48 @@
1
+ FROM ruby:2.3.5
2
+ MAINTAINER dev@lab2023.com
3
+
4
+ # Install apt based dependencies required to run Rails as
5
+ # well as RubyGems. As the Ruby image itself is based on a
6
+ # Debian image, we use apt-get to install those.
7
+ # Add for locales locales \
8
+ RUN apt-get update && apt-get install -y \
9
+ build-essential \
10
+ qt5-default libqt5webkit5-dev gstreamer1.0-plugins-base gstreamer1.0-tools gstreamer1.0-x \
11
+ nodejs \
12
+ cmake
13
+
14
+ # Use en_US.UTF-8 as our locale
15
+ # RUN locale-gen en_US.UTF-8
16
+ # ENV LANG en_US.UTF-8
17
+ # ENV LANGUAGE en_US:en
18
+ # ENV LC_ALL en_US.UTF-8
19
+
20
+ # Configure the main working directory. This is the base
21
+ # directory used in any further RUN, COPY, and ENTRYPOINT
22
+ # commands.
23
+ RUN mkdir -p /app
24
+ WORKDIR /app
25
+
26
+ # Copy the Gemfile as well as the Gemfile.lock and install
27
+ # the RubyGems. This is a separate step so the dependencies
28
+ # will be cached unless changes to one of those two files
29
+ # are made.
30
+ # COPY Gemfile Gemfile.lock ./
31
+ # RUN gem install bundler && bundle install --jobs 20 --retry 5
32
+ ENV BUNDLE_PATH /gems_box
33
+
34
+ # Copy the main application.
35
+ COPY . ./
36
+
37
+ # Expose port 3000 to the Docker host, so we can access it
38
+ # from the outside.
39
+ EXPOSE 3000
40
+
41
+ # Configure an entry point, so we don't need to specify
42
+ # "bundle exec" for each of our commands.
43
+ # ENTRYPOINT ["bundle", "exec"]
44
+
45
+ # The main command to run when the container starts. Also
46
+ # tell the Rails dev server to bind to all interfaces by
47
+ # default.
48
+ CMD ["bundle", "exec", "rails", "server", "-b", "0.0.0.0"]
@@ -0,0 +1,46 @@
1
+ version: '2.1'
2
+ services:
3
+ app:
4
+ build: .
5
+ env_file: ./.env.local
6
+ command: bash ./bin/start-app.sh
7
+ volumes:
8
+ - .:/app
9
+ ports:
10
+ - "3000:3000"
11
+ links:
12
+ - postgres
13
+ <% unless @options[:skip_sidekiq] %>
14
+ - redis
15
+ <% end %>
16
+ volumes_from:
17
+ - box
18
+ box:
19
+ image: busybox
20
+ volumes:
21
+ - /gems_box
22
+ postgres:
23
+ image: postgres:9.5
24
+ ports:
25
+ - "5433:5432"
26
+ <% unless @options[:skip_sidekiq] %>
27
+ redis:
28
+ image: redis:3.2
29
+ env_file: ./.env.local
30
+ command: redis-server
31
+ ports:
32
+ - '6380:6379'
33
+ volumes:
34
+ - ./tmp/data:/data
35
+ sidekiq:
36
+ build: .
37
+ env_file: ./.env.local
38
+ volumes:
39
+ - .:/app
40
+ volumes_from:
41
+ - box
42
+ links:
43
+ - postgres
44
+ - redis
45
+ command: bash ./bin/start-sidekiq.sh
46
+ <% end %>
@@ -0,0 +1,6 @@
1
+
2
+ ##### Docker compose environments
3
+
4
+ # Set Rails/Rack environment
5
+ RACK_ENV=development
6
+ POSTGRESQL_HOST=postgres
@@ -0,0 +1 @@
1
+ REDIS_HOST=redis
@@ -0,0 +1,2 @@
1
+
2
+ REDISTOGO_URL=redis://redis:6379/0
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+
3
+ bundle check || bundle install
4
+
5
+ rm -rf ./tmp/pids/server.pid
6
+
7
+ bundle exec rails server -p 3000 -b '0.0.0.0'
@@ -0,0 +1,27 @@
1
+ #!/bin/bash
2
+
3
+ bundle check || bundle install
4
+ bundle config git.allow_insecure true
5
+
6
+ # Create directory if not exists
7
+ if [ ! -d ./tmp/pids ]; then
8
+ mkdir ./tmp/pids
9
+ fi
10
+
11
+ # If file exist stop sidekiq
12
+ if [ -f ./tmp/pids/sidekiq.pid ]; then
13
+ {
14
+ echo 'Stopping sidekiq'
15
+ bundle exec sidekiqctl stop tmp/pids/sidekiq.pid
16
+
17
+ echo 'Stopped sidekiq'
18
+ rm -rf ./tmp/pids/sidekiq.pid
19
+ } || {
20
+ echo 'Error occurred when stopping sidekiq'
21
+ }
22
+ fi
23
+
24
+ echo 'Starting sidekiq'
25
+ bundle exec sidekiq -C config/sidekiq.yml
26
+
27
+ echo 'Started sidekiq'
@@ -0,0 +1,5 @@
1
+ ROOT_PATH=http://localhost:3000
2
+
3
+ SECRET_KEY_BASE=
4
+
5
+ ROLLBAR_ACCESS_TOKEN=
@@ -0,0 +1,5 @@
1
+ ROOT_PATH=https://<%= app_name %>.herokuapp.com
2
+
3
+ SECRET_KEY_BASE=
4
+
5
+ ROLLBAR_ACCESS_TOKEN=
@@ -0,0 +1,5 @@
1
+ ROOT_PATH=http://localhost:3000
2
+
3
+ SECRET_KEY_BASE=
4
+
5
+ ROLLBAR_ACCESS_TOKEN=
@@ -0,0 +1,5 @@
1
+ ROOT_PATH=https://staging-<%= app_name %>.herokuapp.com
2
+
3
+ SECRET_KEY_BASE=
4
+
5
+ ROLLBAR_ACCESS_TOKEN=
@@ -0,0 +1,2 @@
1
+ # Dot-Env
2
+ gem 'dotenv-rails', require: 'dotenv/rails-now'
@@ -0,0 +1,7 @@
1
+
2
+
3
+ if Rails.env.production? || Rails.env.staging?
4
+ rescue_from Exception, with: :server_error
5
+ rescue_from ActiveRecord::RecordNotFound, with: :page_not_found
6
+ rescue_from ActionController::RoutingError, with: :page_not_found
7
+ end
@@ -0,0 +1,10 @@
1
+
2
+
3
+ def server_error(exception)
4
+ Rollbar.error "ApplicationController#server_error --exception: #{exception}"
5
+ render template: 'errors/internal_server_error', status: 500
6
+ end
7
+
8
+ def page_not_found
9
+ render template: 'errors/not_found', status: 404
10
+ end
@@ -0,0 +1,2 @@
1
+
2
+ match '*unmatched_route', to: 'application#page_not_found', via: :all unless Rails.env.development?