administration-zero 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (462) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +8 -0
  3. data/CHANGELOG.md +0 -0
  4. data/CODE_OF_CONDUCT.md +84 -0
  5. data/Gemfile +8 -0
  6. data/Gemfile.lock +19 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +52 -0
  9. data/Rakefile +4 -0
  10. data/administration_zero.gemspec +22 -0
  11. data/lib/administration-zero.rb +1 -0
  12. data/lib/administration_zero/version.rb +3 -0
  13. data/lib/administration_zero.rb +4 -0
  14. data/lib/generators/admin/install/USAGE +5 -0
  15. data/lib/generators/admin/install/install_generator.rb +68 -0
  16. data/lib/generators/admin/install/templates/controllers/admin/application_controller.rb +13 -0
  17. data/lib/generators/admin/install/templates/controllers/admin/home_controller.rb +4 -0
  18. data/lib/generators/admin/install/templates/controllers/admin/password_resets_controller.rb +41 -0
  19. data/lib/generators/admin/install/templates/controllers/admin/sessions_controller.rb +25 -0
  20. data/lib/generators/admin/install/templates/controllers/admin/users_controller.rb +54 -0
  21. data/lib/generators/admin/install/templates/erb/admin/application/_flash_messages.html.erb +11 -0
  22. data/lib/generators/admin/install/templates/erb/admin/application/_footer.html.erb +34 -0
  23. data/lib/generators/admin/install/templates/erb/admin/application/_javascript_tags.html.erb +23 -0
  24. data/lib/generators/admin/install/templates/erb/admin/application/_page_header.html.erb +8 -0
  25. data/lib/generators/admin/install/templates/erb/admin/application/_page_header_actions.html.erb +5 -0
  26. data/lib/generators/admin/install/templates/erb/admin/application/_page_header_breadcrumb.html.erb +12 -0
  27. data/lib/generators/admin/install/templates/erb/admin/application/_pagination.html.erb +24 -0
  28. data/lib/generators/admin/install/templates/erb/admin/application/_primary_navbar.html.erb +67 -0
  29. data/lib/generators/admin/install/templates/erb/admin/application/_secondary_navbar.html.erb +31 -0
  30. data/lib/generators/admin/install/templates/erb/admin/application/_stylesheet_link_tags.html.erb +7 -0
  31. data/lib/generators/admin/install/templates/erb/admin/home/index.html.erb +8 -0
  32. data/lib/generators/admin/install/templates/erb/admin/password_resets/edit.html.erb +23 -0
  33. data/lib/generators/admin/install/templates/erb/admin/password_resets/new.html.erb +17 -0
  34. data/lib/generators/admin/install/templates/erb/admin/sessions/new.html.erb +21 -0
  35. data/lib/generators/admin/install/templates/erb/admin/user_mailer/password_reset_provision.html.erb +11 -0
  36. data/lib/generators/admin/install/templates/erb/admin/user_mailer/password_reset_provision.text.erb +9 -0
  37. data/lib/generators/admin/install/templates/erb/admin/users/_form.html.erb +30 -0
  38. data/lib/generators/admin/install/templates/erb/admin/users/edit.html.erb +17 -0
  39. data/lib/generators/admin/install/templates/erb/admin/users/index.html.erb +73 -0
  40. data/lib/generators/admin/install/templates/erb/admin/users/new.html.erb +16 -0
  41. data/lib/generators/admin/install/templates/erb/admin/users/show.html.erb +33 -0
  42. data/lib/generators/admin/install/templates/erb/layouts/admin/application.html.erb +28 -0
  43. data/lib/generators/admin/install/templates/erb/layouts/admin/authentication.html.erb +34 -0
  44. data/lib/generators/admin/install/templates/helpers/admin/application_helper.rb +30 -0
  45. data/lib/generators/admin/install/templates/images/admin/avatars/000f.jpg +0 -0
  46. data/lib/generators/admin/install/templates/images/admin/avatars/000m.jpg +0 -0
  47. data/lib/generators/admin/install/templates/images/admin/avatars/001f.jpg +0 -0
  48. data/lib/generators/admin/install/templates/images/admin/avatars/001m.jpg +0 -0
  49. data/lib/generators/admin/install/templates/images/admin/avatars/002f.jpg +0 -0
  50. data/lib/generators/admin/install/templates/images/admin/avatars/002m.jpg +0 -0
  51. data/lib/generators/admin/install/templates/images/admin/avatars/003f.jpg +0 -0
  52. data/lib/generators/admin/install/templates/images/admin/avatars/003m.jpg +0 -0
  53. data/lib/generators/admin/install/templates/images/admin/avatars/004f.jpg +0 -0
  54. data/lib/generators/admin/install/templates/images/admin/avatars/004m.jpg +0 -0
  55. data/lib/generators/admin/install/templates/images/admin/avatars/005f.jpg +0 -0
  56. data/lib/generators/admin/install/templates/images/admin/avatars/005m.jpg +0 -0
  57. data/lib/generators/admin/install/templates/images/admin/avatars/006f.jpg +0 -0
  58. data/lib/generators/admin/install/templates/images/admin/avatars/006m.jpg +0 -0
  59. data/lib/generators/admin/install/templates/images/admin/avatars/007f.jpg +0 -0
  60. data/lib/generators/admin/install/templates/images/admin/avatars/007m.jpg +0 -0
  61. data/lib/generators/admin/install/templates/images/admin/avatars/008f.jpg +0 -0
  62. data/lib/generators/admin/install/templates/images/admin/avatars/008m.jpg +0 -0
  63. data/lib/generators/admin/install/templates/images/admin/avatars/009f.jpg +0 -0
  64. data/lib/generators/admin/install/templates/images/admin/avatars/009m.jpg +0 -0
  65. data/lib/generators/admin/install/templates/images/admin/avatars/010f.jpg +0 -0
  66. data/lib/generators/admin/install/templates/images/admin/avatars/010m.jpg +0 -0
  67. data/lib/generators/admin/install/templates/images/admin/avatars/011f.jpg +0 -0
  68. data/lib/generators/admin/install/templates/images/admin/avatars/011m.jpg +0 -0
  69. data/lib/generators/admin/install/templates/images/admin/avatars/012f.jpg +0 -0
  70. data/lib/generators/admin/install/templates/images/admin/avatars/012m.jpg +0 -0
  71. data/lib/generators/admin/install/templates/images/admin/avatars/013f.jpg +0 -0
  72. data/lib/generators/admin/install/templates/images/admin/avatars/013m.jpg +0 -0
  73. data/lib/generators/admin/install/templates/images/admin/avatars/014f.jpg +0 -0
  74. data/lib/generators/admin/install/templates/images/admin/avatars/014m.jpg +0 -0
  75. data/lib/generators/admin/install/templates/images/admin/avatars/015f.jpg +0 -0
  76. data/lib/generators/admin/install/templates/images/admin/avatars/015m.jpg +0 -0
  77. data/lib/generators/admin/install/templates/images/admin/avatars/016f.jpg +0 -0
  78. data/lib/generators/admin/install/templates/images/admin/avatars/016m.jpg +0 -0
  79. data/lib/generators/admin/install/templates/images/admin/avatars/017f.jpg +0 -0
  80. data/lib/generators/admin/install/templates/images/admin/avatars/017m.jpg +0 -0
  81. data/lib/generators/admin/install/templates/images/admin/avatars/018f.jpg +0 -0
  82. data/lib/generators/admin/install/templates/images/admin/avatars/018m.jpg +0 -0
  83. data/lib/generators/admin/install/templates/images/admin/avatars/019f.jpg +0 -0
  84. data/lib/generators/admin/install/templates/images/admin/avatars/019m.jpg +0 -0
  85. data/lib/generators/admin/install/templates/images/admin/avatars/020f.jpg +0 -0
  86. data/lib/generators/admin/install/templates/images/admin/avatars/020m.jpg +0 -0
  87. data/lib/generators/admin/install/templates/images/admin/avatars/021f.jpg +0 -0
  88. data/lib/generators/admin/install/templates/images/admin/avatars/021m.jpg +0 -0
  89. data/lib/generators/admin/install/templates/images/admin/avatars/022f.jpg +0 -0
  90. data/lib/generators/admin/install/templates/images/admin/avatars/022m.jpg +0 -0
  91. data/lib/generators/admin/install/templates/images/admin/avatars/023f.jpg +0 -0
  92. data/lib/generators/admin/install/templates/images/admin/avatars/023m.jpg +0 -0
  93. data/lib/generators/admin/install/templates/images/admin/avatars/024f.jpg +0 -0
  94. data/lib/generators/admin/install/templates/images/admin/avatars/024m.jpg +0 -0
  95. data/lib/generators/admin/install/templates/images/admin/avatars/025f.jpg +0 -0
  96. data/lib/generators/admin/install/templates/images/admin/avatars/025m.jpg +0 -0
  97. data/lib/generators/admin/install/templates/images/admin/avatars/026f.jpg +0 -0
  98. data/lib/generators/admin/install/templates/images/admin/avatars/026m.jpg +0 -0
  99. data/lib/generators/admin/install/templates/images/admin/avatars/027f.jpg +0 -0
  100. data/lib/generators/admin/install/templates/images/admin/avatars/027m.jpg +0 -0
  101. data/lib/generators/admin/install/templates/images/admin/avatars/028f.jpg +0 -0
  102. data/lib/generators/admin/install/templates/images/admin/avatars/028m.jpg +0 -0
  103. data/lib/generators/admin/install/templates/images/admin/avatars/029f.jpg +0 -0
  104. data/lib/generators/admin/install/templates/images/admin/avatars/029m.jpg +0 -0
  105. data/lib/generators/admin/install/templates/images/admin/avatars/030f.jpg +0 -0
  106. data/lib/generators/admin/install/templates/images/admin/avatars/030m.jpg +0 -0
  107. data/lib/generators/admin/install/templates/images/admin/avatars/031f.jpg +0 -0
  108. data/lib/generators/admin/install/templates/images/admin/avatars/031m.jpg +0 -0
  109. data/lib/generators/admin/install/templates/images/admin/avatars/032f.jpg +0 -0
  110. data/lib/generators/admin/install/templates/images/admin/avatars/032m.jpg +0 -0
  111. data/lib/generators/admin/install/templates/images/admin/avatars/033f.jpg +0 -0
  112. data/lib/generators/admin/install/templates/images/admin/avatars/033m.jpg +0 -0
  113. data/lib/generators/admin/install/templates/images/admin/avatars/034f.jpg +0 -0
  114. data/lib/generators/admin/install/templates/images/admin/avatars/034m.jpg +0 -0
  115. data/lib/generators/admin/install/templates/images/admin/avatars/035f.jpg +0 -0
  116. data/lib/generators/admin/install/templates/images/admin/avatars/035m.jpg +0 -0
  117. data/lib/generators/admin/install/templates/images/admin/avatars/036f.jpg +0 -0
  118. data/lib/generators/admin/install/templates/images/admin/avatars/036m.jpg +0 -0
  119. data/lib/generators/admin/install/templates/images/admin/avatars/037f.jpg +0 -0
  120. data/lib/generators/admin/install/templates/images/admin/avatars/037m.jpg +0 -0
  121. data/lib/generators/admin/install/templates/images/admin/avatars/038f.jpg +0 -0
  122. data/lib/generators/admin/install/templates/images/admin/avatars/038m.jpg +0 -0
  123. data/lib/generators/admin/install/templates/images/admin/avatars/039f.jpg +0 -0
  124. data/lib/generators/admin/install/templates/images/admin/avatars/039m.jpg +0 -0
  125. data/lib/generators/admin/install/templates/images/admin/avatars/040f.jpg +0 -0
  126. data/lib/generators/admin/install/templates/images/admin/avatars/040m.jpg +0 -0
  127. data/lib/generators/admin/install/templates/images/admin/avatars/041f.jpg +0 -0
  128. data/lib/generators/admin/install/templates/images/admin/avatars/041m.jpg +0 -0
  129. data/lib/generators/admin/install/templates/images/admin/avatars/042f.jpg +0 -0
  130. data/lib/generators/admin/install/templates/images/admin/avatars/042m.jpg +0 -0
  131. data/lib/generators/admin/install/templates/images/admin/avatars/043f.jpg +0 -0
  132. data/lib/generators/admin/install/templates/images/admin/avatars/043m.jpg +0 -0
  133. data/lib/generators/admin/install/templates/images/admin/avatars/044f.jpg +0 -0
  134. data/lib/generators/admin/install/templates/images/admin/avatars/044m.jpg +0 -0
  135. data/lib/generators/admin/install/templates/images/admin/avatars/045f.jpg +0 -0
  136. data/lib/generators/admin/install/templates/images/admin/avatars/045m.jpg +0 -0
  137. data/lib/generators/admin/install/templates/images/admin/avatars/046f.jpg +0 -0
  138. data/lib/generators/admin/install/templates/images/admin/avatars/046m.jpg +0 -0
  139. data/lib/generators/admin/install/templates/images/admin/avatars/047f.jpg +0 -0
  140. data/lib/generators/admin/install/templates/images/admin/avatars/047m.jpg +0 -0
  141. data/lib/generators/admin/install/templates/images/admin/avatars/048f.jpg +0 -0
  142. data/lib/generators/admin/install/templates/images/admin/avatars/048m.jpg +0 -0
  143. data/lib/generators/admin/install/templates/images/admin/avatars/049f.jpg +0 -0
  144. data/lib/generators/admin/install/templates/images/admin/avatars/049m.jpg +0 -0
  145. data/lib/generators/admin/install/templates/images/admin/avatars/050f.jpg +0 -0
  146. data/lib/generators/admin/install/templates/images/admin/avatars/050m.jpg +0 -0
  147. data/lib/generators/admin/install/templates/images/admin/avatars/051f.jpg +0 -0
  148. data/lib/generators/admin/install/templates/images/admin/avatars/051m.jpg +0 -0
  149. data/lib/generators/admin/install/templates/images/admin/avatars/052f.jpg +0 -0
  150. data/lib/generators/admin/install/templates/images/admin/avatars/052m.jpg +0 -0
  151. data/lib/generators/admin/install/templates/images/admin/avatars/053f.jpg +0 -0
  152. data/lib/generators/admin/install/templates/images/admin/avatars/053m.jpg +0 -0
  153. data/lib/generators/admin/install/templates/images/admin/avatars/054f.jpg +0 -0
  154. data/lib/generators/admin/install/templates/images/admin/avatars/054m.jpg +0 -0
  155. data/lib/generators/admin/install/templates/images/admin/avatars/055f.jpg +0 -0
  156. data/lib/generators/admin/install/templates/images/admin/avatars/055m.jpg +0 -0
  157. data/lib/generators/admin/install/templates/images/admin/avatars/056f.jpg +0 -0
  158. data/lib/generators/admin/install/templates/images/admin/avatars/056m.jpg +0 -0
  159. data/lib/generators/admin/install/templates/images/admin/avatars/057f.jpg +0 -0
  160. data/lib/generators/admin/install/templates/images/admin/avatars/057m.jpg +0 -0
  161. data/lib/generators/admin/install/templates/images/admin/avatars/058f.jpg +0 -0
  162. data/lib/generators/admin/install/templates/images/admin/avatars/058m.jpg +0 -0
  163. data/lib/generators/admin/install/templates/images/admin/avatars/059f.jpg +0 -0
  164. data/lib/generators/admin/install/templates/images/admin/avatars/059m.jpg +0 -0
  165. data/lib/generators/admin/install/templates/images/admin/avatars/060f.jpg +0 -0
  166. data/lib/generators/admin/install/templates/images/admin/avatars/060m.jpg +0 -0
  167. data/lib/generators/admin/install/templates/images/admin/avatars/061f.jpg +0 -0
  168. data/lib/generators/admin/install/templates/images/admin/avatars/061m.jpg +0 -0
  169. data/lib/generators/admin/install/templates/images/admin/avatars/062f.jpg +0 -0
  170. data/lib/generators/admin/install/templates/images/admin/avatars/062m.jpg +0 -0
  171. data/lib/generators/admin/install/templates/images/admin/avatars/063f.jpg +0 -0
  172. data/lib/generators/admin/install/templates/images/admin/avatars/063m.jpg +0 -0
  173. data/lib/generators/admin/install/templates/images/admin/avatars/064f.jpg +0 -0
  174. data/lib/generators/admin/install/templates/images/admin/avatars/064m.jpg +0 -0
  175. data/lib/generators/admin/install/templates/images/admin/avatars/065f.jpg +0 -0
  176. data/lib/generators/admin/install/templates/images/admin/avatars/065m.jpg +0 -0
  177. data/lib/generators/admin/install/templates/images/admin/avatars/066f.jpg +0 -0
  178. data/lib/generators/admin/install/templates/images/admin/avatars/066m.jpg +0 -0
  179. data/lib/generators/admin/install/templates/images/admin/avatars/067f.jpg +0 -0
  180. data/lib/generators/admin/install/templates/images/admin/avatars/067m.jpg +0 -0
  181. data/lib/generators/admin/install/templates/images/admin/avatars/068f.jpg +0 -0
  182. data/lib/generators/admin/install/templates/images/admin/avatars/068m.jpg +0 -0
  183. data/lib/generators/admin/install/templates/images/admin/avatars/069f.jpg +0 -0
  184. data/lib/generators/admin/install/templates/images/admin/avatars/069m.jpg +0 -0
  185. data/lib/generators/admin/install/templates/images/admin/avatars/070f.jpg +0 -0
  186. data/lib/generators/admin/install/templates/images/admin/avatars/070m.jpg +0 -0
  187. data/lib/generators/admin/install/templates/images/admin/avatars/071f.jpg +0 -0
  188. data/lib/generators/admin/install/templates/images/admin/avatars/071m.jpg +0 -0
  189. data/lib/generators/admin/install/templates/images/admin/avatars/072f.jpg +0 -0
  190. data/lib/generators/admin/install/templates/images/admin/avatars/072m.jpg +0 -0
  191. data/lib/generators/admin/install/templates/images/admin/avatars/073m.jpg +0 -0
  192. data/lib/generators/admin/install/templates/images/admin/avatars/074m.jpg +0 -0
  193. data/lib/generators/admin/install/templates/images/admin/browsers/brave.svg +1 -0
  194. data/lib/generators/admin/install/templates/images/admin/browsers/chrome.svg +1 -0
  195. data/lib/generators/admin/install/templates/images/admin/browsers/edge.svg +1 -0
  196. data/lib/generators/admin/install/templates/images/admin/browsers/electron.svg +1 -0
  197. data/lib/generators/admin/install/templates/images/admin/browsers/firefox.svg +1 -0
  198. data/lib/generators/admin/install/templates/images/admin/browsers/opera.svg +1 -0
  199. data/lib/generators/admin/install/templates/images/admin/browsers/safari.svg +1 -0
  200. data/lib/generators/admin/install/templates/images/admin/browsers/vivaldi.svg +1 -0
  201. data/lib/generators/admin/install/templates/images/admin/components/card-buttons.png +0 -0
  202. data/lib/generators/admin/install/templates/images/admin/components/card-comments.png +0 -0
  203. data/lib/generators/admin/install/templates/images/admin/components/card-ribbon.png +0 -0
  204. data/lib/generators/admin/install/templates/images/admin/components/card-tabs-bottom.png +0 -0
  205. data/lib/generators/admin/install/templates/images/admin/components/card-with-image.png +0 -0
  206. data/lib/generators/admin/install/templates/images/admin/components/empty.png +0 -0
  207. data/lib/generators/admin/install/templates/images/admin/components/input-colors.png +0 -0
  208. data/lib/generators/admin/install/templates/images/admin/components/input-image.png +0 -0
  209. data/lib/generators/admin/install/templates/images/admin/components/simple-avatar.png +0 -0
  210. data/lib/generators/admin/install/templates/images/admin/components/simple-card.png +0 -0
  211. data/lib/generators/admin/install/templates/images/admin/components/widget-revenue.png +0 -0
  212. data/lib/generators/admin/install/templates/images/admin/components/widget-sales.png +0 -0
  213. data/lib/generators/admin/install/templates/images/admin/crypto_currencies/bitcoin.svg +1 -0
  214. data/lib/generators/admin/install/templates/images/admin/crypto_currencies/cardano.svg +1 -0
  215. data/lib/generators/admin/install/templates/images/admin/crypto_currencies/dash.svg +1 -0
  216. data/lib/generators/admin/install/templates/images/admin/crypto_currencies/eos.svg +1 -0
  217. data/lib/generators/admin/install/templates/images/admin/crypto_currencies/ethereum.svg +1 -0
  218. data/lib/generators/admin/install/templates/images/admin/crypto_currencies/litecoin.svg +1 -0
  219. data/lib/generators/admin/install/templates/images/admin/crypto_currencies/nem.svg +1 -0
  220. data/lib/generators/admin/install/templates/images/admin/crypto_currencies/ripple.svg +1 -0
  221. data/lib/generators/admin/install/templates/images/admin/illustrations/undraw_bug_fixing_oc7a.svg +1 -0
  222. data/lib/generators/admin/install/templates/images/admin/illustrations/undraw_joyride_hnno.svg +1 -0
  223. data/lib/generators/admin/install/templates/images/admin/illustrations/undraw_medicine_b1ol.svg +1 -0
  224. data/lib/generators/admin/install/templates/images/admin/illustrations/undraw_mobile_application_mr4r.svg +1 -0
  225. data/lib/generators/admin/install/templates/images/admin/illustrations/undraw_posting_photo_v65l.svg +1 -0
  226. data/lib/generators/admin/install/templates/images/admin/illustrations/undraw_printing_invoices_5r4r.svg +1 -0
  227. data/lib/generators/admin/install/templates/images/admin/illustrations/undraw_quitting_time_dm8t.svg +1 -0
  228. data/lib/generators/admin/install/templates/images/admin/illustrations/undraw_sign_in_e6hj.svg +1 -0
  229. data/lib/generators/admin/install/templates/images/admin/illustrations/undraw_work_together_h63l.svg +1 -0
  230. data/lib/generators/admin/install/templates/images/admin/logo-small-white.svg +3 -0
  231. data/lib/generators/admin/install/templates/images/admin/logo-small.svg +3 -0
  232. data/lib/generators/admin/install/templates/images/admin/logo-white.svg +4 -0
  233. data/lib/generators/admin/install/templates/images/admin/logo.svg +4 -0
  234. data/lib/generators/admin/install/templates/images/admin/og.png +0 -0
  235. data/lib/generators/admin/install/templates/images/admin/photos/06c56bb2dfad556b.jpg +0 -0
  236. data/lib/generators/admin/install/templates/images/admin/photos/0986f97be719fb9a.jpg +0 -0
  237. data/lib/generators/admin/install/templates/images/admin/photos/1194d63fe36a8670.jpg +0 -0
  238. data/lib/generators/admin/install/templates/images/admin/photos/1366fdc9b9b277e4.jpg +0 -0
  239. data/lib/generators/admin/install/templates/images/admin/photos/1b73704b282a8ec6.jpg +0 -0
  240. data/lib/generators/admin/install/templates/images/admin/photos/2492baa9758df1e4.jpg +0 -0
  241. data/lib/generators/admin/install/templates/images/admin/photos/2854fd67ddbd6217.jpg +0 -0
  242. data/lib/generators/admin/install/templates/images/admin/photos/35b88fc04a518c1b.jpg +0 -0
  243. data/lib/generators/admin/install/templates/images/admin/photos/3664593f945f0d8d.jpg +0 -0
  244. data/lib/generators/admin/install/templates/images/admin/photos/36e273986ed577b8.jpg +0 -0
  245. data/lib/generators/admin/install/templates/images/admin/photos/3b05a157d2edde04.jpg +0 -0
  246. data/lib/generators/admin/install/templates/images/admin/photos/3d2998219313cd37.jpg +0 -0
  247. data/lib/generators/admin/install/templates/images/admin/photos/446fb2d04445c2d9.jpg +0 -0
  248. data/lib/generators/admin/install/templates/images/admin/photos/4f668538bdd3fd7f.jpg +0 -0
  249. data/lib/generators/admin/install/templates/images/admin/photos/529078594c496ec5.jpg +0 -0
  250. data/lib/generators/admin/install/templates/images/admin/photos/5358d787242861c4.jpg +0 -0
  251. data/lib/generators/admin/install/templates/images/admin/photos/546fd146c83f428c.jpg +0 -0
  252. data/lib/generators/admin/install/templates/images/admin/photos/552683cc4e5f0e11.jpg +0 -0
  253. data/lib/generators/admin/install/templates/images/admin/photos/5614ec7eb9034d04.jpg +0 -0
  254. data/lib/generators/admin/install/templates/images/admin/photos/56614e12b2a7bd68.jpg +0 -0
  255. data/lib/generators/admin/install/templates/images/admin/photos/5749e5c54a61a45e.jpg +0 -0
  256. data/lib/generators/admin/install/templates/images/admin/photos/6ab3200b14549f8a.jpg +0 -0
  257. data/lib/generators/admin/install/templates/images/admin/photos/6d35d9a2bd6c63c2.jpg +0 -0
  258. data/lib/generators/admin/install/templates/images/admin/photos/6f6e2ef709fef97a.jpg +0 -0
  259. data/lib/generators/admin/install/templates/images/admin/photos/6fe407b4b13bbcde.jpg +0 -0
  260. data/lib/generators/admin/install/templates/images/admin/photos/75b555b99d5b38c4.jpg +0 -0
  261. data/lib/generators/admin/install/templates/images/admin/photos/77586f6ffa9fbc5e.jpg +0 -0
  262. data/lib/generators/admin/install/templates/images/admin/photos/7ce612d952e536b2.jpg +0 -0
  263. data/lib/generators/admin/install/templates/images/admin/photos/802a16cdf5ce3551.jpg +0 -0
  264. data/lib/generators/admin/install/templates/images/admin/photos/8a26974ee6444acd.jpg +0 -0
  265. data/lib/generators/admin/install/templates/images/admin/photos/8c13ad59f739558c.jpg +0 -0
  266. data/lib/generators/admin/install/templates/images/admin/photos/8d49f9c47fa68d5a.jpg +0 -0
  267. data/lib/generators/admin/install/templates/images/admin/photos/8fdeb4785d2b82ef.jpg +0 -0
  268. data/lib/generators/admin/install/templates/images/admin/photos/9f36332564ca271d.jpg +0 -0
  269. data/lib/generators/admin/install/templates/images/admin/photos/a12804818c417ea3.jpg +0 -0
  270. data/lib/generators/admin/install/templates/images/admin/photos/a159fb2bff29fda4.jpg +0 -0
  271. data/lib/generators/admin/install/templates/images/admin/photos/a4792dcce57ee13d.jpg +0 -0
  272. data/lib/generators/admin/install/templates/images/admin/photos/a74c41b6fb7fdf34.jpg +0 -0
  273. data/lib/generators/admin/install/templates/images/admin/photos/abb0721ac43820f9.jpg +0 -0
  274. data/lib/generators/admin/install/templates/images/admin/photos/c86352559904d222.jpg +0 -0
  275. data/lib/generators/admin/install/templates/images/admin/photos/cfb1041b0e366b9d.jpg +0 -0
  276. data/lib/generators/admin/install/templates/images/admin/photos/d366fc3df37fe65b.jpg +0 -0
  277. data/lib/generators/admin/install/templates/images/admin/photos/da6119936bd7f566.jpg +0 -0
  278. data/lib/generators/admin/install/templates/images/admin/photos/de6d0fd1feebb6a2.jpg +0 -0
  279. data/lib/generators/admin/install/templates/images/admin/photos/e8f47263360d96af.jpg +0 -0
  280. data/lib/generators/admin/install/templates/images/admin/photos/ecfed9fbf8a58836.jpg +0 -0
  281. data/lib/generators/admin/install/templates/images/admin/photos/f61b5f865012f200.jpg +0 -0
  282. data/lib/generators/admin/install/templates/images/admin/photos/f746d9f7fa60be79.jpg +0 -0
  283. data/lib/generators/admin/install/templates/images/admin/photos/f7f04e6a834b1959.jpg +0 -0
  284. data/lib/generators/admin/install/templates/images/admin/photos/f94e788e72666bfd.jpg +0 -0
  285. data/lib/generators/admin/install/templates/images/admin/photos/ff23569f1a45865d.jpg +0 -0
  286. data/lib/generators/admin/install/templates/images/admin/photos/ff54b43b56632883.jpg +0 -0
  287. data/lib/generators/admin/install/templates/images/admin/products/apple-iphone7-special.jpg +0 -0
  288. data/lib/generators/admin/install/templates/images/admin/products/apple-iphone7.jpg +0 -0
  289. data/lib/generators/admin/install/templates/images/admin/products/apple-macbook-pro.jpg +0 -0
  290. data/lib/generators/admin/install/templates/images/admin/products/gopro-hero.jpg +0 -0
  291. data/lib/generators/admin/install/templates/images/admin/products/huawei-mate.jpg +0 -0
  292. data/lib/generators/admin/install/templates/images/admin/products/lenovo-tab.jpg +0 -0
  293. data/lib/generators/admin/install/templates/images/admin/products/lg-g6.jpg +0 -0
  294. data/lib/generators/admin/install/templates/images/admin/products/msi.jpg +0 -0
  295. data/lib/generators/admin/install/templates/images/admin/products/product-1.jpg +0 -0
  296. data/lib/generators/admin/install/templates/images/admin/products/product-10.jpg +0 -0
  297. data/lib/generators/admin/install/templates/images/admin/products/product-11.jpg +0 -0
  298. data/lib/generators/admin/install/templates/images/admin/products/product-12.jpg +0 -0
  299. data/lib/generators/admin/install/templates/images/admin/products/product-13.jpg +0 -0
  300. data/lib/generators/admin/install/templates/images/admin/products/product-2.jpg +0 -0
  301. data/lib/generators/admin/install/templates/images/admin/products/product-3.jpg +0 -0
  302. data/lib/generators/admin/install/templates/images/admin/products/product-4.jpg +0 -0
  303. data/lib/generators/admin/install/templates/images/admin/products/product-5.jpg +0 -0
  304. data/lib/generators/admin/install/templates/images/admin/products/product-6.jpg +0 -0
  305. data/lib/generators/admin/install/templates/images/admin/products/product-7.jpg +0 -0
  306. data/lib/generators/admin/install/templates/images/admin/products/product-8.jpg +0 -0
  307. data/lib/generators/admin/install/templates/images/admin/products/product-9.jpg +0 -0
  308. data/lib/generators/admin/install/templates/images/admin/products/samsung-galaxy.jpg +0 -0
  309. data/lib/generators/admin/install/templates/images/admin/products/sony-kd.jpg +0 -0
  310. data/lib/generators/admin/install/templates/images/admin/products/xiaomi-mi.jpg +0 -0
  311. data/lib/generators/admin/install/templates/images/admin/sponsor-banner-homepage.svg +288 -0
  312. data/lib/generators/admin/install/templates/images/admin/sponsor-banner-readme.png +0 -0
  313. data/lib/generators/admin/install/templates/images/admin/tabler-preview.png +0 -0
  314. data/lib/generators/admin/install/templates/images/admin/tracks/014f38920ba75a4efd3488b4626cf6e16f94c9e5.jpg +0 -0
  315. data/lib/generators/admin/install/templates/images/admin/tracks/04168ff76158e7bed216979a5ea97c7e52b1e97c.jpg +0 -0
  316. data/lib/generators/admin/install/templates/images/admin/tracks/089726b25ce5a55b906b3b65580a517b65c7c881.jpg +0 -0
  317. data/lib/generators/admin/install/templates/images/admin/tracks/0b12aaeffdef54e56dda3c1b1cb5fbc8bc20f1ca.jpg +0 -0
  318. data/lib/generators/admin/install/templates/images/admin/tracks/0bb28beeb3f0b553d4b1b7a89061d72ad73b8a59.jpg +0 -0
  319. data/lib/generators/admin/install/templates/images/admin/tracks/0db34b6caab2312acdaee332be0c7a0ed3172a2a.jpg +0 -0
  320. data/lib/generators/admin/install/templates/images/admin/tracks/0dcc53286b2ed65d0667584ed5f557e385c25188.jpg +0 -0
  321. data/lib/generators/admin/install/templates/images/admin/tracks/11065380c7303972ca2d1d799d06f248fb442225.jpg +0 -0
  322. data/lib/generators/admin/install/templates/images/admin/tracks/1143cd331d7ff1c105fa8140d00edf286fb9f9a5.jpg +0 -0
  323. data/lib/generators/admin/install/templates/images/admin/tracks/18ca653b602887a9b211da03a7c26e8867b528e2.jpg +0 -0
  324. data/lib/generators/admin/install/templates/images/admin/tracks/1a9dab25976c706fffccb6bf2cf8a6f5eadd0d29.jpg +0 -0
  325. data/lib/generators/admin/install/templates/images/admin/tracks/213906d9faa26ccd959947613557ea3b75dde85b.jpg +0 -0
  326. data/lib/generators/admin/install/templates/images/admin/tracks/22c6434a15cc410c656356a9862a2afbe51205ff.jpg +0 -0
  327. data/lib/generators/admin/install/templates/images/admin/tracks/24b4146508ef0a7969de8d938ee875d0123989f6.jpg +0 -0
  328. data/lib/generators/admin/install/templates/images/admin/tracks/257b1dee9f7d1c6f41bfa567348f8444535feac6.jpg +0 -0
  329. data/lib/generators/admin/install/templates/images/admin/tracks/281357a445748bc906270ca7a01253f480eaf1b4.jpg +0 -0
  330. data/lib/generators/admin/install/templates/images/admin/tracks/285c50b8d12090ce411acf5eba9cca721a4a1c0a.jpg +0 -0
  331. data/lib/generators/admin/install/templates/images/admin/tracks/2be99e6ce2bb214a9072e315f4e17948af30af75.jpg +0 -0
  332. data/lib/generators/admin/install/templates/images/admin/tracks/2ccc3bd0455066a58b00083b3920c3642a072e42.jpg +0 -0
  333. data/lib/generators/admin/install/templates/images/admin/tracks/2e55b9c247cc6b0b713fbbce9db0527a932f8748.jpg +0 -0
  334. data/lib/generators/admin/install/templates/images/admin/tracks/2e7357491deb8a6796ee8d9181ca9ea1f407bb5f.jpg +0 -0
  335. data/lib/generators/admin/install/templates/images/admin/tracks/2fb88b8efab810c50670a2d9ca3abb2af35f01a0.jpg +0 -0
  336. data/lib/generators/admin/install/templates/images/admin/tracks/3144e46ee207860391866a086b41eb01749582d6.jpg +0 -0
  337. data/lib/generators/admin/install/templates/images/admin/tracks/363b158c2f5b904f9df760a6ae2b9aa2600e7521.jpg +0 -0
  338. data/lib/generators/admin/install/templates/images/admin/tracks/37c84d9b11d74b5625635a2c6c05aa80f4dc240c.jpg +0 -0
  339. data/lib/generators/admin/install/templates/images/admin/tracks/3abf5ca23380d633a3add2dab444b9a1b8012aeb.jpg +0 -0
  340. data/lib/generators/admin/install/templates/images/admin/tracks/41351ae11fec30f74422caffed8ba5a05d086d86.jpg +0 -0
  341. data/lib/generators/admin/install/templates/images/admin/tracks/446b2000ec677fed9e915790d8ee8ce021b7db72.jpg +0 -0
  342. data/lib/generators/admin/install/templates/images/admin/tracks/488f389cd61dba31b65e36768808c2d0da84737f.jpg +0 -0
  343. data/lib/generators/admin/install/templates/images/admin/tracks/49faef83b73d483c653f08aede55d81df52e9d18.jpg +0 -0
  344. data/lib/generators/admin/install/templates/images/admin/tracks/4d4ab714dfca7b9df41d4a02a2c39394ebdeb6b6.jpg +0 -0
  345. data/lib/generators/admin/install/templates/images/admin/tracks/4d78b06d3286a328a6a72268c474514f04932260.jpg +0 -0
  346. data/lib/generators/admin/install/templates/images/admin/tracks/4f6c0ba1317ea1d032ed8f1e5d51777f5ed78192.jpg +0 -0
  347. data/lib/generators/admin/install/templates/images/admin/tracks/56d8e3e1c597b0382c4dc236ba630d2a0f1eddf1.jpg +0 -0
  348. data/lib/generators/admin/install/templates/images/admin/tracks/5843ed4a56177db9ae39a09d23319f87a78ed7d6.jpg +0 -0
  349. data/lib/generators/admin/install/templates/images/admin/tracks/5a6c8514a481afe89cbf4f37b13dde14e62ed616.jpg +0 -0
  350. data/lib/generators/admin/install/templates/images/admin/tracks/5da09480ae1ab3f00cfaf6cd4e3a6ba03b4a5fd1.jpg +0 -0
  351. data/lib/generators/admin/install/templates/images/admin/tracks/5f9ed99f071ced583dfb5a1dcdac6c555dc755aa.jpg +0 -0
  352. data/lib/generators/admin/install/templates/images/admin/tracks/603793bf01019734d7b67b18f5e91220ea8deb14.jpg +0 -0
  353. data/lib/generators/admin/install/templates/images/admin/tracks/60e40883ae3c1edba925cedd554fc8dabc677ba1.jpg +0 -0
  354. data/lib/generators/admin/install/templates/images/admin/tracks/617c5567a6ed4342fb48df7ab753a8d9f2c0054b.jpg +0 -0
  355. data/lib/generators/admin/install/templates/images/admin/tracks/6207c3f216b3caeb36be9854040930819c38cf8d.jpg +0 -0
  356. data/lib/generators/admin/install/templates/images/admin/tracks/621d2909bcc2c26cd0b274aab0414c9d422a1576.jpg +0 -0
  357. data/lib/generators/admin/install/templates/images/admin/tracks/6607274645fa3302e4b885c1678e6e2fef40d889.jpg +0 -0
  358. data/lib/generators/admin/install/templates/images/admin/tracks/695dfa63a47c7db21c0124f1d598d54058063b94.jpg +0 -0
  359. data/lib/generators/admin/install/templates/images/admin/tracks/6ba02c2ab0ecc649a84fdafb4539e3ad71d0e6ab.jpg +0 -0
  360. data/lib/generators/admin/install/templates/images/admin/tracks/6bb542e3ff67f6a6ba2918bdff2e9c5bbabb94a1.jpg +0 -0
  361. data/lib/generators/admin/install/templates/images/admin/tracks/6e94ab39c917096d876b895dbab0019953d27a96.jpg +0 -0
  362. data/lib/generators/admin/install/templates/images/admin/tracks/71a9517412a65940f2203c7ee7b0eb352f31199c.jpg +0 -0
  363. data/lib/generators/admin/install/templates/images/admin/tracks/72c4be59e52052d4fa76c3abcf47921da517d88e.jpg +0 -0
  364. data/lib/generators/admin/install/templates/images/admin/tracks/73f4938130140174efb1cc0a82ececb277e40932.jpg +0 -0
  365. data/lib/generators/admin/install/templates/images/admin/tracks/748adbfec069804f4ce1c09f4bff86e0eb06f60e.jpg +0 -0
  366. data/lib/generators/admin/install/templates/images/admin/tracks/77b2563eda24abe226bc08d59a0dec59a07815e6.jpg +0 -0
  367. data/lib/generators/admin/install/templates/images/admin/tracks/77cb96a59f7a3bf4c6513781a1a48688f88330a3.jpg +0 -0
  368. data/lib/generators/admin/install/templates/images/admin/tracks/79b2422b467ad20c07576e8f8f5f2f1692ac7142.jpg +0 -0
  369. data/lib/generators/admin/install/templates/images/admin/tracks/7f6114053b1ad190459770bc7a941c95ca608b39.jpg +0 -0
  370. data/lib/generators/admin/install/templates/images/admin/tracks/7fb6b008325b9536dbd02ed14d0c47de59f65935.jpg +0 -0
  371. data/lib/generators/admin/install/templates/images/admin/tracks/81a97f9d44d189a959d4838364ee3d2056c88341.jpg +0 -0
  372. data/lib/generators/admin/install/templates/images/admin/tracks/8581468e913349d55449686175d6ad55f2efda47.jpg +0 -0
  373. data/lib/generators/admin/install/templates/images/admin/tracks/859337f0eaa49b1ad6ed76719b7c1ae26d6412c8.jpg +0 -0
  374. data/lib/generators/admin/install/templates/images/admin/tracks/896b2434b87ea37ba7f99183db5c99c60bc252a1.jpg +0 -0
  375. data/lib/generators/admin/install/templates/images/admin/tracks/8c48d9658ca7a04cebb1e568ffcca0c0c9fce576.jpg +0 -0
  376. data/lib/generators/admin/install/templates/images/admin/tracks/8ca79fea1c7bcd6e79eceb38d1f7b1a5c7b26d9f.jpg +0 -0
  377. data/lib/generators/admin/install/templates/images/admin/tracks/8ebf0216fa9d294177e79cfef03628ed68043454.jpg +0 -0
  378. data/lib/generators/admin/install/templates/images/admin/tracks/91f76bae8e1b8369fa2f4287af94d065d92e21cc.jpg +0 -0
  379. data/lib/generators/admin/install/templates/images/admin/tracks/93ad7f491db7df0cb517308e7bb847da41647618.jpg +0 -0
  380. data/lib/generators/admin/install/templates/images/admin/tracks/9901c9a39491c4456119dde7e626965c5342a6ba.jpg +0 -0
  381. data/lib/generators/admin/install/templates/images/admin/tracks/996e277d1049cef3442bc932c08d76e465436a18.jpg +0 -0
  382. data/lib/generators/admin/install/templates/images/admin/tracks/9b092f765831793404d46b816d688135ff32735f.jpg +0 -0
  383. data/lib/generators/admin/install/templates/images/admin/tracks/9d022729e6f9917b17800029b9308e8b563c7ab8.jpg +0 -0
  384. data/lib/generators/admin/install/templates/images/admin/tracks/9d99ddd56d7cf8599b6c8764fe62577df649de93.jpg +0 -0
  385. data/lib/generators/admin/install/templates/images/admin/tracks/9fa22d9c7a720db1e1addb60b86b6869851b4a76.jpg +0 -0
  386. data/lib/generators/admin/install/templates/images/admin/tracks/a4fb1d293bd8d3fd38352418c50fcf1369a7a87d.jpg +0 -0
  387. data/lib/generators/admin/install/templates/images/admin/tracks/a715f85cf0ba0cc2ed61e62d5441763871d83a5b.jpg +0 -0
  388. data/lib/generators/admin/install/templates/images/admin/tracks/a77d19d2ac9e19d59da67952fcf78c24d94f3848.jpg +0 -0
  389. data/lib/generators/admin/install/templates/images/admin/tracks/a8a4ee30b73a0454bd4d4245e36d87447c7f318d.jpg +0 -0
  390. data/lib/generators/admin/install/templates/images/admin/tracks/aa5b5b3795416a0e275d41838d9737c8faedad6c.jpg +0 -0
  391. data/lib/generators/admin/install/templates/images/admin/tracks/aac97056fc02fe02c7e95f7ff77a07c6e82f7d6e.jpg +0 -0
  392. data/lib/generators/admin/install/templates/images/admin/tracks/ab9e1e2e78d4f25e10364403dc13d7cffded6daf.jpg +0 -0
  393. data/lib/generators/admin/install/templates/images/admin/tracks/ac7215afbceb58c8a7f3713eaf9d00ff3d959779.jpg +0 -0
  394. data/lib/generators/admin/install/templates/images/admin/tracks/b089902e72614818a73c9dfc258633734761a6c1.jpg +0 -0
  395. data/lib/generators/admin/install/templates/images/admin/tracks/b114db565bfbdfed73f15cf11963428da1f10e90.jpg +0 -0
  396. data/lib/generators/admin/install/templates/images/admin/tracks/b77ddc595b81c3c9081fa38df536e47ccd08d5ac.jpg +0 -0
  397. data/lib/generators/admin/install/templates/images/admin/tracks/b8e4106aa31f47d16803def16904b0a7bc5e1a5a.jpg +0 -0
  398. data/lib/generators/admin/install/templates/images/admin/tracks/b93e4faa3b5300952e385b893e8d49037b7abc6e.jpg +0 -0
  399. data/lib/generators/admin/install/templates/images/admin/tracks/baa69b4e848c9ac4859aa7fd33ca592d384ebd94.jpg +0 -0
  400. data/lib/generators/admin/install/templates/images/admin/tracks/c07289080dac8c111fddc6fddcf239c645daac9d.jpg +0 -0
  401. data/lib/generators/admin/install/templates/images/admin/tracks/c396ca27ce8cfe43c41bff9cce5aadbb481bb3a0.jpg +0 -0
  402. data/lib/generators/admin/install/templates/images/admin/tracks/c3f13b4f7a674abda9aa36fd72fa341e918c0f26.jpg +0 -0
  403. data/lib/generators/admin/install/templates/images/admin/tracks/c6d8adf2461ca3e91156b645be472fbe1dcb0fc8.jpg +0 -0
  404. data/lib/generators/admin/install/templates/images/admin/tracks/c75a4b750f94fda9d1108c26d28ad47b69c46f09.jpg +0 -0
  405. data/lib/generators/admin/install/templates/images/admin/tracks/c76f990296ba4b77c85b569ca311f5eefbcf75e5.jpg +0 -0
  406. data/lib/generators/admin/install/templates/images/admin/tracks/c903b69c7c123786eb658afbbacbeb0a61fc108f.jpg +0 -0
  407. data/lib/generators/admin/install/templates/images/admin/tracks/c976bfc96d5e44820e553a16a6097cd02a61fd2f.jpg +0 -0
  408. data/lib/generators/admin/install/templates/images/admin/tracks/c9a8350feee77e9345eec4155cddc96694803d1a.jpg +0 -0
  409. data/lib/generators/admin/install/templates/images/admin/tracks/caf848886b4cd05003fb342f928b64ea09b305f3.jpg +0 -0
  410. data/lib/generators/admin/install/templates/images/admin/tracks/cc955a4bee6a76a217de86ce72dc3c304186bc7d.jpg +0 -0
  411. data/lib/generators/admin/install/templates/images/admin/tracks/cefff458b9d5cb4ce224de82dfddb390da9811ca.jpg +0 -0
  412. data/lib/generators/admin/install/templates/images/admin/tracks/cf0c8ff362a486a63527ac8c3fbec07b30854866.jpg +0 -0
  413. data/lib/generators/admin/install/templates/images/admin/tracks/cfb2a532996512eff95c4b0d566d067384aaa441.jpg +0 -0
  414. data/lib/generators/admin/install/templates/images/admin/tracks/d07f62044c007eb1b21ceac4c57a19b552797509.jpg +0 -0
  415. data/lib/generators/admin/install/templates/images/admin/tracks/d0b9aed7b44169ef38398496c8eb0fed14da89d2.jpg +0 -0
  416. data/lib/generators/admin/install/templates/images/admin/tracks/d3138273a495bdbc3e7f2b6a0b69213dceccfb66.jpg +0 -0
  417. data/lib/generators/admin/install/templates/images/admin/tracks/d35863120ae67588110c66bfa534bb645cf99a16.jpg +0 -0
  418. data/lib/generators/admin/install/templates/images/admin/tracks/d4e02c12a8ef14462f3b4f15df6398cdcfec9898.jpg +0 -0
  419. data/lib/generators/admin/install/templates/images/admin/tracks/d5fd5256e0763c1e9f60b054e33e82ca08fdeca8.jpg +0 -0
  420. data/lib/generators/admin/install/templates/images/admin/tracks/d85ff971ec79f3cb6743540ed0f416e2d0a1c311.jpg +0 -0
  421. data/lib/generators/admin/install/templates/images/admin/tracks/da194bbe320834f7cc18b51ab2a69ea0fcc93d3e.jpg +0 -0
  422. data/lib/generators/admin/install/templates/images/admin/tracks/dd00b1d051d4997779bf48fa56e6ecb6583ac4cc.jpg +0 -0
  423. data/lib/generators/admin/install/templates/images/admin/tracks/eb33214151082431206ab6e1ad4bbf83f487d58e.jpg +0 -0
  424. data/lib/generators/admin/install/templates/images/admin/tracks/ef96f4e6be04b4b8bde0861bd3d6b54f6c39408b.jpg +0 -0
  425. data/lib/generators/admin/install/templates/images/admin/tracks/f046d0f22f8b8f888f173758da202b54b309c3cb.jpg +0 -0
  426. data/lib/generators/admin/install/templates/images/admin/tracks/f04bb6fba32e89475d9981007aff21e13745dec2.jpg +0 -0
  427. data/lib/generators/admin/install/templates/images/admin/tracks/f164a2ba24b716986dbbf2c40d34e5c84bddeec3.jpg +0 -0
  428. data/lib/generators/admin/install/templates/images/admin/tracks/f34590c6e7b48c89e9e7b0b26586a47e1f427f65.jpg +0 -0
  429. data/lib/generators/admin/install/templates/images/admin/tracks/f4e96086f44c4dff1758b1fc1338cd88c1b5ce9c.jpg +0 -0
  430. data/lib/generators/admin/install/templates/images/admin/tracks/f54d58d3c8ff2fb935cfbd8461a7bf867ec88e8b.jpg +0 -0
  431. data/lib/generators/admin/install/templates/images/admin/tracks/f59354f8d3f2841e44c1bd7aa0cd55a22843cfc7.jpg +0 -0
  432. data/lib/generators/admin/install/templates/images/admin/tracks/f891f1864651e04eb94edd64b8e707e150e2425f.jpg +0 -0
  433. data/lib/generators/admin/install/templates/images/admin/tracks/fa3c3fea65a9a175bcf1fcd36d3c71763b5dc451.jpg +0 -0
  434. data/lib/generators/admin/install/templates/images/admin/tracks/fb4998c955d8eba049ffbfc7ab8523a4a4a1f7e9.jpg +0 -0
  435. data/lib/generators/admin/install/templates/images/admin/tracks/fe4ee21d30450829e5b172e806b3c1e14ca1e5f3.jpg +0 -0
  436. data/lib/generators/admin/install/templates/images/admin/tracks/ff2381a011d29cefb3804436ed29f60b4faa63d6.jpg +0 -0
  437. data/lib/generators/admin/install/templates/mailers/admin/user_mailer.rb +8 -0
  438. data/lib/generators/admin/install/templates/migrations/create_admin_users.rb.tt +12 -0
  439. data/lib/generators/admin/install/templates/models/admin/current.rb +3 -0
  440. data/lib/generators/admin/install/templates/models/admin_user.rb +15 -0
  441. data/lib/generators/admin/install/templates/models/application_record.rb +3 -0
  442. data/lib/generators/admin/install/templates/test_unit/admin_users.yml +5 -0
  443. data/lib/generators/admin/install/templates/test_unit/application_system_test_case.rb +15 -0
  444. data/lib/generators/admin/install/templates/test_unit/controllers/admin/home_controller_test.rb +12 -0
  445. data/lib/generators/admin/install/templates/test_unit/controllers/admin/password_resets_controller_test.rb +48 -0
  446. data/lib/generators/admin/install/templates/test_unit/controllers/admin/sessions_controller_test.rb +36 -0
  447. data/lib/generators/admin/install/templates/test_unit/controllers/admin/users_controller_test.rb +48 -0
  448. data/lib/generators/admin/install/templates/test_unit/system/admin/password_resets_test.rb +28 -0
  449. data/lib/generators/admin/install/templates/test_unit/system/admin/sessions_test.rb +24 -0
  450. data/lib/generators/admin/install/templates/test_unit/system/admin/users_test.rb +43 -0
  451. data/lib/generators/admin/install/templates/test_unit/test_helper.rb +16 -0
  452. data/lib/generators/admin/scaffold/USAGE +5 -0
  453. data/lib/generators/admin/scaffold/scaffold_generator.rb +87 -0
  454. data/lib/generators/admin/scaffold/templates/controller.rb.tt +58 -0
  455. data/lib/generators/admin/scaffold/templates/erb/_form.html.erb.tt +41 -0
  456. data/lib/generators/admin/scaffold/templates/erb/edit.html.erb.tt +17 -0
  457. data/lib/generators/admin/scaffold/templates/erb/index.html.erb.tt +77 -0
  458. data/lib/generators/admin/scaffold/templates/erb/new.html.erb.tt +16 -0
  459. data/lib/generators/admin/scaffold/templates/erb/show.html.erb.tt +37 -0
  460. data/lib/generators/admin/scaffold/templates/functional_test.rb.tt +53 -0
  461. data/lib/generators/admin/scaffold/templates/system_test.rb.tt +52 -0
  462. metadata +506 -0
