cmor_system_backend 0.0.6.pre

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (382) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +28 -0
  4. data/Rakefile +19 -0
  5. data/app/assets/config/cmor_system_backend_manifest.js +2 -0
  6. data/app/assets/javascripts/cmor/system/backend/application/keep.js +0 -0
  7. data/app/assets/javascripts/cmor/system/backend/application.js +13 -0
  8. data/app/assets/javascripts/cmor_system_backend.js +1 -0
  9. data/app/assets/stylesheets/cmor/system/backend/application.css +4 -0
  10. data/app/assets/stylesheets/cmor_system_backend.css +3 -0
  11. data/app/controllers/cmor/system/backend/active_storage/attachments_controller.rb +27 -0
  12. data/app/controllers/cmor/system/backend/active_storage/blobs_controller.rb +27 -0
  13. data/app/controllers/cmor/system/backend/delayed_backend_active_record_jobs_controller.rb +21 -0
  14. data/app/controllers/cmor/system/backend/home_controller.rb +8 -0
  15. data/app/views/cmor/system/backend/active_storage/attachments/_index_table.html.haml +7 -0
  16. data/app/views/cmor/system/backend/active_storage/blobs/_index_table.html.haml +15 -0
  17. data/app/views/cmor/system/backend/delayed_backend_active_record_jobs/_index_table_actions.html.haml +16 -0
  18. data/app/views/cmor/system/backend/delayed_backend_active_record_jobs/_show_actions.html.haml +12 -0
  19. data/config/initializers/assets.rb +2 -0
  20. data/config/initializers/cmor.rb +3 -0
  21. data/config/locales/de.yml +48 -0
  22. data/config/locales/en.yml +48 -0
  23. data/config/routes.rb +9 -0
  24. data/lib/cmor/system/backend/configuration.rb +27 -0
  25. data/lib/cmor/system/backend/engine.rb +9 -0
  26. data/lib/cmor/system/backend/version.rb +9 -0
  27. data/lib/cmor/system/backend.rb +12 -0
  28. data/lib/cmor_system_backend.rb +3 -0
  29. data/lib/generators/cmor/system/backend/install/install_generator.rb +32 -0
  30. data/lib/generators/cmor/system/backend/install/templates/initializer.rb +41 -0
  31. data/lib/generators/cmor/system/backend/install/templates/routes.source +4 -0
  32. data/spec/dummy/Rakefile +6 -0
  33. data/spec/dummy/app/assets/config/manifest.js +3 -0
  34. data/spec/dummy/app/assets/javascripts/application.js +15 -0
  35. data/spec/dummy/app/assets/javascripts/cable.js +13 -0
  36. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  37. data/spec/dummy/app/channels/application_cable/channel.rb +4 -0
  38. data/spec/dummy/app/channels/application_cable/connection.rb +4 -0
  39. data/spec/dummy/app/controllers/application_controller.rb +2 -0
  40. data/spec/dummy/app/controllers/backend_controller.rb +2 -0
  41. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  42. data/spec/dummy/app/jobs/application_job.rb +2 -0
  43. data/spec/dummy/app/mailers/application_mailer.rb +4 -0
  44. data/spec/dummy/app/models/application_record.rb +3 -0
  45. data/spec/dummy/app/models/post.rb +2 -0
  46. data/spec/dummy/app/views/layouts/application.html.erb +15 -0
  47. data/spec/dummy/app/views/layouts/mailer.html.erb +13 -0
  48. data/spec/dummy/app/views/layouts/mailer.text.erb +1 -0
  49. data/spec/dummy/bin/bundle +3 -0
  50. data/spec/dummy/bin/delayed_job +5 -0
  51. data/spec/dummy/bin/rails +4 -0
  52. data/spec/dummy/bin/rake +4 -0
  53. data/spec/dummy/bin/setup +36 -0
  54. data/spec/dummy/bin/update +31 -0
  55. data/spec/dummy/bin/yarn +11 -0
  56. data/spec/dummy/config/application.rb +34 -0
  57. data/spec/dummy/config/boot.rb +5 -0
  58. data/spec/dummy/config/cable.yml +10 -0
  59. data/spec/dummy/config/database.yml +25 -0
  60. data/spec/dummy/config/environment.rb +5 -0
  61. data/spec/dummy/config/environments/development.rb +61 -0
  62. data/spec/dummy/config/environments/production.rb +94 -0
  63. data/spec/dummy/config/environments/test.rb +46 -0
  64. data/spec/dummy/config/initializers/administador.rb +11 -0
  65. data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -0
  66. data/spec/dummy/config/initializers/assets.rb +14 -0
  67. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  68. data/spec/dummy/config/initializers/cmor_core_backend.rb +12 -0
  69. data/spec/dummy/config/initializers/cmor_system_backend.rb +35 -0
  70. data/spec/dummy/config/initializers/content_security_policy.rb +25 -0
  71. data/spec/dummy/config/initializers/cookies_serializer.rb +5 -0
  72. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  73. data/spec/dummy/config/initializers/i18n.rb +2 -0
  74. data/spec/dummy/config/initializers/inflections.rb +16 -0
  75. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  76. data/spec/dummy/config/initializers/route_translator.rb +3 -0
  77. data/spec/dummy/config/initializers/simple_form.rb +179 -0
  78. data/spec/dummy/config/initializers/simple_form_bootstrap.rb +439 -0
  79. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  80. data/spec/dummy/config/locales/en.yml +33 -0
  81. data/spec/dummy/config/locales/simple_form.en.yml +31 -0
  82. data/spec/dummy/config/puma.rb +34 -0
  83. data/spec/dummy/config/routes.rb +11 -0
  84. data/spec/dummy/config/spring.rb +6 -0
  85. data/spec/dummy/config/storage.yml +34 -0
  86. data/spec/dummy/config.ru +5 -0
  87. data/spec/dummy/db/development.sqlite3 +0 -0
  88. data/spec/dummy/db/migrate/20190331094612_create_delayed_jobs.rb +22 -0
  89. data/spec/dummy/db/migrate/20190331094627_create_active_storage_tables.active_storage.rb +27 -0
  90. data/spec/dummy/db/migrate/20190331094640_create_posts.rb +9 -0
  91. data/spec/dummy/db/schema.rb +57 -0
  92. data/spec/dummy/db/test.sqlite3 +0 -0
  93. data/spec/dummy/lib/templates/haml/scaffold/_form.html.haml +12 -0
  94. data/spec/dummy/log/development.log +128 -0
  95. data/spec/dummy/log/test.log +951 -0
  96. data/spec/dummy/package.json +5 -0
  97. data/spec/dummy/public/404.html +67 -0
  98. data/spec/dummy/public/422.html +67 -0
  99. data/spec/dummy/public/500.html +66 -0
  100. data/spec/dummy/public/apple-touch-icon-precomposed.png +0 -0
  101. data/spec/dummy/public/apple-touch-icon.png +0 -0
  102. data/spec/dummy/public/favicon.ico +0 -0
  103. data/spec/dummy/spec/factories/posts.rb +5 -0
  104. data/spec/dummy/spec/models/post_spec.rb +5 -0
  105. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/--/--kuNDI-qjasSX_vx98FiiJU7t6q9-2uAECZs3_00nA.cache +1 -0
  106. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-5/-5_i5Cu4DVWB6u5AzETTDl8QjlOOgMfrD6OzZZ0mlOQ.cache +3 -0
  107. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-Y/-Y2SN5PPdcImwSrymEIobBYEZIljDWB3ff0RoGB_TsY.cache +1 -0
  108. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/06/06xXy_R6Nb4tVESoZ8BL7ieC3PsuTXp4Tk8vGlvu0oc.cache +1 -0
  109. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0d/0dEDJ_66n_wUD9IIQuMLmzqwHqX5jYjK_az2B2YB5S4.cache +1 -0
  110. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/10/10LnhyXw-zfOCjNU_dm2pq229XULyOwxJiuJ6PArWEk.cache +2 -0
  111. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1H/1H0sc5Wllu7CW7u2GM7ifu6l0prMHSetI72hfeDIf6U.cache +1 -0
  112. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1o/1oqLwT_YuYuXdzdc62rRR7PSqDnMwyQGhcD1kOTxPq8.cache +3 -0
  113. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1v/1vu5o8pZOx49A8FubB147MTuST9ZOG_Z59-V2lhPSds.cache +0 -0
  114. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2-/2-4XUQU1zOtp2aZbayDkzju-R7COR2JviLRVtr9XzdA.cache +0 -0
  115. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2w/2w3NL7ot0cD6RHAax5qkbNc0N1ZIDdCU-3dVCiFyA80.cache +1 -0
  116. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3H/3Hufg8DeGcI7D4A4mZquW4BkQwMIPGcyJE45IzAPLoY.cache +1 -0
  117. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3R/3Rr4PAjUqQn6hsghqwfPssfuJptMaHQxIcXMffXI3K4.cache +1 -0
  118. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/47/47sczUK1xuMY-kOX4m2ilscUU31HcipOP2CB4QgeuPo.cache +1 -0
  119. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4A/4AKfWXKo2-p9HLawuhXDUDvJ51li6a7tjamz85DkfeM.cache +3 -0
  120. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4D/4DqaLJlj0stn256kYPxtSBb6o0SuFEh6B4NuR_J3ooY.cache +3 -0
  121. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4L/4Lnn2_DBcgTRoYRew5nRbFbJu0QiOP0uc-1V7qiJ08I.cache +2 -0
  122. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4Q/4QkTCmLzrvTMp7j_lJzL48TLLSMqDb0rOVy3rWLOzQ0.cache +0 -0
  123. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5V/5VLmIs86eSd_hPs5fQKMe6uET535JDQ0dUVamRx0md8.cache +1 -0
  124. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5X/5X1J8UBeIBYVE3m4_5t5-XN3TgrBBN2CfDAKo8G0FZU.cache +1 -0
  125. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5n/5n5srCfPI_1d6miKrdE1dfnZLr2Fm28GRwoRXV7Zzb4.cache +1 -0
  126. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6b/6b3QGbmhzESmm6r7h6Ey2N5VJv6HNPI7s3ky_YPAlxw.cache +0 -0
  127. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6m/6mjspBpf7lbs42h6gX6CDWsr6rZm4Pjvp-l5w7QAOr0.cache +1 -0
  128. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/6q/6q5EgfnxHaxpX878fBdHogkT9ULkOk9-b0SsuatjOTE.cache +1 -0
  129. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7B/7BWPuyR0NC4RBxX6DNM_4Yjv5I4H0GEnE2RSur1Rwlg.cache +1 -0
  130. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7T/7THmIrbQdhcWbDN84ICQb9RhnvINJ6bMXTss4ZlA_uI.cache +1 -0
  131. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/84/84__21iiiCxGeG-EouK1OKpeIuZcFKKMT8N1glEOHIc.cache +0 -0
  132. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/89/89JNYJEQM9JZyf7zqejUgoGSe0noDpTGh8xoQWamc9I.cache +0 -0
  133. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8D/8D_xpDjLaCIEzCSNN2dH0ZQhZsm1AOJQ7FEAxFxHQ0w.cache +0 -0
  134. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8W/8WtRVFp11m08s36jcIR3QHsTAOwLS-BvldrGYd7NaVQ.cache +1 -0
  135. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8f/8fyEWsLyoNl9Fol3NjyOMkmnPZLbySqJ_Cqysly_TgU.cache +1 -0
  136. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8t/8tdDsZkkAFiLUoepQpVLBq_D0eIh01G2HLd3NFDcRs8.cache +2 -0
  137. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/91/91Qk1qA0FrC6hVDekhrlUz00i2leQGCCNhFUwfM2U8I.cache +1 -0
  138. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9o/9o8Qwhpa624CaUIvd0F8htKcM_LKK2RE3hIzHyWlb1c.cache +1 -0
  139. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9q/9qfFDXVHpk41QG7WtXb9d0vuuBHtyz9oRnJ71uOHZ1M.cache +1 -0
  140. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/AR/ARxZknrQslD7H8ebebqkPZiyPtZILG1Rtlq6pgK9zYo.cache +3 -0
  141. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Am/AmV2YeTLcEu585qtqxINmfRXabST-rXrCzIhJtbf57Q.cache +1 -0
  142. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ar/Aredar3r6yXFxQOrrapXB81CBRWR596Zv-v1l_ZUHG8.cache +2 -0
  143. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/At/AtbpLF65IYMctIApvHZSYNppMU72buuO8Ua9D5bMPRk.cache +2 -0
  144. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/B9/B9z4O4V6Ntfhgr3Z4K9GXevgl-o6_G4OT9Wlbu1CAIw.cache +1 -0
  145. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Bo/BoBmJiCerYN_4K4pDinBCcY3B6JFIW1oV4VmU7x8txs.cache +1 -0
  146. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Bp/Bpn4o6bMLfsdCzpsMRLTHt0zP-a3sBtapCcKD9SkiSg.cache +1 -0
  147. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/C4/C4LLShJFixxoppzlyX_1hOznT5LoPRmHSgurkCjQIDk.cache +1 -0
  148. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/CF/CFlbSmnf2Pa_peqpgvcvP0UHK6o-rLtBgcJV3QGLGEI.cache +0 -0
  149. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/CN/CNiorCIoliz3Cwq2etLd7Dd0d83sJ1Wfp0j_7n3tERA.cache +1 -0
  150. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Cm/Cmwwv8ddr2byZrle-Z3ivJ5WnPPv9kEDhkNJ83gOwYk.cache +1 -0
  151. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Cx/CxDxFVtH-HQCIhXkTjj62kfCsbu93FSHzbJkGMOsX_s.cache +0 -0
  152. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/D1/D1yTrkh1wLtA65um5NDZDqgOJYkbnuPB1jJeqn0gveg.cache +1 -0
  153. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DN/DNiaDTrxxV10EWiPegw6Rtwf-jgFjhp7K2TZSUT_aW8.cache +1 -0
  154. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Da/DafvNPQk8SlKSG4ZJjgHHAPlbQLDSVhQ-5b9WMZ4iv4.cache +1 -0
  155. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Dx/Dx3aTfrI5VF5MuvCgSBCgbRd4iMdder-8OvMfrtaON0.cache +1 -0
  156. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/EK/EKpLfemr_IUowOSnIjCV1QvOvzgYt_SfduE_ZwNyfKI.cache +1 -0
  157. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/EQ/EQq51m2tS2-w7UL_mT2dQ-u8vReD7FSiyCmPIdTYRRE.cache +0 -0
  158. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/EU/EUMQaSL_lD1Z9R_EAcJLyuNaRL2DICkT4xj5XCS4dwg.cache +0 -0
  159. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Em/Em137X7-MWtcStt_1eIOF418j8dUh7hBC_94vwfVILQ.cache +2 -0
  160. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ez/EzqaRbf1GGVrgimbcDHQlVxE4aSBeIccfD1myQXqxRg.cache +1 -0
  161. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/FO/FOlMxqHy9-dO6zjIOX06fPLY2n3yjiHxmnuJ36yHtQs.cache +1 -0
  162. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/F_/F_xrUvfDEGW2HWJlPwVMsszDJST7NMt1o8H3x8Eqjzg.cache +2 -0
  163. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Fd/Fdh8clk4QyqC4tyyDJDlsvQYS4pD8tUJQryNyYirftc.cache +2 -0
  164. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Fy/FyXS9zF1yr_zW2vXB6E_CYQIGe1WZgRCEwdLiCnrWfk.cache +1 -0
  165. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/G9/G9AzrpNgt-do2ILa3m6Rm7PaPPuriZXnF4IsUYSc0GQ.cache +3 -0
  166. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/GT/GTTZq3-5ucG5FFjk5QvM0gPUnErTXVt9_x0gNovVK_4.cache +1 -0
  167. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Gy/GySaRKbEm-CVxrKiAr4iNc6PorLWn1ZPDh_SMXbxxX4.cache +3 -0
  168. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Gz/GzuFtMoPy9ZbQxFv5eDS9uz7VHkUVkDvP4DzP1zfIpA.cache +0 -0
  169. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HC/HCDOUd7-S45aJ_PjVAC_Vmjyud3i1aQv4cE3t9_Z3Dw.cache +0 -0
  170. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/I2/I2rV-zM_o35vIzVjE6JjN54luUBVqNrxly-4U9C2huU.cache +0 -0
  171. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/I8/I8LSZjD849M-zlWFF5_wyM1DnnyIGDQIYFOA4-k7Xzo.cache +1 -0
  172. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/IU/IUGIkL3Eu0gXGUtNjJ2KTqp13fBKEhaoMwFuMdTtyG0.cache +0 -0
  173. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/IU/IUiOnsp11P0WckGjGe2EZIl31tdgt9gQNwUSERKdm5g.cache +1 -0
  174. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/I_/I_eYb3RQOJg5MoeZmN02od4HnFhNDqdYeWS7aHEntpA.cache +0 -0
  175. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Id/IdX1diTu6Ek6UiwgQtTsMM_KOVlndv3_b6-UyDE3qYw.cache +0 -0
  176. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/J-/J-Gv_xKM1Nigsi_t5jtQ-5sMjqLAZN2T0o14v9-hI1k.cache +0 -0
  177. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/J2/J2KHJGQwbMl2Q8ETpSynUvJIUQW5bwmYpgScxltdlBo.cache +0 -0
  178. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/J4/J4P8NPeJOF4V2Q6On9oMqdSFkNcjsrAch9_-rV0tDgs.cache +1 -0
  179. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/JD/JD1DuxuAp8u_THuUDDOOi85I35BNWaJoNJOzrGQmvdo.cache +1 -0
  180. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/JG/JGstfwqTHlnlh0tlcWM_1s0Ff7pXflOUrM6zlULXD_w.cache +2 -0
  181. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/JH/JH7MnyfP9jO4ML1W7NqC2E3DpFmRab_4KSmXqIFfyAE.cache +2 -0
  182. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/JI/JIYHAj6g_qKUgy29WTdI2hsFfH3dFXfFcqXckz27jdg.cache +1 -0
  183. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/JN/JNoI9B-x5jHF_qfsa6IIO3DPW8KssxNJsNK9F2qbRFs.cache +1 -0
  184. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Jh/Jh77UCfUEd9iwHEF4UsoftMyXg8GyTCTnMtS3vKdOKY.cache +1 -0
  185. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/K3/K3MAGk8XcpzS5X0HTuUHgVU0VLM8mWXYgMpwnE5CC5w.cache +3 -0
  186. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/K5/K5EtcC8KageFCflmXNDxhZUtRxqcqoCa28GiMAK5Tlk.cache +1 -0
  187. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KD/KDsjkma1n_FFLNbLLnsvs9xTrucgpgXdO3-5iI2FsVc.cache +1 -0
  188. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/L1/L1-2Ii78nV6I0WDUbCAWkdFWGsus1d_PciKtgydRHQE.cache +1 -0
  189. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Lp/Lpu_gbOZtQgoKR4k5IdQI6yBe16T_f2iDKZxyCcNVC4.cache +0 -0
  190. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/M7/M7Cqoyak3dy9iCKmThw4HeH5HcFDKU1Uut_LTwgjtx0.cache +0 -0
  191. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/MU/MU_g5_uXNVpt-lHFHZPNrFTiW8CpLMePeg5dDTq6uRM.cache +1 -0
  192. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/MY/MYeFz-MQYpo2h8J_xKinEHbow05wf40rLnm7I9hiG_4.cache +1 -0
  193. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Md/MdULcMWXvKi83370F6lcp6pVjkaduI1OpPeK_iuHb24.cache +0 -0
  194. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Mw/MwZxF-Ld9kIyAp6hrOzwGBhiDeU2tbiMtKc4lRTR3Hg.cache +5 -0
  195. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/NW/NWL1PY76XYJ13P0DC2ZMg-Aj8UU0JPQfEbvuyX06Bds.cache +1 -0
  196. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Nm/NmXI49AE4TxnUg7GheyHyjugHjK-y63Ec3BklNMXULk.cache +1 -0
  197. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OA/OA72VeQ05pF6Ex57QQi6tDd04ZTA7f4veKvBd_oqs-s.cache +1 -0
  198. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OT/OTBjtEm36amBFx9-OAmOF3EWnr2-YQiZd6IUdKEgHko.cache +3 -0
  199. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ov/OvN-i6iA8MvqPyfz90O-eNsSEk6ZZTXz1NrfnZZiLsA.cache +2 -0
  200. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Pg/PgSxusnbkJfEIGN7NDIzYs_I5Eel5M2h4LkApeBzqHE.cache +3 -0
  201. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Pn/Pn370aXcRFPGTolqaTrwvvx-6ZBhs6iOIdodCrv6kII.cache +2 -0
  202. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Pq/PqEtzizP8HFsj9SoSc29Yob8DKB8kVltMOPFtp4_cfs.cache +2 -0
  203. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Pq/PqWCNqm1ZMEQMfbxQuJiP5QQEYo8RiisCBHhBmd4Edk.cache +2 -0
  204. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Q6/Q6uhfFRQOQA45Z8tgj3oBVfiTDsaiB5jufDdOVqWva0.cache +2 -0
  205. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/QA/QAQoJ0cjBqu547FjbP8SuBDHk6S0yLbd3P4TWbXsmtI.cache +0 -0
  206. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/QO/QOtpCYTTAfxmh-JTpnu1T3t4KPKqyWUrUrXPWHQdcZ4.cache +1 -0
  207. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Qr/QrrVbn0dg_IYpw9D0Em4t8fhQhf7gCcah2p9ouo6_fI.cache +1 -0
  208. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/R3/R3GdNowIw3hlF0ujvYHDVVWVGlxQVJQFJWbrrEZjmEg.cache +0 -0
  209. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/RT/RTh3gNPkgO3l1r7ZQfzEZ3-bJq34TeL9Yeie6Z74sjc.cache +0 -0
  210. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/RU/RUljKovpPguUYZlGWwH8Uq3Dz5jooIXpsueQufD9C3A.cache +1 -0
  211. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/RV/RV9h6sSJXZtqJVGTcP631X2wI5diOyzgVvUIuZQrSUI.cache +0 -0
  212. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Rg/RgWfDOOQ4XkJRe_DawABG4RvcdJHTuksk681189ei3A.cache +3 -0
  213. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ru/RukwwJ7Lmi0dwdc9ZNkgrC6pNXzXq651EPDxipa78aU.cache +2 -0
  214. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ry/RyD-qreU4wfJhGfqk9zf--DFGIOQhV17UrGoSxczlco.cache +1 -0
  215. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/S2/S2O2x8-_FGPk-cJlkizaYLOIEqxJw17HPpJSOL0MZYc.cache +1 -0
  216. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/S4/S4vBrJvVz1UP01u7LRqNX737hOI_mDd3ZPl7NvnSuoM.cache +1 -0
  217. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SE/SEwkUu1OvHKFh-u8I4obLeh8gqkx2z2JwD1KjVIuaFE.cache +1 -0
  218. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SN/SNgERjuWagfvj5wSayGOtfT95brSc8DDpkFiJdgBxX0.cache +1 -0
  219. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SO/SOb6BxK3G45jgBDbHt17DF9uFa_iABmpWGCw_F0X9pQ.cache +0 -0
  220. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SX/SXi6NGOGJdeRoxVwFGXLE36czvrMXo3lHKuBm4eiDaQ.cache +3 -0
  221. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SZ/SZ2zYWjqsBfC15K6UzYAeVK3l0jT1aVAvUmZCezRE4I.cache +0 -0
  222. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Sb/SbzywrP6ah14UVsymNTOPaq4GOTJsp3C9biu17Nxhw8.cache +1 -0
  223. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Sr/Sr_aszWSNdB_F6zBKYp23cqTx2qyt3ErPtjpQgfSbPo.cache +4 -0
  224. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/TL/TLYNDjXB6--5naO6fE8rh4Wgu-HD19EiF7PdVz_3nCs.cache +0 -0
  225. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/TN/TNRLsaNR_OsXAHJRlxtA59_yi0Ywroef-Omoaiy5oyk.cache +1 -0
  226. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ta/Ta1P7jGXWwiSVQjfMezpmdr7NDPagbH8rkuoxkw9tAg.cache +0 -0
  227. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Th/ThoItLPs8mmsOQRD7ZbIN5DH7eGr3UkWjpQ7SBqsPgE.cache +1 -0
  228. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ti/TiJwwmWdA77ftSiKUR9yu0TJemgjtkT4IaauSOyYfL8.cache +0 -0
  229. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Tr/TrWdv_oxon9raWNUNzf6rNxU-o7ExWGo0fb9G8tvpPo.cache +1 -0
  230. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Tw/TwXTNSA_NorVL0xyTpbgWWdb_YotZQCpMnxATglOU98.cache +0 -0
  231. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ul/UlAQOCevk-ZG1nTs9KCsKfWg6rVS5T4PlHUxpFhgbJI.cache +1 -0
  232. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/VW/VWLnz994y7sfZE16oRC22SQ_ucD6mVZcCrIZ_MOBfIQ.cache +1 -0
  233. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/VY/VYexEwWUWmwml7Etr-Wu1bjQK_9ctDO0Z6l3X6JbxO8.cache +1 -0
  234. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Vb/VbcG7sudP_cXC3tT_FWAAfPbS9X-0g8Ek853dOAfy6U.cache +1 -0
  235. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Wl/WlC2AKxOrEunxOipcU1I-f1lihQGby6U8UOEj13hiUs.cache +1 -0
  236. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/X9/X98ohuir4hwOrFrzSme4JMDfYnzIsIsGuoaoviV9zhk.cache +1 -0
  237. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/XF/XF5tYGblF6MCpWFAhRpHLBfYG6uxb2NN9ypl5nJGyFI.cache +2 -0
  238. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/XN/XNHk13lf59pkMPH-W9hh57YnoEQef8vC0ubtkTNBF7I.cache +1 -0
  239. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/XT/XTu_OJIoJM_TI94cV3B35O_1aTWIoiOvFMAw9cDuYHU.cache +2 -0
  240. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/YG/YG9rrpVBxWFqnCHtcnmar5FvGbh2WFybMTH8LVsguyg.cache +2 -0
  241. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/YH/YH0L_yB0e73CNcd263P29amwGtzCS4Esq7P9FUg2RnI.cache +1 -0
  242. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/YU/YUc6fu20FHaK6IP5W7nEgsSbbpFtUvbk6vOIOw5Tr5g.cache +2 -0
  243. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Yf/Yfre4CR0VDsYqN4th36R5YNDeP7kzZ6_zjG2SKBVBPw.cache +0 -0
  244. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Yo/Yo5H4UJHArztqJqSWzAMN2u7YAcm5_HjbiE4WviMGC8.cache +0 -0
  245. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Yo/Yoqq3KwrAPNE_-xeJFQeyr-RDVjqlFbxK66BtmXAc5c.cache +0 -0
  246. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Z8/Z8rKwEc3buqlWXgXnoKMqaiVfNARY4ibzhyn1_TQEwo.cache +2 -0
  247. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Z9/Z9EiCrPEJikjwohXGUyZpe3eLFTDEKi7Wj7EQks68so.cache +1 -0
  248. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Zu/Zu5tAoCmNX67puQZaR3Y8TffDKpbwvCbJm4O_LVnb6g.cache +1 -0
  249. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/_p/_pm_0rwTuVS36643Z8915Dqr2NYY8uqbELvAQcH1DsU.cache +1 -0
  250. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aQ/aQnaFh6hQ7VMO52JQBxstVXSrS3-4m9eL_RyTQtGzV0.cache +1 -0
  251. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/at/atAOb41P_Q78sJdwJ_zvtqiWVJjopAeYG4d03crb-tQ.cache +0 -0
  252. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ay/ayh76HmqeLRMSghmYXsAI1BfnPqMqZa1oqUjoHk8aBM.cache +1 -0
  253. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/az/azPz0MjaMrptwfd2WrANe0mC8dv4x54NUTZ_RHwB2Fs.cache +3 -0
  254. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bD/bDGUpl0_kkZgFjHxhyM7wbd1kXwoRu6IMkf_zmKIl7w.cache +0 -0
  255. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bT/bTP3coNpfDpuWOzrgGsuYeL6iZznxseYWquj0UyfDDM.cache +0 -0
  256. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bW/bW1IJ8Jx6pO2ujOW3K6B3vPEtu3CfILTOIZXPZy_OO8.cache +0 -0
  257. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bd/bdfU5B92e9BnbLrGH5Heq1fsYG4Q3gc2xkHUJ3HRPhE.cache +1 -0
  258. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bj/bj9nCcaP7Y34lzTvVSkZa8cyRyMjYCP6M5-_AYCuOeA.cache +1 -0
  259. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cv/cvUFG-iGp3QdaQRB8LcWLeyFk1-ZJj9mAaMiTgNmhy4.cache +0 -0
  260. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cy/cyEecrJPGiaMG_zjQKAC_RG3gQ8x1J6oSTLW5sPN0HA.cache +1 -0
  261. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cz/cz-hTbllFwMLNM6SURv2Gc_iR9DzQiqzcnwrr-vFMy8.cache +2 -0
  262. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/d8/d84403iB5YCNNOVMCTOicWh0mY7SobSV3aVd4ro4dDE.cache +2 -0
  263. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/d9/d9BdLnODbEl2mT-8qTxCw5d4UxY9Sui2NUicHp-KM6c.cache +1 -0
  264. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dN/dNpIKXkxeI65UavBtUJ5clskOmoykmDNmP8FlMl_VSE.cache +0 -0
  265. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dV/dVNzuPB4VeyqnKjSmwPXMG6H88bVd2vKsS13PmhQ1tM.cache +0 -0
  266. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dV/dVZWFCqDgyxiTQBlUZgzzGntp17Augle1Z9jMxGFfgY.cache +0 -0
  267. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/di/diu5W6Afjb-wmGjAzMP5pK1awhZK_GYl63WYH4PWU3k.cache +1 -0
  268. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/du/duGvltO6-z27y85HLAsJENCSx8Ne8UTMzm9-hXjchOs.cache +0 -0
  269. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ep/epqN736SDvOnj4RFxwF8f66bXtB4G3LGwDLCHLmQx_Y.cache +3 -0
  270. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/g2/g25tK__0OFGKPwfTFvU6LMqKD6uThsHFOf_wZNzh-5g.cache +3 -0
  271. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gH/gHOeZb8z1CTweFFAsXywyR9sV2hC60RZ0A5alXRPYsk.cache +1 -0
  272. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gK/gK7DVkeTH5kaLE4M25UVaEsxbVIXfF8Hzoa7a4NIA_0.cache +0 -0
  273. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gu/guLD08tGuYN9-QyPPMorlv27APHLeGDzaj-vDmzaLXQ.cache +1 -0
  274. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gw/gwvv-p7sUqFjoeT8xo5G6aqbp1jXyTczH_uImRqgKw0.cache +1 -0
  275. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/h9/h96mrC7hlEM5BokAayvD9ucfel_sH0mGMZA8maQWGFc.cache +1 -0
  276. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hH/hH5HROywpGMnR19XrnWQsIBTEcR9z26POHR10QfNxVM.cache +1 -0
  277. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hj/hjKZBPi7GkLwXTVyg3IQJNJ41_kEfnko7oq_u4Nmom8.cache +1 -0
  278. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hl/hlhVsn0HtbRUS7SaSI2k2lAz8R_YZStzp6xZOd3-K0w.cache +1 -0
  279. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/i4/i4OZu7dEwcFP6RiyvrGRH5vXaaKjuHP8ogM6Ex5kq94.cache +34 -0
  280. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/i4/i4k7wzTTAfiSQBg-4iT_BDC5TLi9Ce5QSib-hMHXuyw.cache +0 -0
  281. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/iA/iA_PV-jzE0h7Oqhp4XAZru0XJYbcreWgXm89fBck9Aw.cache +3 -0
  282. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ic/icnSIKutQMyGC6ldcZtto1RYoeMd5ioRztJnDQ_aIcI.cache +1 -0
  283. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/io/ioMpSl__-tQJZEFn66EuOZggLFncMaagrATjUwG5mWM.cache +1 -0
  284. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/j2/j234g8hRsPTcmiYh64h75cGkVJU1uU7x8YU9r4mEqJc.cache +1 -0
  285. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/jK/jK8cqSSmB_ojub894xSJsjnMM2NAKChmtYFpzP48XU8.cache +2 -0
  286. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/jT/jTvR7Jp6Mn5r3s0S5DYyIAkacmml4biuCXsRqR-IHQ8.cache +0 -0
  287. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/jj/jjQ0o-RtYJK6fGw1F5wrT8xczOCI35N1kylOfeCIPy4.cache +1 -0
  288. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/k-/k-bsTA315sR8iUULydbJ9swQ_sbliU0Z3nmwvFduMoQ.cache +3 -0
  289. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/kC/kClGcEovuXyEHKJSC1hme_H4Krcr3KVFFQCqpYSj0XM.cache +2 -0
  290. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/l2/l2rSS2f4v-n85AJAXSuGlHsR08GH1y4HTzDyVbF_UnU.cache +0 -0
  291. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lD/lDQmRr0s6ARcHxzaNaW0RhESK09xHxhmrPcV9p_vGbc.cache +0 -0
  292. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lL/lLGpPEYuJxwFhLyaGWz5L5SNlB-x2eGWF5_H2fNaBqM.cache +0 -0
  293. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lS/lStvx9Beg2l4s8L-QdTSKuc5_qQPQAZPnIcRI7JkpPE.cache +0 -0
  294. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lj/ljVlagIG2x87dR5D1NSztu6gWmzzawm1nZOE4TmymmU.cache +1 -0
  295. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/m3/m3RtRdvHROwjpGVwjOd8rEQ_tg8E03UHR12uHkQ5yns.cache +1 -0
  296. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mV/mV5u08q68IkPm0RFokofH5-kx1UxEZg72azxVXhAlLk.cache +1 -0
  297. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mW/mWUwcqwwOYPtROn-ONyUyM3BPdILAw5l0wvB9JyqsuU.cache +0 -0
  298. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mw/mw7MZKwF7E-7ZSspF4Xlsxode27OUoKRy1z6Pov4oq0.cache +1 -0
  299. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/n_/n_xYqQYhwEMQknb3jFQnjlxxBE9TzMNHCdJ-bEyZFIw.cache +2 -0
  300. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nx/nxTv3sKVUQZADJyM3dPaVmUA78MIsMLD_K279yN_GsI.cache +2 -0
  301. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oK/oKJ87oCEPgOfFajJZhDtWonyaKq8uRlO8JYz6-cVDoI.cache +0 -0
  302. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oU/oUMojGzGoi9vWIsLjJ1lkpDHDSg24Ippt3LrUNxXBKE.cache +3 -0
  303. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oc/ocE5CB1firE1AKd7UYONa7YS3sHpvl3nbEjrdgWc-0g.cache +0 -0
  304. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oj/oj_rjV4KkuJmf-iGvO_hSFT692_PHcvoDvF3O-VQU2c.cache +1 -0
  305. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oo/oo5PuYWsxB2Bx_gvblY8ml6D3FnXhwEfMm-uUqicAp0.cache +0 -0
  306. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/op/oplkuD78F1Xg0Jh1N-3fbHQp1Vpfe2ybLFLjnK8Kzyw.cache +1 -0
  307. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pH/pHyZ9AbTUNEl1mAoh9pGTiZ3R2etAFRZR7_ym_DWwR8.cache +0 -0
  308. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/py/pygxCScpUQhNEC_KRfCYZcx2l0xRhRMnzPgCRLfp23A.cache +0 -0
  309. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qn/qnqqDu1kS8ig9iEei5CjAYND02unYf-E22-J953_GIc.cache +2 -0
  310. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qo/qomhlVAS_REPvgo7Dtrh7-r4Ni69XLSIykCxSM7wWXY.cache +0 -0
  311. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qp/qpnn4gewy2_0O7aLG1YcbCjdvoFzZxERgl-uAb2NBiU.cache +3 -0
  312. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qx/qxyGSXnlXlB1hGKL0ReQ-ySdIsxUBR6ZBTW5fZU_9Qg.cache +0 -0
  313. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rN/rNQxz_OgqtJJ20ehUUfYqYAoPenc2Qq3qsdKzpGg1To.cache +1 -0
  314. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/rS/rS-6Ew0r0DBaZoTyAD1yMYRbBiJtFyn6nwxe6G_9ruk.cache +2 -0
  315. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sC/sCtYNlU3vAvVC26ZKDuNgeq31ehn4J6OR31TpQVLAU8.cache +0 -0
  316. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sK/sKvoweUFusZwJ1IUlvNFxobu2z62MY8hwGZVQZlxCyg.cache +0 -0
  317. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sP/sPCsm6ym3xm2G7DaEcE8AIICPGqMBlhJuy3WLz2cnkk.cache +2 -0
  318. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sP/sPXXSTl0mnL3MC1fHMa_BLVITQ5rYbck0u985DQAe00.cache +0 -0
  319. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sS/sSkn0HMvM3rLJ_2-w_ulwClVYcJ0XmcH0orH2IQNawo.cache +1 -0
  320. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sl/sls963PmVXZzCIy9Ch2L-HCW41R4KwLFcX--npSGFUY.cache +0 -0
  321. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/su/sutg1rA65QFBgoJD-0HYa5kOAmcUdsYtBHzGbasKyUs.cache +1 -0
  322. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sz/szywK58M4yVzq_ikv80eyFp6W5kBPCipX_Bz83CrCKI.cache +2 -0
  323. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/t8/t8jEC5t5VJ5SJpmaePxJ6MAVt1q1wi1iTqQky-b1juE.cache +0 -0
  324. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/tM/tMFk2brkn_cv2m4TrPivZL6DI6kTb6iljDzaJAY77NI.cache +0 -0
  325. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/tY/tYYp0H86bioOkPFc1RbWFH68qWBtL9S2yA6tuwJgzwE.cache +1 -0
  326. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/tz/tzawx9c8FRRG-QmTL-Jtrc8beWTUrYpb30NVV1fKGew.cache +1 -0
  327. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/u-/u-3FDQkXVo6TXPl_h-_tlNmZfB_M3W4KLFHeL_PbWVo.cache +2 -0
  328. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uF/uFmhqcLtlSH6sdigmpsMJIOlbB_xVHd8-fr_sVgWgEA.cache +0 -0
  329. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uQ/uQqnjuuo618wwjt9jXlYcIsldsplSsIN3NshQ5-zMuU.cache +1 -0
  330. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uo/uoYAZRV-R0GhhsrHYTt4drILzKOa3_zSzpBzU6jBeuA.cache +1 -0
  331. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vC/vCTeCTUOGd9Fb26euiorkxjblPbC2BqzbEjoVxvjsRI.cache +0 -0
  332. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vX/vXQAX6wcse5IxAuysExAkVcqi1itMI9X06wcwaMkRZk.cache +0 -0
  333. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vb/vbEKu3SXV3oiwyM0lIW94FHcb81v-HlbMRoIsh8YSgQ.cache +1 -0
  334. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/w2/w2sLW3Z38joV9ng6paqC1dFBgouTAnChoHQIjK3mQtw.cache +1 -0
  335. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wQ/wQ6JCU93qzbLum7H2llMRi6syrlg4GSiTjLKmb_Pbvk.cache +1 -0
  336. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wa/waiHxrcavi3eaZqtHp_iZa_Xx8A_poK45ivYx73qDnM.cache +0 -0
  337. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wi/win_v0ZNu-l7AoRx8w3ls1xcy0mUExLBVMCSr5oaJFc.cache +0 -0
  338. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ws/wshuOiy0DqCG4PUGL0CPjZhA5sxfnA-jqC7elF3Xbpw.cache +0 -0
  339. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wy/wymDHEbVm2LUuNGSCmMFfaYbe5GGShEdHFd4LIUlACE.cache +3 -0
  340. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xS/xSWEENE2MwGitZG07bKTXThrda2Y_UoFELvWhAjozKw.cache +0 -0
  341. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xq/xqGZ2SqDZfTputNIngRx7YthNyQg3QPv_PDFT5gb79s.cache +1 -0
  342. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/y5/y5_FzvNNSMpbMmHCIsG4K4Qz8TdMhunGIVqp5nak80I.cache +1 -0
  343. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yK/yK_ltn3FtW6N9iCXqjexaVMHtm9PZtKGfoCgGpLX1tg.cache +0 -0
  344. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yW/yW8j6--nX1z7PyocdbnwtcSwWDE-b0Q2X1tkotvKrdE.cache +1 -0
  345. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yY/yYwB1Ug3ogrNxQDvt8ueEyzsR32PT1EzRHj_ljxvelQ.cache +1 -0
  346. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yy/yyPV0MatlE_6qP8W4KY8vgxiDg_uR6pZRd9U80ZdTV8.cache +1 -0
  347. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/z3/z3Js_pcghMRJBt3n7rl9lB8atXrsbV0vbEBNyhsgsj4.cache +1 -0
  348. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ze/zea0MANxU4zQJ4Y3NOpM4O-iDT_oL-ATCyiZ-KRZJ20.cache +1 -0
  349. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zf/zfPdCqf3PlK-fjEu0zz4CpZoQXvuu_GMkbbUORnAFec.cache +1 -0
  350. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zl/zlSTYPztqYVdN3sgoh99oDWUs0viPTW9Iaaxc8urz00.cache +2 -0
  351. data/spec/dummy/tmp/development_secret.txt +1 -0
  352. data/spec/dummy/tmp/storage/CF/SH/CFSHNUWFo361eM5eFsjjNSji +0 -0
  353. data/spec/dummy/tmp/storage/Dh/V1/DhV1MFZAXjHe7jFGjdSaqtzm +0 -0
  354. data/spec/dummy/tmp/storage/GU/q4/GUq4hFQeJZCBJXy5AkoxL5Pr +0 -0
  355. data/spec/dummy/tmp/storage/Hs/QV/HsQVZKt2eGhoJj9GhAWNmmrQ +0 -0
  356. data/spec/dummy/tmp/storage/Kc/EJ/KcEJa9B69qLYhj35pgHb2Cd9 +0 -0
  357. data/spec/dummy/tmp/storage/Yx/oL/YxoLt4RgE7WkTehRGTPUeXZX +0 -0
  358. data/spec/dummy/tmp/storage/aM/57/aM57uKLLDGVnFcK91NdWo4A6 +0 -0
  359. data/spec/dummy/tmp/storage/ap/2Z/ap2Z5QnZtfgLPT8FVW3ev2hE +0 -0
  360. data/spec/dummy/tmp/storage/d2/fD/d2fD7omgnjuhf87EEt7DFc4c +0 -0
  361. data/spec/dummy/tmp/storage/kV/6G/kV6GEcNwn15FWgRD5NnFFmBg +0 -0
  362. data/spec/dummy/tmp/storage/pU/6b/pU6b7pfVADvk6KWM34WCG9pi +0 -0
  363. data/spec/dummy/tmp/storage/sf/7h/sf7hbKZrqdMSC62Dfkc8rwKe +0 -0
  364. data/spec/dummy/tmp/storage/uQ/tn/uQtnL9wfUCYQyrfXaqJ3d9gq +0 -0
  365. data/spec/dummy/tmp/storage/vD/eE/vDeEMqEomB3tB5ktq4FaH67d +0 -0
  366. data/spec/factories/active_storage/attachments.rb +7 -0
  367. data/spec/factories/active_storage/blobs.rb +10 -0
  368. data/spec/factories/delayed/backend_active_record_jobs.rb +5 -0
  369. data/spec/features/de/backend/system/active_storage/attachments_feature_spec.rb +20 -0
  370. data/spec/features/de/backend/system/active_storage/blobs_feature_spec.rb +20 -0
  371. data/spec/features/de/backend/system/delayed_backend_active_record_jobs_feature_spec.rb +55 -0
  372. data/spec/files/active_storage/blob/example.png +0 -0
  373. data/spec/models/generic_spec.rb +51 -0
  374. data/spec/models/i18n_spec.rb +42 -0
  375. data/spec/rails_helper.rb +62 -0
  376. data/spec/spec_helper.rb +96 -0
  377. data/spec/support/capybara.rb +1 -0
  378. data/spec/support/factory_bot.rb +12 -0
  379. data/spec/support/pry-rails.rb +1 -0
  380. data/spec/support/rao-shoulda_matchers.rb +5 -0
  381. data/spec/support/shoulda_matchers.rb +8 -0
  382. metadata +731 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 7086eaf92f3548322c4c691cbc5338737d9bcfbfe7a9f80f6a1c2b14eb299aae
4
+ data.tar.gz: 6e9a6b611604b4b4d86d0de173a4df58da7b69d7800f778c6ba723ee77a0cbe4
5
+ SHA512:
6
+ metadata.gz: 1b13a38fe616f006a40c74ad8cd12f10183e59ed782034351b78229092dec0530f0b05710778bf084a3d0837120d3293993eac5f621fa4678578d4c5701a47ab
7
+ data.tar.gz: f7ac7aabb84a75e1f1edac96add5e5c081a42119fb4f8780557f62f95f16f41c83892a1911c9c990299f2f8902712b584169a1280e351c862840314b340c1f62
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2017 Roberto Vasquez Angel
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,28 @@
1
+ # Cmor::System::Backend
2
+ Short description and motivation.
3
+
4
+ ## Usage
5
+ How to use my plugin.
6
+
7
+ ## Installation
8
+ Add this line to your application's Gemfile:
9
+
10
+ ```ruby
11
+ gem 'cmor_system_backend'
12
+ ```
13
+
14
+ And then execute:
15
+ ```bash
16
+ $ bundle
17
+ ```
18
+
19
+ Or install it yourself as:
20
+ ```bash
21
+ $ gem install cmor_system_backend
22
+ ```
23
+
24
+ ## Contributing
25
+ Contribution directions go here.
26
+
27
+ ## License
28
+ The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
data/Rakefile ADDED
@@ -0,0 +1,19 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'Cmor::System::Backend'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.rdoc')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+ Bundler::GemHelper.install_tasks
18
+
19
+ require 'rails/dummy/tasks'
@@ -0,0 +1,2 @@
1
+ //= link_directory ../javascripts/cmor/system/backend .js
2
+ //= link_directory ../stylesheets/cmor/system/backend .css
@@ -0,0 +1,13 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file. JavaScript code in this file should be added after the last require_* statement.
9
+ //
10
+ // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //= require_tree ./application
@@ -0,0 +1 @@
1
+ //= require ./cmor/system/backend/application
@@ -0,0 +1,4 @@
1
+ /*
2
+ *= require_tree ./application
3
+ *= require_self
4
+ */
@@ -0,0 +1,3 @@
1
+ /*
2
+ *= require cmor/system/backend/application
3
+ */
@@ -0,0 +1,27 @@
1
+ module Cmor
2
+ module System
3
+ module Backend
4
+ module ActiveStorage
5
+ class AttachmentsController < Cmor::Core::Backend::ResourcesController::Base
6
+ def self.resource_class
7
+ ::ActiveStorage::Attachment
8
+ end
9
+
10
+ def self.available_rest_actions
11
+ super - %i(new create edit update)
12
+ end
13
+
14
+ private
15
+
16
+ def resource_namespace
17
+ :active_storage
18
+ end
19
+
20
+ def permitted_params
21
+ params.require(:attachment).permit(:name, :record_type, :record_id, :blob)
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ module Cmor
2
+ module System
3
+ module Backend
4
+ module ActiveStorage
5
+ class BlobsController < Cmor::Core::Backend::ResourcesController::Base
6
+ def self.resource_class
7
+ ::ActiveStorage::Blob
8
+ end
9
+
10
+ def self.available_rest_actions
11
+ super - %i(new create edit update)
12
+ end
13
+
14
+ private
15
+
16
+ def resource_namespace
17
+ :active_storage
18
+ end
19
+
20
+ def permitted_params
21
+ params.require(:blob).permit()
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,21 @@
1
+ module Cmor
2
+ module System
3
+ module Backend
4
+ class DelayedBackendActiveRecordJobsController < Cmor::Core::Backend::ResourcesController::Base
5
+ def self.resource_class
6
+ ::Delayed::Backend::ActiveRecord::Job
7
+ end
8
+
9
+ # def self.available_rest_actions
10
+ # %i(index show edit update)
11
+ # end
12
+
13
+ private
14
+
15
+ def permitted_params
16
+ params.require(:delayed_backend_active_record_job).permit(:priority, :attempts, :handler, :last_error, :run_at, :locked_at, :failed_at, :locked_by, :queue)
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,8 @@
1
+ module Cmor
2
+ module System
3
+ module Backend
4
+ class HomeController < Cmor::Core::Backend::HomeController::Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,7 @@
1
+ = table.column :name
2
+ = table.column :record
3
+ = table.column :blob do |resource|
4
+ - link_to(resource.blob.filename, [:active_storage, resource.blob])
5
+ = table.column :created_at
6
+ = table.column :additional_actions do |resource|
7
+ - link_to(t('.download'), main_app.url_for(resource.blob), class: 'btn btn-primary btn-xs')
@@ -0,0 +1,15 @@
1
+ = table.column :key
2
+ = table.column :filename do |resource|
3
+ - resource.filename.to_s
4
+ = table.column :content_type
5
+ = table.column :metadata do |resource|
6
+ - capture_haml do
7
+ %ul
8
+ - resource.metadata.each do |key, value|
9
+ %li= "#{key}: #{value}"
10
+ = table.column :byte_size do |resource|
11
+ - number_to_human_size(resource.byte_size)
12
+ = table.column :checksum
13
+ = table.column :created_at
14
+ = table.column :additional_actions do |resource|
15
+ - link_to(t('.download'), main_app.url_for(resource), class: 'btn btn-primary btn-xs')
@@ -0,0 +1,16 @@
1
+ = table.column(:actions, title: false) do |resource|
2
+ - capture_haml do
3
+ .w-100.d-flex
4
+ .btn-group.ml-auto
5
+ - if available_rest_actions.include?(:show)
6
+ = link_to({ action: :show, id: resource.to_param }, class: 'show btn btn-xs btn-responsive btn-primary') do
7
+ %i.fas.fa-eye
8
+ %span.btn-text= t('.show')
9
+ - if available_rest_actions.include?(:edit)
10
+ = link_to({ action: :edit, id: resource.to_param }, class: 'edit btn btn-xs btn-responsive btn-secondary') do
11
+ %i.fas.fa-edit
12
+ %span.btn-text= t('.edit')
13
+ - if available_rest_actions.include?(:destroy)
14
+ = link_to(url_for({ action: :show, id: resource.to_param }), class: 'destroy btn btn-xs btn-responsive btn-danger', method: :delete, 'data-confirm': I18n.t('administrador.controller.confirmations.destroy')) do
15
+ %i.fas.fa-fire
16
+ %span.btn-text= t('.destroy')
@@ -0,0 +1,12 @@
1
+ = link_to({ action: :index }, class: 'btn btn-light btn-responsive') do
2
+ %i.fas.fa-arrow-left
3
+ %span.btn-text= t('administrador.resources_controller.base.show_actions.back')
4
+
5
+ .ml-auto
6
+ - if available_rest_actions.include?(:destroy)
7
+ = link_to({ action: :show, id: resource.to_param }, class: 'destroy btn btn-danger btn-circle btn-lg', method: :delete, 'data-confirm': I18n.t('administrador.controller.confirmations.destroy')) do
8
+ %i.fas.fa-fire
9
+
10
+ - if available_rest_actions.include?(:edit)
11
+ = link_to({ action: :edit, id: resource.to_param }, class: 'btn btn-success btn-circle btn-lg') do
12
+ %i.fas.fa-edit
@@ -0,0 +1,2 @@
1
+ Rails.application.config.assets.precompile += %w( cmor_system_backend.css )
2
+ Rails.application.config.assets.precompile += %w( cmor_system_backend.js )
@@ -0,0 +1,3 @@
1
+ Cmor.configure do |config|
2
+ config.administrador.register_engine('Cmor::System::Backend::Engine', {})
3
+ end
@@ -0,0 +1,48 @@
1
+ de:
2
+ activerecord:
3
+ models:
4
+ active_storage/attachment:
5
+ one: Anhang
6
+ other: Anhänge
7
+ active_storage/blob:
8
+ one: BLOB
9
+ other: BLOBs
10
+ delayed/backend/active_record/job:
11
+ one: Hintergrundjob
12
+ other: Hintergrundjobs
13
+ attributes:
14
+ active_storage/attachment:
15
+ id: ID
16
+ name: Name
17
+ record_type: Objekt Typ
18
+ record_id: Objekt ID
19
+ record: Objekt
20
+ blob_id: BLOB
21
+ blob: BLOB
22
+ created_at: Erstellt am
23
+ active_storage/blob:
24
+ id: ID
25
+ key: Schlüssel
26
+ filename: Dateiname
27
+ content_type: Content Typ
28
+ metadata: Metadaten
29
+ byte_size: Größe
30
+ checksum: Checksumme
31
+ created_at: Erstellt am
32
+ delayed/backend/active_record/job:
33
+ id: ID
34
+ priority: Priorität
35
+ attempts: Versuche
36
+ handler: Handler
37
+ last_error: Letzter Fehler
38
+ run_at: Gelaufen am
39
+ locked_at: Gesperrt am
40
+ failed_at: Fehlgeschlagen am
41
+ locked_by: Gesperrt durch
42
+ queue: Warteschlange
43
+ created_at: Erstellt am
44
+ updated_at: Aktualisiert am
45
+ classes:
46
+ cmor/system/backend/engine: System
47
+ routes:
48
+ cmor-system-backend-engine: system
@@ -0,0 +1,48 @@
1
+ en:
2
+ activerecord:
3
+ models:
4
+ active_storage/attachment:
5
+ one: Attachment
6
+ other: Attachments
7
+ active_storage/blob:
8
+ one: BLOB
9
+ other: BLOBs
10
+ delayed/backend/active_record/job:
11
+ one: Job
12
+ other: Jobs
13
+ attributes:
14
+ active_storage/attachment:
15
+ id: ID
16
+ name: Name
17
+ record_type: Record Type
18
+ record_id: Record ID
19
+ record: Record
20
+ blob_id: BLOB ID
21
+ blob: BLOB
22
+ created_at: Created at
23
+ active_storage/blob:
24
+ id: ID
25
+ key: Key
26
+ filename: Filename
27
+ content_type: Content Type
28
+ metadata: Metadata
29
+ byte_size: Byte size
30
+ checksum: Checksum
31
+ created_at: Created at
32
+ delayed/backend/active_record/job:
33
+ id: ID
34
+ priority: Priority
35
+ attempts: Attempts
36
+ handler: Handler
37
+ last_error: Last error
38
+ run_at: Run at
39
+ locked_at: Locked at
40
+ failed_at: Failed at
41
+ locked_by: Locked by
42
+ queue: Queue
43
+ created_at: Created at
44
+ updated_at: Updated at
45
+ classes:
46
+ cmor/system/backend/engine: System
47
+ routes:
48
+ cmor-system-backend-engine: system
data/config/routes.rb ADDED
@@ -0,0 +1,9 @@
1
+ Cmor::System::Backend::Engine.routes.draw do
2
+ resources :delayed_backend_active_record_jobs if Cmor::System::Backend::Configuration.enable_delayed_job_backend
3
+ namespace :active_storage do
4
+ resources :blobs , only: [:index, :show, :destroy]
5
+ resources :attachments , only: [:index, :show, :destroy]
6
+ end if Cmor::System::Backend::Configuration.enable_active_storage_backend
7
+
8
+ root to: 'home#index'
9
+ end
@@ -0,0 +1,27 @@
1
+ require 'active_support/core_ext/module/delegation'
2
+ require 'active_support/core_ext/module/attribute_accessors'
3
+
4
+ module Cmor
5
+ module System
6
+ module Backend
7
+ module Configuration
8
+ def configure
9
+ yield self
10
+ end
11
+
12
+ mattr_accessor(:registered_controllers) { -> {[]} }
13
+ mattr_accessor(:registered_services) { -> {[]} }
14
+ mattr_accessor(:enable_active_storage_backend) { false }
15
+ mattr_accessor(:enable_delayed_job_backend) { false }
16
+ mattr_accessor(:record_factory_name) { 'user' }
17
+
18
+ def self.registered_controllers
19
+ rc = @@registered_controllers.call
20
+ rc.reject! { |c| c.name =~ /.*ActiveStorage.*/ } unless enable_active_storage_backend
21
+ rc.reject! { |c| c.name =~ /.*Delayed.*/ } unless enable_delayed_job_backend
22
+ -> { rc }
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,9 @@
1
+ module Cmor
2
+ module System
3
+ module Backend
4
+ class Engine < ::Rails::Engine
5
+ isolate_namespace Cmor::System::Backend
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ require 'cmor/version'
2
+
3
+ module Cmor
4
+ module System
5
+ module Backend
6
+ VERSION = ::Cmor::VERSION
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,12 @@
1
+ require "cmor/system/backend/configuration"
2
+ require "cmor/system/backend/engine"
3
+
4
+ module Cmor
5
+ module System
6
+ module Backend
7
+ extend Configuration
8
+ end
9
+ end
10
+ end
11
+
12
+ Cmor.configure { |c| c.register_configuration(:system_backend, Cmor::System::Backend) }
@@ -0,0 +1,3 @@
1
+ require "cmor_core_backend"
2
+
3
+ require "cmor/system/backend"
@@ -0,0 +1,32 @@
1
+ module Cmor
2
+ module System
3
+ module Backend
4
+ module Generators
5
+ class InstallGenerator < Rails::Generators::Base
6
+ desc 'Installs the initializer, routes and backend integration'
7
+
8
+ source_root File.expand_path('../templates', __FILE__)
9
+
10
+ attr_reader :cmor_system_backend_enable_active_storage
11
+ attr_reader :cmor_system_backend_enable_delayed_job
12
+ attr_reader :record_factory_name
13
+
14
+ def initialize(*args)
15
+ super
16
+ @cmor_system_backend_enable_active_storage = ENV.fetch('CMOR_SYSTEM_BACKEND_ENABLE_ACTIVE_STORAGE') { false }
17
+ @cmor_system_backend_enable_delayed_job = ENV.fetch('CMOR_SYSTEM_BACKEND_ENABLE_DELAYED_JOB') { false }
18
+ @record_factory_name = ENV.fetch('CMOR_SYSTEM_BACKEND_RECORD_FACTORY_NAME') { 'post' }
19
+ end
20
+
21
+ def generate_initializer
22
+ template 'initializer.rb', 'config/initializers/cmor_system_backend.rb'
23
+ end
24
+
25
+ def generate_routes
26
+ route File.read(File.join(File.expand_path('../templates', __FILE__), 'routes.source'))
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,41 @@
1
+ Cmor::System::Backend.configure do |config|
2
+ # Set the resources, that will be shown in the backend menu.
3
+ #
4
+ # Default: config.registered_controllers = -> {[
5
+ # Cmor::System::Backend::DelayedBackendActiveRecordJobsController,
6
+ # Cmor::System::Backend::ActiveStorage::BlobsController,
7
+ # Cmor::System::Backend::ActiveStorage::AttachmentsController
8
+ # ]}
9
+ #
10
+ config.registered_controllers = -> {[
11
+ Cmor::System::Backend::DelayedBackendActiveRecordJobsController,
12
+ Cmor::System::Backend::ActiveStorage::BlobsController,
13
+ Cmor::System::Backend::ActiveStorage::AttachmentsController
14
+ ]}
15
+
16
+ # Set the services, that will be shown in the backend menu.
17
+ #
18
+ # Default: config.registered_services = -> {[
19
+ # ]}
20
+ #
21
+ config.registered_services = -> {[
22
+ ]}
23
+
24
+ # Factory name to use for creators and updaters.
25
+ #
26
+ # default: config.record_factory_name = 'post'
27
+ #
28
+ config.record_factory_name = '<%= record_factory_name %>'
29
+
30
+ # Enable support for ActiveStorage.
31
+ #
32
+ # default: config.enable_active_storage_backend = false
33
+ #
34
+ config.enable_active_storage_backend = <%= cmor_system_backend_enable_active_storage %>
35
+
36
+ # Enable support for DelayedJob.
37
+ #
38
+ # default: config.enable_delayed_job_backend = false
39
+ #
40
+ config.enable_delayed_job_backend = <%= cmor_system_backend_enable_delayed_job %>
41
+ end
@@ -0,0 +1,4 @@
1
+
2
+ localized do
3
+ mount Cmor::System::Backend::Engine, at: '/backend/cmor-system-backend-engine'
4
+ end
@@ -0,0 +1,6 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require_relative 'config/application'
5
+
6
+ Rails.application.load_tasks
@@ -0,0 +1,3 @@
1
+ //= link_tree ../images
2
+ //= link_directory ../javascripts .js
3
+ //= link_directory ../stylesheets .css
@@ -0,0 +1,15 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file. JavaScript code in this file should be added after the last require_* statement.
9
+ //
10
+ // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //= require rails-ujs
14
+ //= require activestorage
15
+ //= require_tree .
@@ -0,0 +1,13 @@
1
+ // Action Cable provides the framework to deal with WebSockets in Rails.
2
+ // You can generate new channels where WebSocket features live using the `rails generate channel` command.
3
+ //
4
+ //= require action_cable
5
+ //= require_self
6
+ //= require_tree ./channels
7
+
8
+ (function() {
9
+ this.App || (this.App = {});
10
+
11
+ App.cable = ActionCable.createConsumer();
12
+
13
+ }).call(this);
@@ -0,0 +1,15 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
+ * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10
+ * files in this directory. Styles in this file should be added after the last require_* statement.
11
+ * It is generally better to create a new file per style scope.
12
+ *
13
+ *= require_tree .
14
+ *= require_self
15
+ */
@@ -0,0 +1,4 @@
1
+ module ApplicationCable
2
+ class Channel < ActionCable::Channel::Base
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module ApplicationCable
2
+ class Connection < ActionCable::Connection::Base
3
+ end
4
+ end
@@ -0,0 +1,2 @@
1
+ class ApplicationController < ActionController::Base
2
+ end
@@ -0,0 +1,2 @@
1
+ class BackendController < ApplicationController
2
+ end
@@ -0,0 +1,2 @@
1
+ module ApplicationHelper
2
+ end
@@ -0,0 +1,2 @@
1
+ class ApplicationJob < ActiveJob::Base
2
+ end
@@ -0,0 +1,4 @@
1
+ class ApplicationMailer < ActionMailer::Base
2
+ default from: 'from@example.com'
3
+ layout 'mailer'
4
+ end
@@ -0,0 +1,3 @@
1
+ class ApplicationRecord < ActiveRecord::Base
2
+ self.abstract_class = true
3
+ end
@@ -0,0 +1,2 @@
1
+ class Post < ApplicationRecord
2
+ end
@@ -0,0 +1,15 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Dummy</title>
5
+ <%= csrf_meta_tags %>
6
+ <%= csp_meta_tag %>
7
+
8
+ <%= stylesheet_link_tag 'application', media: 'all' %>
9
+ <%= javascript_include_tag 'application' %>
10
+ </head>
11
+
12
+ <body>
13
+ <%= yield %>
14
+ </body>
15
+ </html>