@@ -0,0 +1,43 @@
1
+ require "application_system_test_case"
2
+
3
+ class Admin::UsersTest < ApplicationSystemTestCase
4
+ setup do
5
+ @admin_user = admin_sign_in_as(admin_users(:lazaro_nixon))
6
+ end
7
+
8
+ test "visiting the index" do
9
+ visit admin_users_url
10
+ assert_selector "h2", text: "Admin users"
11
+ end
12
+
13
+ test "should create user" do
14
+ visit admin_users_url
15
+ click_on "New admin user"
16
+
17
+ fill_in "Email", with: "lazaronixon@hey.com"
18
+ fill_in "Password", with: "Secret1*3*5*"
19
+ fill_in "Password confirmation", with: "Secret1*3*5*"
20
+ click_on "Create Admin user"
21
+
22
+ assert_text "User was successfully created"
23
+ end
24
+
25
+ test "should update User" do
26
+ visit admin_user_url(@admin_user)
27
+ click_on "Edit admin user"
28
+
29
+ fill_in "Email", with: @admin_user.email
30
+ fill_in "Password", with: "NewSecret1*3*5*"
31
+ fill_in "Password confirmation", with: "NewSecret1*3*5*"
32
+ click_on "Update Admin user"
33
+
34
+ assert_text "User was successfully updated"
35
+ end
36
+
37
+ test "should destroy User" do
38
+ visit admin_user_url(@admin_user)
39
+ page.accept_confirm { click_on "Delete admin user" }
40
+
41
+ assert_text "User was successfully destroyed"
42
+ end
43
+ end
@@ -0,0 +1,16 @@
1
+ ENV["RAILS_ENV"] ||= "test"
2
+ require_relative "../config/environment"
3
+ require "rails/test_help"
4
+
5
+ class ActiveSupport::TestCase
6
+ # Run tests in parallel with specified workers
7
+ parallelize(workers: :number_of_processors)
8
+
9
+ # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
10
+ fixtures :all
11
+
12
+ # Add more helper methods to be used by all tests here...
13
+ def admin_sign_in_as(user)
14
+ post(admin_sign_in_url, params: { email: user.email, password: "Secret1*3*5*" }); user
15
+ end
16
+ end
@@ -0,0 +1,5 @@
1
+ Description:
2
+ Explain the generator
3
+
4
+ Example:
5
+ bin/rails generate admin:scaffold model field:type field:type
@@ -0,0 +1,87 @@
1
+ require "rails/generators/resource_helpers"
2
+
3
+ module Admin
4
+ module Generators
5
+ class ScaffoldGenerator < Rails::Generators::NamedBase
6
+ include Rails::Generators::ResourceHelpers
7
+
8
+ class_option :orm, banner: "NAME", type: :string, required: true, desc: "ORM to generate the controller for"
9
+
10
+ argument :attributes, type: :array, default: [], banner: "field:type field:type"
11
+
12
+ source_root File.expand_path("templates", __dir__)
13
+
14
+ def copy_files
15
+ directory "erb", "app/views/admin/#{file_name.pluralize}"
16
+
17
+ template "controller.rb", "app/controllers/admin/#{controller_file_name}_controller.rb"
18
+
19
+ template "functional_test.rb", "test/controllers/admin/#{controller_file_name}_controller_test.rb"
20
+ template "system_test.rb", "test/system/admin/#{file_name.pluralize}_test.rb"
21
+ end
22
+
23
+ def create_routes
24
+ route "resources :#{file_name.pluralize}", namespace: :admin
25
+ end
26
+
27
+ private
28
+ def controller_class_path
29
+ [ "admin" ]
30
+ end
31
+
32
+ def singular_route_name
33
+ "#{controller_class_path.join('_')}_#{singular_table_name}"
34
+ end
35
+
36
+ def plural_route_name
37
+ "#{controller_class_path.join('_')}_#{plural_table_name}"
38
+ end
39
+
40
+ def model_resource_name(base_name = singular_table_name, prefix: "")
41
+ "[#{controller_class_path.map { |name| ":" + name }.join(", ")}, #{prefix}#{base_name}]"
42
+ end
43
+
44
+ def permitted_params
45
+ attachments, others = attributes_names.partition { |name| attachments?(name) }
46
+ params = others.map { |name| ":#{name}" }
47
+ params += attachments.map { |name| "#{name}: []" }
48
+ params.join(", ")
49
+ end
50
+
51
+ def attachments?(name)
52
+ attribute = attributes.find { |attr| attr.name == name }
53
+ attribute&.attachments?
54
+ end
55
+
56
+ def fixture_name
57
+ table_name
58
+ end
59
+
60
+ def attributes_string
61
+ attributes_hash.map { |k, v| "#{k}: #{v}" }.join(", ")
62
+ end
63
+
64
+ def attributes_hash
65
+ return {} if attributes_names.empty?
66
+
67
+ attributes_names.filter_map do |name|
68
+ if %w(password password_confirmation).include?(name) && attributes.any?(&:password_digest?)
69
+ ["#{name}", '"secret"']
70
+ elsif !virtual?(name)
71
+ ["#{name}", "@#{singular_table_name}.#{name}"]
72
+ end
73
+ end.sort.to_h
74
+ end
75
+
76
+ def boolean?(name)
77
+ attribute = attributes.find { |attr| attr.name == name }
78
+ attribute&.type == :boolean
79
+ end
80
+
81
+ def virtual?(name)
82
+ attribute = attributes.find { |attr| attr.name == name }
83
+ attribute&.virtual?
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,58 @@
1
+ class <%= controller_class_name %>Controller < Admin::ApplicationController
2
+ before_action :set_<%= singular_table_name %>, only: %i[ show edit update destroy ]
3
+
4
+ def index
5
+ @search = <%= orm_class.all(class_name) %>.ransack(params[:q])
6
+
7
+ respond_to do |format|
8
+ format.html { @pagy, @<%= plural_table_name %> = pagy(@search.result) }
9
+ format.csv { render csv: @search.result }
10
+ end
11
+ end
12
+
13
+ def show
14
+ end
15
+
16
+ def new
17
+ @<%= singular_table_name %> = <%= orm_class.build(class_name) %>
18
+ end
19
+
20
+ def edit
21
+ end
22
+
23
+ def create
24
+ @<%= singular_table_name %> = <%= orm_class.build(class_name, "#{singular_table_name}_params") %>
25
+
26
+ if @<%= orm_instance.save %>
27
+ redirect_to <%= redirect_resource_name %>, notice: <%= %("#{human_name} was successfully created.") %>
28
+ else
29
+ render :new, status: :unprocessable_entity
30
+ end
31
+ end
32
+
33
+ def update
34
+ if @<%= orm_instance.update("#{singular_table_name}_params") %>
35
+ redirect_to <%= redirect_resource_name %>, notice: <%= %("#{human_name} was successfully updated.") %>
36
+ else
37
+ render :edit, status: :unprocessable_entity
38
+ end
39
+ end
40
+
41
+ def destroy
42
+ @<%= orm_instance.destroy %>
43
+ redirect_to <%= index_helper %>_url, notice: <%= %("#{human_name} was successfully destroyed.") %>
44
+ end
45
+
46
+ private
47
+ def set_<%= singular_table_name %>
48
+ @<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %>
49
+ end
50
+
51
+ def <%= "#{singular_table_name}_params" %>
52
+ <%- if attributes_names.empty? -%>
53
+ params.fetch(:<%= singular_table_name %>, {})
54
+ <%- else -%>
55
+ params.require(:<%= singular_table_name %>).permit(<%= permitted_params %>)
56
+ <%- end -%>
57
+ end
58
+ end
@@ -0,0 +1,41 @@
1
+ <%%= form_with(model: <%= model_resource_name %>) do |form| %>
2
+ <% attributes.each do |attribute| -%>
3
+ <div class="form-group row mb-2">
4
+ <% if attribute.password_digest? -%>
5
+ <%%= form.label :password, class: "form-label col-md-3 col-form-label" %>
6
+ <div class="col-md px-0">
7
+ <%%= form.password_field :password, required: true, autocomplete: "new-password", class: "form-control" %>
8
+ <%%= tag.div <%= singular_name %>.errors[:password].first, class: "invalid-feedback" %>
9
+ </div>
10
+ </div>
11
+
12
+ <div class="col-md px-0">
13
+ <%%= form.password_field :password_confirmation, required: true, autocomplete: "new-password", class: "form-control" %>
14
+ <%%= tag.div <%= singular_name %>.errors[:password_confirmation].first, class: "invalid-feedback" %>
15
+ <% elsif attribute.attachments? -%>
16
+ <%%= form.label :<%= attribute.column_name %>, class: "form-label col-md-3 col-form-label" %>
17
+ <div class="col-md px-0">
18
+ <%%= form.<%= attribute.field_type %> :<%= attribute.column_name %>, multiple: true, class: "form-control" %>
19
+ <%%= tag.div <%= singular_name %>.errors[:<%= attribute.column_name %>].first, class: "invalid-feedback" %>
20
+ </div>
21
+ <% elsif attribute.field_type == :check_box -%>
22
+ <%%= form.label :<%= attribute.column_name %>, class: "form-check-label col-md-3 col-form-label" %>
23
+ <div class="col-md px-0">
24
+ <%%= form.<%= attribute.field_type %> :<%= attribute.column_name %>, class: "form-check-input" %>
25
+ <%%= tag.div <%= singular_name %>.errors[:<%= attribute.column_name %>].first, class: "invalid-feedback" %>
26
+ </div>
27
+ <% else -%>
28
+ <%%= form.label :<%= attribute.column_name %>, class: "form-label col-md-3 col-form-label" %>
29
+ <div class="col-md px-0">
30
+ <%%= form.<%= attribute.field_type %> :<%= attribute.column_name %>, class: "form-control" %>
31
+ <%%= tag.div <%= singular_name %>.errors[:<%= attribute.column_name %>].first, class: "invalid-feedback" %>
32
+ </div>
33
+ <% end -%>
34
+ </div>
35
+
36
+ <% end -%>
37
+ <div class="form-footer">
38
+ <%%= form.submit class: "btn btn-primary" %>
39
+ <%%= link_to "Cancel", <%= index_helper(type: :path) %>, class: "btn btn-light" %>
40
+ </div>
41
+ <%% end %>
@@ -0,0 +1,17 @@
1
+ <%%= render "page_header" do %>
2
+ <%%= render "page_header_breadcrumb", title: "Editing <%= human_name.downcase %>" do %>
3
+ <li class="breadcrumb-item"><%%= link_to "Admin", admin_path %></li>
4
+ <li class="breadcrumb-item"><%%= link_to "<%= human_name.pluralize %>", <%= index_helper(type: :path) %> %></li>
5
+ <li class="breadcrumb-item"><%%= link_to "Show this <%= human_name.downcase %>", <%= model_resource_name(prefix: "@") %> %></li>
6
+ <%% end %>
7
+ <%% end %>
8
+
9
+ <div class="page-body">
10
+ <div class="container-fluid">
11
+ <div class="card">
12
+ <div class="card-body">
13
+ <%%= render "form", <%= singular_table_name %>: @<%= singular_table_name %> %>
14
+ </div>
15
+ </div>
16
+ </div>
17
+ </div>
@@ -0,0 +1,77 @@
1
+ <%%= render "page_header" do %>
2
+ <%%= render "page_header_breadcrumb", title: "<%= human_name.pluralize %>" do %>
3
+ <li class="breadcrumb-item"><%%= link_to "Admin", admin_path %></li>
4
+ <%% end %>
5
+
6
+ <%%= render "page_header_actions" do %>
7
+ <%%= link_to "New <%= human_name.downcase %>", <%= new_helper(type: :path) %>, class: "btn btn-primary" %>
8
+ <%% end %>
9
+ <%% end %>
10
+
11
+ <div class="page-body">
12
+ <div class="container-fluid">
13
+ <div class="row gy-3">
14
+ <div class="col-md-4 col-lg-3">
15
+ <div class="card">
16
+ <div class="card-header">
17
+ <h3 class="card-title">Filters</h3>
18
+ </div>
19
+ <%%= search_form_for [:admin, @search], class: "card-body" do |f| %>
20
+ <%%# f.label :name_cont, class: "form-label" %>
21
+ <%%# f.text_field :name_cont, class: "form-control mb-3" %>
22
+
23
+ <%%= f.submit "Filter", class: "btn btn-primary" %>
24
+ <%%= link_to "Clear Filter", <%= index_helper(type: :path) %>, class: "btn btn-light" %>
25
+ <%% end %>
26
+ </div>
27
+ </div>
28
+ <div class="col-md-8 col-lg-9 order-md-first">
29
+ <div class="card">
30
+ <div class="table-responsive">
31
+ <table class="table table-vcenter card-table table-striped">
32
+ <thead>
33
+ <tr>
34
+ <% attributes.each do |attribute| -%>
35
+ <th><%= attribute.human_name %></th>
36
+ <% end -%>
37
+ <th></th>
38
+ </tr>
39
+ </thead>
40
+ <tbody>
41
+ <%% @<%= plural_table_name %>.each do |<%= singular_table_name %>| %>
42
+ <tr>
43
+ <% attributes.reject(&:password_digest?).each do |attribute| -%>
44
+ <% if attribute.attachment? -%>
45
+ <td><%%= link_to <%= singular_name %>.<%= attribute.column_name %>.filename, <%= singular_name %>.<%= attribute.column_name %> if <%= singular_name %>.<%= attribute.column_name %>.attached? %></td>
46
+ <% elsif attribute.attachments? -%>
47
+ <%% <%= singular_name %>.<%= attribute.column_name %>.each do |<%= attribute.singular_name %>| %>
48
+ <td><%%= link_to <%= attribute.singular_name %>.filename, <%= attribute.singular_name %> %></td>
49
+ <%% end %>
50
+ <% else -%>
51
+ <td><%%= <%= singular_name %>.<%= attribute.column_name %> %></td>
52
+ <% end -%>
53
+ <% end -%>
54
+ <td>
55
+ <%%= link_to "View", <%= model_resource_name %>, class: "btn btn-light btn-sm" %>
56
+ <%%= link_to "Edit", <%= edit_helper(singular_table_name, type: :path) %>, class: "btn btn-light btn-sm" %>
57
+ <%%= button_to "Delete", <%= model_resource_name %>, method: :delete, form_class: "d-inline", class: "btn btn-light btn-sm", data: { confirm: "Are you sure ?" } %>
58
+ </td>
59
+ </tr>
60
+ <%% end %>
61
+ </tbody>
62
+ </table>
63
+ </div>
64
+ <div class="card-footer d-flex align-items-center fs-5">
65
+ <div>
66
+ Download: <%%= link_to "CSV", <%= index_helper(type: :path) %>(format: :csv, q: request.params[:q]) %>
67
+ </div>
68
+ <div class="ms-auto d-flex align-items-center gap-2">
69
+ <%%== pagy_info @pagy %>
70
+ <%%= render "pagination", pagy: @pagy %>
71
+ </div>
72
+ </div>
73
+ </div>
74
+ </div>
75
+ </div>
76
+ </div>
77
+ </div>
@@ -0,0 +1,16 @@
1
+ <%%= render "page_header" do %>
2
+ <%%= render "page_header_breadcrumb", title: "New <%= human_name.downcase %>" do %>
3
+ <li class="breadcrumb-item"><%%= link_to "Admin", admin_path %></li>
4
+ <li class="breadcrumb-item"><%%= link_to "<%= human_name.pluralize %>", <%= index_helper(type: :path) %> %></li>
5
+ <%% end %>
6
+ <%% end %>
7
+
8
+ <div class="page-body">
9
+ <div class="container-fluid">
10
+ <div class="card">
11
+ <div class="card-body">
12
+ <%%= render "form", <%= singular_table_name %>: @<%= singular_table_name %> %>
13
+ </div>
14
+ </div>
15
+ </div>
16
+ </div>
@@ -0,0 +1,37 @@
1
+ <%%= render "page_header" do %>
2
+ <%%= render "page_header_breadcrumb", title: "Showing <%= human_name.downcase %>" do %>
3
+ <li class="breadcrumb-item"><%%= link_to "Admin", admin_path %></li>
4
+ <li class="breadcrumb-item"><%%= link_to "<%= human_name.pluralize %>", <%= index_helper(type: :path) %> %></li>
5
+ <%% end %>
6
+
7
+ <%%= render "page_header_actions" do %>
8
+ <%%= link_to "Edit <%= human_name.downcase %>", <%= edit_helper(type: :path) %>, class: "btn btn-primary" %>
9
+ <%%= button_to "Delete <%= human_name.downcase %>", <%= model_resource_name(prefix: "@") %>, method: :delete, form_class: "d-inline", class: "btn btn-light", data: { confirm: "Are you sure ?" } %>
10
+ <%% end %>
11
+ <%% end %>
12
+
13
+ <div class="page-body">
14
+ <div class="container-fluid">
15
+ <div class="card">
16
+ <div class="card-header">
17
+ <h3 class="card-title"><%= human_name %> details</h3>
18
+ </div>
19
+ <div class="card-body">
20
+ <dl class="row">
21
+ <% attributes.reject(&:password_digest?).each do |attribute| -%>
22
+ <dt class="col-md-3"><%= attribute.human_name %></dt>
23
+ <% if attribute.attachment? -%>
24
+ <dd class="col-md-9"><%%= link_to <%= singular_name %>.<%= attribute.column_name %>.filename, <%= singular_name %>.<%= attribute.column_name %> if <%= singular_name %>.<%= attribute.column_name %>.attached? %></dd>
25
+ <% elsif attribute.attachments? -%>
26
+ <%% <%= singular_name %>.<%= attribute.column_name %>.each do |<%= attribute.singular_name %>| %>
27
+ <dd class="col-md-9"><%%= link_to <%= attribute.singular_name %>.filename, <%= attribute.singular_name %> %></dd>
28
+ <%% end %>
29
+ <% else -%>
30
+ <dd class="col-md-9"><%%= @<%= singular_name %>.<%= attribute.column_name %> %></dd>
31
+ <% end -%>
32
+ <% end -%>
33
+ </dl>
34
+ </div>
35
+ </div>
36
+ </div>
37
+ </div>
@@ -0,0 +1,53 @@
1
+ require "test_helper"
2
+
3
+ class <%= controller_class_name %>ControllerTest < ActionDispatch::IntegrationTest
4
+ <%- if mountable_engine? -%>
5
+ include Engine.routes.url_helpers
6
+
7
+ <%- end -%>
8
+ setup do
9
+ @admin_user = admin_sign_in_as admin_users(:lazaro_nixon)
10
+ @<%= singular_table_name %> = <%= fixture_name %>(:one)
11
+ end
12
+
13
+ test "should get index" do
14
+ get <%= index_helper(type: :url) %>
15
+ assert_response :success
16
+ end
17
+
18
+ test "should get new" do
19
+ get <%= new_helper %>
20
+ assert_response :success
21
+ end
22
+
23
+ test "should create <%= singular_table_name %>" do
24
+ assert_difference("<%= class_name %>.count") do
25
+ post <%= index_helper(type: :url) %>, params: { <%= "#{singular_table_name}: { #{attributes_string} }" %> }
26
+ end
27
+
28
+ assert_redirected_to <%= show_helper("#{class_name}.last") %>
29
+ end
30
+
31
+ test "should show <%= singular_table_name %>" do
32
+ get <%= show_helper %>
33
+ assert_response :success
34
+ end
35
+
36
+ test "should get edit" do
37
+ get <%= edit_helper %>
38
+ assert_response :success
39
+ end
40
+
41
+ test "should update <%= singular_table_name %>" do
42
+ patch <%= show_helper %>, params: { <%= "#{singular_table_name}: { #{attributes_string} }" %> }
43
+ assert_redirected_to <%= show_helper %>
44
+ end
45
+
46
+ test "should destroy <%= singular_table_name %>" do
47
+ assert_difference("<%= class_name %>.count", -1) do
48
+ delete <%= show_helper %>
49
+ end
50
+
51
+ assert_redirected_to <%= index_helper(type: :url) %>
52
+ end
53
+ end
@@ -0,0 +1,52 @@
1
+ require "application_system_test_case"
2
+
3
+ class <%= class_name.pluralize %>Test < ApplicationSystemTestCase
4
+ setup do
5
+ @admin_user = admin_sign_in_as(admin_users(:lazaro_nixon))
6
+ @<%= singular_table_name %> = <%= fixture_name %>(:one)
7
+ end
8
+
9
+ test "visiting the index" do
10
+ visit <%= index_helper(type: :url) %>
11
+ assert_selector "h2", text: "<%= human_name.pluralize %>"
12
+ end
13
+
14
+ test "should create <%= human_name.downcase %>" do
15
+ visit <%= index_helper(type: :url) %>
16
+ click_on "New <%= human_name.downcase %>"
17
+
18
+ <%- attributes_hash.each do |attr, value| -%>
19
+ <%- if boolean?(attr) -%>
20
+ check "<%= attr.humanize %>" if <%= value %>
21
+ <%- else -%>
22
+ fill_in "<%= attr.humanize %>", with: <%= value %>
23
+ <%- end -%>
24
+ <%- end -%>
25
+ click_on "Create <%= human_name %>"
26
+
27
+ assert_text "<%= human_name %> was successfully created"
28
+ end
29
+
30
+ test "should update <%= human_name %>" do
31
+ visit <%= show_helper(type: :url) %>
32
+ click_on "Edit <%= human_name.downcase %>", match: :first
33
+
34
+ <%- attributes_hash.each do |attr, value| -%>
35
+ <%- if boolean?(attr) -%>
36
+ check "<%= attr.humanize %>" if <%= value %>
37
+ <%- else -%>
38
+ fill_in "<%= attr.humanize %>", with: <%= value %>
39
+ <%- end -%>
40
+ <%- end -%>
41
+ click_on "Update <%= human_name %>"
42
+
43
+ assert_text "<%= human_name %> was successfully updated"
44
+ end
45
+
46
+ test "should destroy <%= human_name %>" do
47
+ visit <%= show_helper(type: :url) %>
48
+ page.accept_confirm { click_on "Delete <%= human_name.downcase %>" }
49
+
50
+ assert_text "<%= human_name %> was successfully destroyed"
51
+ end
52
+ end