super-sharp-tool 0.0.1

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 (344) hide show
  1. checksums.yaml +7 -0
  2. data/activeadmin-3.5.1/CHANGELOG.md +1153 -0
  3. data/activeadmin-3.5.1/CODE_OF_CONDUCT.md +74 -0
  4. data/activeadmin-3.5.1/CONTRIBUTING.md +187 -0
  5. data/activeadmin-3.5.1/LICENSE +20 -0
  6. data/activeadmin-3.5.1/README.md +117 -0
  7. data/activeadmin-3.5.1/app/assets/javascripts/active_admin/base.js +520 -0
  8. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_base.scss +57 -0
  9. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_forms.scss +315 -0
  10. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_header.scss +188 -0
  11. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_mixins.scss +1 -0
  12. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_normalize.scss +349 -0
  13. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_print.scss +287 -0
  14. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_typography.scss +100 -0
  15. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_batch_actions.scss +6 -0
  16. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_blank_slates.scss +30 -0
  17. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_breadcrumbs.scss +20 -0
  18. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_buttons.scss +6 -0
  19. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_columns.scss +3 -0
  20. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_comments.scss +41 -0
  21. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_date_picker.scss +148 -0
  22. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +154 -0
  23. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_flash_messages.scss +37 -0
  24. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_grid.scss +9 -0
  25. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_index_list.scss +12 -0
  26. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_links.scss +5 -0
  27. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_modal_dialog.scss +34 -0
  28. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_pagination.scss +58 -0
  29. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_panels.scss +6 -0
  30. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_scopes.scss +13 -0
  31. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_status_tags.scss +12 -0
  32. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_table_tools.scss +70 -0
  33. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_tables.scss +112 -0
  34. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_tabs.scss +68 -0
  35. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_unsupported_browser.scss +16 -0
  36. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -0
  37. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_buttons.scss +65 -0
  38. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_gradients.scss +28 -0
  39. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_rounded.scss +22 -0
  40. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_sections.scss +41 -0
  41. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_shadows.scss +15 -0
  42. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_typography.scss +3 -0
  43. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_utilities.scss +17 -0
  44. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_variables.scss +51 -0
  45. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/pages/_logged_out.scss +44 -0
  46. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/structure/_footer.scss +19 -0
  47. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/structure/_main_structure.scss +29 -0
  48. data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/structure/_title_bar.scss +43 -0
  49. data/activeadmin-3.5.1/app/javascript/active_admin/base.js +28 -0
  50. data/activeadmin-3.5.1/app/javascript/active_admin/ext/jquery-ui.js +7 -0
  51. data/activeadmin-3.5.1/app/javascript/active_admin/ext/jquery.js +9 -0
  52. data/activeadmin-3.5.1/app/javascript/active_admin/initializers/batch-actions.js +61 -0
  53. data/activeadmin-3.5.1/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
  54. data/activeadmin-3.5.1/app/javascript/active_admin/initializers/datepicker.js +19 -0
  55. data/activeadmin-3.5.1/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
  56. data/activeadmin-3.5.1/app/javascript/active_admin/initializers/filters.js +10 -0
  57. data/activeadmin-3.5.1/app/javascript/active_admin/initializers/has-many.js +98 -0
  58. data/activeadmin-3.5.1/app/javascript/active_admin/initializers/per-page.js +13 -0
  59. data/activeadmin-3.5.1/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
  60. data/activeadmin-3.5.1/app/javascript/active_admin/initializers/tabs.js +6 -0
  61. data/activeadmin-3.5.1/app/javascript/active_admin/lib/checkbox-toggler.js +49 -0
  62. data/activeadmin-3.5.1/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
  63. data/activeadmin-3.5.1/app/javascript/active_admin/lib/filters.js +39 -0
  64. data/activeadmin-3.5.1/app/javascript/active_admin/lib/modal-dialog.js +63 -0
  65. data/activeadmin-3.5.1/app/javascript/active_admin/lib/per-page.js +38 -0
  66. data/activeadmin-3.5.1/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
  67. data/activeadmin-3.5.1/app/javascript/active_admin/lib/utils.js +40 -0
  68. data/activeadmin-3.5.1/app/views/active_admin/devise/confirmations/new.html.erb +15 -0
  69. data/activeadmin-3.5.1/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +8 -0
  70. data/activeadmin-3.5.1/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +7 -0
  71. data/activeadmin-3.5.1/app/views/active_admin/devise/passwords/edit.html.erb +18 -0
  72. data/activeadmin-3.5.1/app/views/active_admin/devise/passwords/new.html.erb +15 -0
  73. data/activeadmin-3.5.1/app/views/active_admin/devise/registrations/new.html.erb +21 -0
  74. data/activeadmin-3.5.1/app/views/active_admin/devise/sessions/new.html.erb +20 -0
  75. data/activeadmin-3.5.1/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  76. data/activeadmin-3.5.1/app/views/active_admin/devise/shared/_links.erb +33 -0
  77. data/activeadmin-3.5.1/app/views/active_admin/devise/unlocks/new.html.erb +15 -0
  78. data/activeadmin-3.5.1/app/views/active_admin/page/index.html.arb +2 -0
  79. data/activeadmin-3.5.1/app/views/active_admin/resource/edit.html.arb +2 -0
  80. data/activeadmin-3.5.1/app/views/active_admin/resource/index.html.arb +2 -0
  81. data/activeadmin-3.5.1/app/views/active_admin/resource/new.html.arb +2 -0
  82. data/activeadmin-3.5.1/app/views/active_admin/resource/show.html.arb +2 -0
  83. data/activeadmin-3.5.1/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
  84. data/activeadmin-3.5.1/app/views/kaminari/active_admin/_gap.html.erb +8 -0
  85. data/activeadmin-3.5.1/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
  86. data/activeadmin-3.5.1/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
  87. data/activeadmin-3.5.1/app/views/kaminari/active_admin/_page.html.erb +12 -0
  88. data/activeadmin-3.5.1/app/views/kaminari/active_admin/_paginator.html.erb +25 -0
  89. data/activeadmin-3.5.1/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
  90. data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  91. data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  92. data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  93. data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  94. data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  95. data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  96. data/activeadmin-3.5.1/app/views/layouts/active_admin.html.arb +2 -0
  97. data/activeadmin-3.5.1/app/views/layouts/active_admin_logged_out.html.erb +50 -0
  98. data/activeadmin-3.5.1/config/locales/ar.yml +128 -0
  99. data/activeadmin-3.5.1/config/locales/az.yml +131 -0
  100. data/activeadmin-3.5.1/config/locales/bg.yml +112 -0
  101. data/activeadmin-3.5.1/config/locales/bs.yml +114 -0
  102. data/activeadmin-3.5.1/config/locales/ca.yml +98 -0
  103. data/activeadmin-3.5.1/config/locales/cs.yml +102 -0
  104. data/activeadmin-3.5.1/config/locales/da.yml +130 -0
  105. data/activeadmin-3.5.1/config/locales/de-CH.yml +94 -0
  106. data/activeadmin-3.5.1/config/locales/de.yml +154 -0
  107. data/activeadmin-3.5.1/config/locales/el.yml +119 -0
  108. data/activeadmin-3.5.1/config/locales/en-CA.yml +132 -0
  109. data/activeadmin-3.5.1/config/locales/en-GB.yml +132 -0
  110. data/activeadmin-3.5.1/config/locales/en.yml +154 -0
  111. data/activeadmin-3.5.1/config/locales/eo.yml +137 -0
  112. data/activeadmin-3.5.1/config/locales/es-MX.yml +90 -0
  113. data/activeadmin-3.5.1/config/locales/es.yml +154 -0
  114. data/activeadmin-3.5.1/config/locales/fa.yml +112 -0
  115. data/activeadmin-3.5.1/config/locales/fi.yml +105 -0
  116. data/activeadmin-3.5.1/config/locales/fr.yml +133 -0
  117. data/activeadmin-3.5.1/config/locales/he.yml +132 -0
  118. data/activeadmin-3.5.1/config/locales/hr.yml +116 -0
  119. data/activeadmin-3.5.1/config/locales/hu.yml +94 -0
  120. data/activeadmin-3.5.1/config/locales/id.yml +128 -0
  121. data/activeadmin-3.5.1/config/locales/it.yml +154 -0
  122. data/activeadmin-3.5.1/config/locales/ja.yml +133 -0
  123. data/activeadmin-3.5.1/config/locales/ko.yml +113 -0
  124. data/activeadmin-3.5.1/config/locales/lt.yml +134 -0
  125. data/activeadmin-3.5.1/config/locales/lv.yml +85 -0
  126. data/activeadmin-3.5.1/config/locales/mk.yml +126 -0
  127. data/activeadmin-3.5.1/config/locales/nb.yml +122 -0
  128. data/activeadmin-3.5.1/config/locales/nl.yml +136 -0
  129. data/activeadmin-3.5.1/config/locales/pl.yml +160 -0
  130. data/activeadmin-3.5.1/config/locales/pt-BR.yml +135 -0
  131. data/activeadmin-3.5.1/config/locales/pt-PT.yml +85 -0
  132. data/activeadmin-3.5.1/config/locales/ro.yml +90 -0
  133. data/activeadmin-3.5.1/config/locales/ru.yml +135 -0
  134. data/activeadmin-3.5.1/config/locales/sk.yml +160 -0
  135. data/activeadmin-3.5.1/config/locales/sv-SE.yml +154 -0
  136. data/activeadmin-3.5.1/config/locales/tr.yml +133 -0
  137. data/activeadmin-3.5.1/config/locales/uk.yml +132 -0
  138. data/activeadmin-3.5.1/config/locales/vi.yml +154 -0
  139. data/activeadmin-3.5.1/config/locales/zh-CN.yml +154 -0
  140. data/activeadmin-3.5.1/config/locales/zh-TW.yml +128 -0
  141. data/activeadmin-3.5.1/lib/active_admin/abstract_view_factory.rb +48 -0
  142. data/activeadmin-3.5.1/lib/active_admin/application.rb +234 -0
  143. data/activeadmin-3.5.1/lib/active_admin/application_settings.rb +43 -0
  144. data/activeadmin-3.5.1/lib/active_admin/asset_registration.rb +30 -0
  145. data/activeadmin-3.5.1/lib/active_admin/authorization_adapter.rb +132 -0
  146. data/activeadmin-3.5.1/lib/active_admin/base_controller/authorization.rb +129 -0
  147. data/activeadmin-3.5.1/lib/active_admin/base_controller/menu.rb +35 -0
  148. data/activeadmin-3.5.1/lib/active_admin/base_controller.rb +82 -0
  149. data/activeadmin-3.5.1/lib/active_admin/batch_actions/controller.rb +41 -0
  150. data/activeadmin-3.5.1/lib/active_admin/batch_actions/resource_extension.rb +157 -0
  151. data/activeadmin-3.5.1/lib/active_admin/batch_actions/views/batch_action_form.rb +39 -0
  152. data/activeadmin-3.5.1/lib/active_admin/batch_actions/views/batch_action_selector.rb +59 -0
  153. data/activeadmin-3.5.1/lib/active_admin/batch_actions/views/selection_cells.rb +39 -0
  154. data/activeadmin-3.5.1/lib/active_admin/batch_actions.rb +17 -0
  155. data/activeadmin-3.5.1/lib/active_admin/callbacks.rb +89 -0
  156. data/activeadmin-3.5.1/lib/active_admin/cancan_adapter.rb +37 -0
  157. data/activeadmin-3.5.1/lib/active_admin/collection_decorator.rb +32 -0
  158. data/activeadmin-3.5.1/lib/active_admin/component.rb +6 -0
  159. data/activeadmin-3.5.1/lib/active_admin/controller_action.rb +14 -0
  160. data/activeadmin-3.5.1/lib/active_admin/csv_builder.rb +144 -0
  161. data/activeadmin-3.5.1/lib/active_admin/dependency.rb +97 -0
  162. data/activeadmin-3.5.1/lib/active_admin/devise.rb +91 -0
  163. data/activeadmin-3.5.1/lib/active_admin/dsl.rb +161 -0
  164. data/activeadmin-3.5.1/lib/active_admin/dynamic_setting.rb +39 -0
  165. data/activeadmin-3.5.1/lib/active_admin/dynamic_settings_node.rb +29 -0
  166. data/activeadmin-3.5.1/lib/active_admin/engine.rb +29 -0
  167. data/activeadmin-3.5.1/lib/active_admin/error.rb +63 -0
  168. data/activeadmin-3.5.1/lib/active_admin/filters/active.rb +30 -0
  169. data/activeadmin-3.5.1/lib/active_admin/filters/active_filter.rb +124 -0
  170. data/activeadmin-3.5.1/lib/active_admin/filters/active_sidebar.rb +28 -0
  171. data/activeadmin-3.5.1/lib/active_admin/filters/dsl.rb +22 -0
  172. data/activeadmin-3.5.1/lib/active_admin/filters/forms.rb +86 -0
  173. data/activeadmin-3.5.1/lib/active_admin/filters/formtastic_addons.rb +75 -0
  174. data/activeadmin-3.5.1/lib/active_admin/filters/resource_extension.rb +180 -0
  175. data/activeadmin-3.5.1/lib/active_admin/filters.rb +12 -0
  176. data/activeadmin-3.5.1/lib/active_admin/form_builder.rb +186 -0
  177. data/activeadmin-3.5.1/lib/active_admin/generators/boilerplate.rb +54 -0
  178. data/activeadmin-3.5.1/lib/active_admin/helpers/collection.rb +21 -0
  179. data/activeadmin-3.5.1/lib/active_admin/helpers/i18n.rb +8 -0
  180. data/activeadmin-3.5.1/lib/active_admin/helpers/optional_display.rb +39 -0
  181. data/activeadmin-3.5.1/lib/active_admin/helpers/routes/url_helpers.rb +16 -0
  182. data/activeadmin-3.5.1/lib/active_admin/helpers/scope_chain.rb +25 -0
  183. data/activeadmin-3.5.1/lib/active_admin/inputs/datepicker_input.rb +28 -0
  184. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/base/search_method_select.rb +76 -0
  185. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/base.rb +45 -0
  186. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/boolean_input.rb +25 -0
  187. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/check_boxes_input.rb +51 -0
  188. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/date_picker_input.rb +14 -0
  189. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/date_range_input.rb +53 -0
  190. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/numeric_input.rb +13 -0
  191. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/select_input.rb +59 -0
  192. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/string_input.rb +27 -0
  193. data/activeadmin-3.5.1/lib/active_admin/inputs/filters/text_input.rb +26 -0
  194. data/activeadmin-3.5.1/lib/active_admin/inputs.rb +22 -0
  195. data/activeadmin-3.5.1/lib/active_admin/localizers/resource_localizer.rb +36 -0
  196. data/activeadmin-3.5.1/lib/active_admin/localizers.rb +12 -0
  197. data/activeadmin-3.5.1/lib/active_admin/menu.rb +107 -0
  198. data/activeadmin-3.5.1/lib/active_admin/menu_collection.rb +92 -0
  199. data/activeadmin-3.5.1/lib/active_admin/menu_item.rb +70 -0
  200. data/activeadmin-3.5.1/lib/active_admin/namespace.rb +267 -0
  201. data/activeadmin-3.5.1/lib/active_admin/namespace_settings.rb +127 -0
  202. data/activeadmin-3.5.1/lib/active_admin/order_clause.rb +49 -0
  203. data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/comment.rb +40 -0
  204. data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/namespace_helper.rb +15 -0
  205. data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/resource_helper.rb +18 -0
  206. data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/show_page_helper.rb +24 -0
  207. data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +101 -0
  208. data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/views.rb +3 -0
  209. data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments.rb +102 -0
  210. data/activeadmin-3.5.1/lib/active_admin/orm/active_record.rb +6 -0
  211. data/activeadmin-3.5.1/lib/active_admin/orm/mongoid.rb +2 -0
  212. data/activeadmin-3.5.1/lib/active_admin/page.rb +112 -0
  213. data/activeadmin-3.5.1/lib/active_admin/page_controller.rb +30 -0
  214. data/activeadmin-3.5.1/lib/active_admin/page_dsl.rb +33 -0
  215. data/activeadmin-3.5.1/lib/active_admin/page_presenter.rb +34 -0
  216. data/activeadmin-3.5.1/lib/active_admin/pundit_adapter.rb +123 -0
  217. data/activeadmin-3.5.1/lib/active_admin/resource/action_items.rb +121 -0
  218. data/activeadmin-3.5.1/lib/active_admin/resource/attributes.rb +55 -0
  219. data/activeadmin-3.5.1/lib/active_admin/resource/belongs_to.rb +53 -0
  220. data/activeadmin-3.5.1/lib/active_admin/resource/controllers.rb +20 -0
  221. data/activeadmin-3.5.1/lib/active_admin/resource/includes.rb +13 -0
  222. data/activeadmin-3.5.1/lib/active_admin/resource/menu.rb +68 -0
  223. data/activeadmin-3.5.1/lib/active_admin/resource/model.rb +16 -0
  224. data/activeadmin-3.5.1/lib/active_admin/resource/naming.rb +63 -0
  225. data/activeadmin-3.5.1/lib/active_admin/resource/ordering.rb +12 -0
  226. data/activeadmin-3.5.1/lib/active_admin/resource/page_presenters.rb +83 -0
  227. data/activeadmin-3.5.1/lib/active_admin/resource/pagination.rb +24 -0
  228. data/activeadmin-3.5.1/lib/active_admin/resource/routes.rb +146 -0
  229. data/activeadmin-3.5.1/lib/active_admin/resource/scope_to.rb +75 -0
  230. data/activeadmin-3.5.1/lib/active_admin/resource/scopes.rb +53 -0
  231. data/activeadmin-3.5.1/lib/active_admin/resource/sidebars.rb +29 -0
  232. data/activeadmin-3.5.1/lib/active_admin/resource.rb +227 -0
  233. data/activeadmin-3.5.1/lib/active_admin/resource_collection.rb +73 -0
  234. data/activeadmin-3.5.1/lib/active_admin/resource_controller/action_builder.rb +32 -0
  235. data/activeadmin-3.5.1/lib/active_admin/resource_controller/data_access.rb +348 -0
  236. data/activeadmin-3.5.1/lib/active_admin/resource_controller/decorators.rb +81 -0
  237. data/activeadmin-3.5.1/lib/active_admin/resource_controller/polymorphic_routes.rb +38 -0
  238. data/activeadmin-3.5.1/lib/active_admin/resource_controller/resource_class_methods.rb +27 -0
  239. data/activeadmin-3.5.1/lib/active_admin/resource_controller/scoping.rb +32 -0
  240. data/activeadmin-3.5.1/lib/active_admin/resource_controller/sidebars.rb +19 -0
  241. data/activeadmin-3.5.1/lib/active_admin/resource_controller/streaming.rb +45 -0
  242. data/activeadmin-3.5.1/lib/active_admin/resource_controller.rb +68 -0
  243. data/activeadmin-3.5.1/lib/active_admin/resource_dsl.rb +210 -0
  244. data/activeadmin-3.5.1/lib/active_admin/router.rb +115 -0
  245. data/activeadmin-3.5.1/lib/active_admin/scope.rb +65 -0
  246. data/activeadmin-3.5.1/lib/active_admin/settings_node.rb +20 -0
  247. data/activeadmin-3.5.1/lib/active_admin/sidebar_section.rb +40 -0
  248. data/activeadmin-3.5.1/lib/active_admin/version.rb +4 -0
  249. data/activeadmin-3.5.1/lib/active_admin/view_factory.rb +28 -0
  250. data/activeadmin-3.5.1/lib/active_admin/view_helpers/active_admin_application_helper.rb +13 -0
  251. data/activeadmin-3.5.1/lib/active_admin/view_helpers/auto_link_helper.rb +46 -0
  252. data/activeadmin-3.5.1/lib/active_admin/view_helpers/breadcrumb_helper.rb +34 -0
  253. data/activeadmin-3.5.1/lib/active_admin/view_helpers/display_helper.rb +119 -0
  254. data/activeadmin-3.5.1/lib/active_admin/view_helpers/download_format_links_helper.rb +60 -0
  255. data/activeadmin-3.5.1/lib/active_admin/view_helpers/fields_for.rb +51 -0
  256. data/activeadmin-3.5.1/lib/active_admin/view_helpers/flash_helper.rb +15 -0
  257. data/activeadmin-3.5.1/lib/active_admin/view_helpers/form_helper.rb +21 -0
  258. data/activeadmin-3.5.1/lib/active_admin/view_helpers/method_or_proc_helper.rb +101 -0
  259. data/activeadmin-3.5.1/lib/active_admin/view_helpers/scope_name_helper.rb +17 -0
  260. data/activeadmin-3.5.1/lib/active_admin/view_helpers/sidebar_helper.rb +16 -0
  261. data/activeadmin-3.5.1/lib/active_admin/view_helpers/title_helper.rb +12 -0
  262. data/activeadmin-3.5.1/lib/active_admin/view_helpers/view_factory_helper.rb +12 -0
  263. data/activeadmin-3.5.1/lib/active_admin/view_helpers.rb +21 -0
  264. data/activeadmin-3.5.1/lib/active_admin/views/action_items.rb +18 -0
  265. data/activeadmin-3.5.1/lib/active_admin/views/components/active_admin_form.rb +164 -0
  266. data/activeadmin-3.5.1/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
  267. data/activeadmin-3.5.1/lib/active_admin/views/components/attributes_table.rb +95 -0
  268. data/activeadmin-3.5.1/lib/active_admin/views/components/blank_slate.rb +18 -0
  269. data/activeadmin-3.5.1/lib/active_admin/views/components/columns.rb +162 -0
  270. data/activeadmin-3.5.1/lib/active_admin/views/components/dropdown_menu.rb +69 -0
  271. data/activeadmin-3.5.1/lib/active_admin/views/components/index_list.rb +70 -0
  272. data/activeadmin-3.5.1/lib/active_admin/views/components/menu.rb +33 -0
  273. data/activeadmin-3.5.1/lib/active_admin/views/components/menu_item.rb +59 -0
  274. data/activeadmin-3.5.1/lib/active_admin/views/components/paginated_collection.rb +164 -0
  275. data/activeadmin-3.5.1/lib/active_admin/views/components/panel.rb +39 -0
  276. data/activeadmin-3.5.1/lib/active_admin/views/components/scopes.rb +75 -0
  277. data/activeadmin-3.5.1/lib/active_admin/views/components/sidebar.rb +14 -0
  278. data/activeadmin-3.5.1/lib/active_admin/views/components/sidebar_section.rb +35 -0
  279. data/activeadmin-3.5.1/lib/active_admin/views/components/site_title.rb +55 -0
  280. data/activeadmin-3.5.1/lib/active_admin/views/components/status_tag.rb +76 -0
  281. data/activeadmin-3.5.1/lib/active_admin/views/components/table_for.rb +211 -0
  282. data/activeadmin-3.5.1/lib/active_admin/views/components/tabs.rb +41 -0
  283. data/activeadmin-3.5.1/lib/active_admin/views/components/unsupported_browser.rb +12 -0
  284. data/activeadmin-3.5.1/lib/active_admin/views/footer.rb +32 -0
  285. data/activeadmin-3.5.1/lib/active_admin/views/header.rb +20 -0
  286. data/activeadmin-3.5.1/lib/active_admin/views/index_as_block.rb +37 -0
  287. data/activeadmin-3.5.1/lib/active_admin/views/index_as_blog.rb +156 -0
  288. data/activeadmin-3.5.1/lib/active_admin/views/index_as_grid.rb +81 -0
  289. data/activeadmin-3.5.1/lib/active_admin/views/index_as_table.rb +401 -0
  290. data/activeadmin-3.5.1/lib/active_admin/views/pages/base.rb +134 -0
  291. data/activeadmin-3.5.1/lib/active_admin/views/pages/form.rb +65 -0
  292. data/activeadmin-3.5.1/lib/active_admin/views/pages/index.rb +166 -0
  293. data/activeadmin-3.5.1/lib/active_admin/views/pages/layout.rb +27 -0
  294. data/activeadmin-3.5.1/lib/active_admin/views/pages/page.rb +31 -0
  295. data/activeadmin-3.5.1/lib/active_admin/views/pages/show.rb +60 -0
  296. data/activeadmin-3.5.1/lib/active_admin/views/tabbed_navigation.rb +12 -0
  297. data/activeadmin-3.5.1/lib/active_admin/views/title_bar.rb +56 -0
  298. data/activeadmin-3.5.1/lib/active_admin/views.rb +9 -0
  299. data/activeadmin-3.5.1/lib/active_admin.rb +135 -0
  300. data/activeadmin-3.5.1/lib/activeadmin.rb +2 -0
  301. data/activeadmin-3.5.1/lib/generators/active_admin/assets/assets_generator.rb +15 -0
  302. data/activeadmin-3.5.1/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  303. data/activeadmin-3.5.1/lib/generators/active_admin/assets/templates/active_admin.scss +17 -0
  304. data/activeadmin-3.5.1/lib/generators/active_admin/devise/devise_generator.rb +69 -0
  305. data/activeadmin-3.5.1/lib/generators/active_admin/install/install_generator.rb +56 -0
  306. data/activeadmin-3.5.1/lib/generators/active_admin/install/templates/active_admin.rb.erb +352 -0
  307. data/activeadmin-3.5.1/lib/generators/active_admin/install/templates/admin_users.rb.erb +28 -0
  308. data/activeadmin-3.5.1/lib/generators/active_admin/install/templates/dashboard.rb +33 -0
  309. data/activeadmin-3.5.1/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +16 -0
  310. data/activeadmin-3.5.1/lib/generators/active_admin/page/USAGE +8 -0
  311. data/activeadmin-3.5.1/lib/generators/active_admin/page/page_generator.rb +13 -0
  312. data/activeadmin-3.5.1/lib/generators/active_admin/page/templates/page.rb +6 -0
  313. data/activeadmin-3.5.1/lib/generators/active_admin/resource/resource_generator.rb +21 -0
  314. data/activeadmin-3.5.1/lib/generators/active_admin/resource/templates/admin.rb.erb +46 -0
  315. data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
  316. data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
  317. data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
  318. data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
  319. data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/webpacker_generator.rb +27 -0
  320. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/data.js +39 -0
  321. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/disable-selection.js +51 -0
  322. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/focusable.js +79 -0
  323. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +81 -0
  324. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/keycode.js +51 -0
  325. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/labels.js +70 -0
  326. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/plugin.js +49 -0
  327. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/position.js +513 -0
  328. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/scroll-parent.js +50 -0
  329. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/tabbable.js +41 -0
  330. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/unique-id.js +54 -0
  331. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/version.js +20 -0
  332. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widget.js +761 -0
  333. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/button.js +454 -0
  334. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +294 -0
  335. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +304 -0
  336. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2240 -0
  337. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +957 -0
  338. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1264 -0
  339. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +226 -0
  340. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1281 -0
  341. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1614 -0
  342. data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +918 -0
  343. data/super-sharp-tool.gemspec +12 -0
  344. metadata +383 -0
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ class Resource
4
+ module Includes
5
+
6
+ # Return an array of includes for this resource
7
+ def includes
8
+ @includes ||= []
9
+ end
10
+
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ class Resource
4
+
5
+ module Menu
6
+
7
+ # Set the menu options.
8
+ # To disable this menu item, call `menu(false)` from the DSL
9
+ def menu_item_options=(options)
10
+ if options == false
11
+ @include_in_menu = false
12
+ @menu_item_options = {}
13
+ else
14
+ @include_in_menu = true
15
+ @navigation_menu_name = options[:menu_name]
16
+ @menu_item_options = default_menu_options.merge options
17
+ end
18
+ end
19
+
20
+ def menu_item_options
21
+ @menu_item_options ||= default_menu_options
22
+ end
23
+
24
+ def default_menu_options
25
+ # These local variables are accessible to the procs.
26
+ menu_resource_class = respond_to?(:resource_class) ? resource_class : self
27
+ resource = self
28
+ {
29
+ id: resource_name.plural,
30
+ label: proc { resource.plural_resource_label },
31
+ url: proc { resource.route_collection_path(params, url_options) },
32
+ if: proc { authorized?(Auth::READ, menu_resource_class) }
33
+ }
34
+ end
35
+
36
+ def navigation_menu_name=(menu_name)
37
+ self.menu_item_options = { menu_name: menu_name }
38
+ end
39
+
40
+ def navigation_menu_name
41
+ case @navigation_menu_name ||= DEFAULT_MENU
42
+ when Proc
43
+ controller.instance_exec(&@navigation_menu_name).to_sym
44
+ else
45
+ @navigation_menu_name
46
+ end
47
+ end
48
+
49
+ def navigation_menu
50
+ namespace.fetch_menu(navigation_menu_name)
51
+ end
52
+
53
+ def add_to_menu(menu_collection)
54
+ if include_in_menu?
55
+ @menu_item = menu_collection.add navigation_menu_name, menu_item_options
56
+ end
57
+ end
58
+
59
+ attr_reader :menu_item
60
+
61
+ # Should this resource be added to the menu system?
62
+ def include_in_menu?
63
+ @include_in_menu != false
64
+ end
65
+
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ class Model
4
+ def initialize(resource, record)
5
+ @record = record
6
+
7
+ if resource
8
+ @record.extend(resource.resource_name_extension)
9
+ end
10
+ end
11
+
12
+ def to_model
13
+ @record
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ class Resource
4
+
5
+ module Naming
6
+ def resource_name
7
+ @resource_name ||= begin
8
+ as = @options[:as].gsub /\s/, "" if @options[:as]
9
+
10
+ if as || !resource_class.respond_to?(:model_name)
11
+ Name.new resource_class, as
12
+ else
13
+ Name.new resource_class
14
+ end
15
+ end
16
+ end
17
+
18
+ # Returns the name to call this resource such as "Bank Account"
19
+ def resource_label
20
+ resource_name.translate count: 1,
21
+ default: resource_name.to_s.gsub("::", " ").titleize
22
+ end
23
+
24
+ # Returns the plural version of this resource such as "Bank Accounts"
25
+ def plural_resource_label(options = {})
26
+ defaults = { count: Helpers::I18n::PLURAL_MANY_COUNT,
27
+ default: resource_label.pluralize.titleize }
28
+ resource_name.translate defaults.merge options
29
+ end
30
+
31
+ # Forms use the model's original `param_key`, so we can't use our
32
+ # custom `resource_name` when the model's been renamed in ActiveAdmin.
33
+ def param_key
34
+ if resource_class.respond_to? :model_name
35
+ resource_class.model_name.param_key
36
+ else
37
+ resource_name.param_key
38
+ end
39
+ end
40
+ end
41
+
42
+ class Name < ActiveModel::Name
43
+ delegate :hash, to: :to_str
44
+
45
+ def initialize(klass, name = nil)
46
+ super(klass, nil, name)
47
+ end
48
+
49
+ def translate(options = {})
50
+ I18n.t i18n_key, **{ scope: [:activerecord, :models] }.merge(options)
51
+ end
52
+
53
+ def route_key
54
+ plural
55
+ end
56
+
57
+ def eql?(other)
58
+ to_str.eql?(other.to_str)
59
+ end
60
+ end
61
+
62
+ end
63
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ class Resource
4
+ module Ordering
5
+
6
+ def ordering
7
+ @ordering ||= {}.with_indifferent_access
8
+ end
9
+
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,83 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ class Resource
4
+ module PagePresenters
5
+
6
+ # for setting default css class in admin ui
7
+ def default_index_class
8
+ @default_index
9
+ end
10
+
11
+ # A hash of page configurations for the controller indexed by action name
12
+ def page_presenters
13
+ @page_presenters ||= {}
14
+ end
15
+
16
+ # Sets a page config for a given action
17
+ #
18
+ # @param [String, Symbol] action The action to store this configuration for
19
+ # @param [PagePresenter] page_presenter The instance of PagePresenter to store
20
+ def set_page_presenter(action, page_presenter)
21
+
22
+ if action.to_s == "index" && page_presenter[:as]
23
+ index_class = find_index_class(page_presenter[:as])
24
+ page_presenter_key = index_class.index_name.to_sym
25
+ set_index_presenter page_presenter_key, page_presenter
26
+ else
27
+ page_presenters[action.to_sym] = page_presenter
28
+ end
29
+
30
+ end
31
+
32
+ # Returns a stored page config
33
+ #
34
+ # @param [Symbol, String] action The action to get the config for
35
+ # @param [String] type The string specified in the presenters index_name method
36
+ # @return [PagePresenter, nil]
37
+ def get_page_presenter(action, type = nil)
38
+
39
+ if action.to_s == "index" && type && page_presenters[:index].kind_of?(Hash)
40
+ page_presenters[:index][type.to_sym]
41
+ elsif action.to_s == "index" && page_presenters[:index].kind_of?(Hash)
42
+ page_presenters[:index].default
43
+ else
44
+ page_presenters[action.to_sym]
45
+ end
46
+
47
+ end
48
+
49
+ protected
50
+
51
+ # Stores a config for all index actions supplied
52
+ #
53
+ # @param [Symbol] index_as The index type to store in the configuration
54
+ # @param [PagePresenter] page_presenter The intance of PagePresenter to store
55
+ def set_index_presenter(index_as, page_presenter)
56
+ page_presenters[:index] ||= {}
57
+
58
+ #set first index as default value or the index with default param set to to true
59
+ if page_presenters[:index].empty? || page_presenter[:default] == true
60
+ page_presenters[:index].default = page_presenter
61
+ @default_index = find_index_class(page_presenter[:as])
62
+ end
63
+
64
+ page_presenters[:index][index_as] = page_presenter
65
+ end
66
+
67
+ # Returns the actual class for renderering the main content on the index
68
+ # page. To set this, use the :as option in the page_presenter block.
69
+ #
70
+ # @param [Symbol, Class] symbol_or_class The component symbol or class
71
+ # @return [Class]
72
+ def find_index_class(symbol_or_class)
73
+ case symbol_or_class
74
+ when Symbol
75
+ ::ActiveAdmin::Views.const_get("IndexAs" + symbol_or_class.to_s.camelcase)
76
+ when Class
77
+ symbol_or_class
78
+ end
79
+ end
80
+
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+
4
+ class Resource
5
+ module Pagination
6
+
7
+ # The default number of records to display per page
8
+ attr_accessor :per_page
9
+
10
+ # The default number of records to display per page
11
+ attr_accessor :max_per_page
12
+
13
+ # Enable / disable pagination (defaults to true)
14
+ attr_accessor :paginate
15
+
16
+ def initialize(*args)
17
+ super
18
+ @paginate = true
19
+ @per_page = namespace.default_per_page
20
+ @max_per_page = namespace.max_per_page
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,146 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ class Resource
4
+ module Routes
5
+ # @param params [Hash] of params: { study_id: 3 }
6
+ # @return [String] the path to this resource collection page
7
+ # @example "/admin/posts"
8
+ def route_collection_path(params = {}, additional_params = {})
9
+ route_builder.collection_path(params, additional_params)
10
+ end
11
+
12
+ def route_batch_action_path(params = {}, additional_params = {})
13
+ route_builder.batch_action_path(params, additional_params)
14
+ end
15
+
16
+ # @param resource [ActiveRecord::Base] the instance we want the path of
17
+ # @return [String] the path to this resource collection page
18
+ # @example "/admin/posts/1"
19
+ def route_instance_path(resource, additional_params = {})
20
+ route_builder.instance_path(resource, additional_params)
21
+ end
22
+
23
+ def route_edit_instance_path(resource, additional_params = {})
24
+ route_builder.member_action_path(:edit, resource, additional_params)
25
+ end
26
+
27
+ def route_member_action_path(action, resource, additional_params = {})
28
+ route_builder.member_action_path(action, resource, additional_params)
29
+ end
30
+
31
+ # Returns the routes prefix for this config
32
+ def route_prefix
33
+ namespace.route_prefix
34
+ end
35
+
36
+ def route_builder
37
+ @route_builder ||= RouteBuilder.new(self)
38
+ end
39
+
40
+ def route_uncountable?
41
+ config = resources_configuration[:self]
42
+
43
+ config[:route_collection_name] == config[:route_instance_name]
44
+ end
45
+
46
+ class RouteBuilder
47
+ def initialize(resource)
48
+ @resource = resource
49
+ end
50
+
51
+ def collection_path(params, additional_params = {})
52
+ route_name = route_name(
53
+ resource.resources_configuration[:self][:route_collection_name],
54
+ suffix: (resource.route_uncountable? ? "index_path" : "path")
55
+ )
56
+
57
+ routes.public_send route_name, *route_collection_params(params), additional_params
58
+ end
59
+
60
+ def batch_action_path(params, additional_params = {})
61
+ route_name = route_name(
62
+ resource.resources_configuration[:self][:route_collection_name],
63
+ action: :batch_action,
64
+ suffix: (resource.route_uncountable? ? "index_path" : "path")
65
+ )
66
+
67
+ query = params.slice(:q, :scope)
68
+ query = query.permit!.to_h
69
+ routes.public_send route_name, *route_collection_params(params), additional_params.merge(query)
70
+ end
71
+
72
+ # @return [String] the path to this resource collection page
73
+ # @param instance [ActiveRecord::Base] the instance we want the path of
74
+ # @example "/admin/posts/1"
75
+ def instance_path(instance, additional_params = {})
76
+ route_name = route_name(resource.resources_configuration[:self][:route_instance_name])
77
+
78
+ routes.public_send route_name, *route_instance_params(instance), additional_params
79
+ end
80
+
81
+ # @return [String] the path to the member action of this resource
82
+ # @param action [Symbol]
83
+ # @param instance [ActiveRecord::Base] the instance we want the path of
84
+ # @example "/admin/posts/1/edit"
85
+ def member_action_path(action, instance, additional_params = {})
86
+ path = resource.resources_configuration[:self][:route_instance_name]
87
+ route_name = route_name(path, action: action)
88
+
89
+ routes.public_send route_name, *route_instance_params(instance), additional_params
90
+ end
91
+
92
+ private
93
+
94
+ attr_reader :resource
95
+
96
+ def route_name(resource_path_name, options = {})
97
+ suffix = options[:suffix] || "path"
98
+ route = []
99
+
100
+ route << options[:action] # "batch_action", "edit" or "new"
101
+ route << resource.route_prefix # "admin"
102
+ route << belongs_to_name if nested? # "category"
103
+ route << resource_path_name # "posts" or "post"
104
+ route << suffix # "path" or "index path"
105
+
106
+ route.compact.join("_").to_sym # :admin_category_posts_path
107
+ end
108
+
109
+ # @return params to pass to instance path
110
+ def route_instance_params(instance)
111
+ if nested?
112
+ [instance.public_send(belongs_to_target_name).to_param, instance.to_param]
113
+ else
114
+ instance.to_param
115
+ end
116
+ end
117
+
118
+ def route_collection_params(params)
119
+ if nested?
120
+ params[:"#{belongs_to_name}_id"]
121
+ end
122
+ end
123
+
124
+ def nested?
125
+ resource.belongs_to? && belongs_to_config.required?
126
+ end
127
+
128
+ def belongs_to_target_name
129
+ belongs_to_config.target_name
130
+ end
131
+
132
+ def belongs_to_name
133
+ belongs_to_config.target.resource_name.singular
134
+ end
135
+
136
+ def belongs_to_config
137
+ resource.belongs_to_config
138
+ end
139
+
140
+ def routes
141
+ Helpers::Routes
142
+ end
143
+ end
144
+ end
145
+ end
146
+ end
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ class Resource
4
+ module ScopeTo
5
+
6
+ # Scope this controller to some object which has a relation
7
+ # to the resource. Can either accept a block or a symbol
8
+ # of a method to call.
9
+ #
10
+ # Eg:
11
+ #
12
+ # ActiveAdmin.register Post do
13
+ # scope_to :current_user
14
+ # end
15
+ #
16
+ # Then every time we instantiate and object, it would call
17
+ #
18
+ # current_user.posts.build
19
+ #
20
+ # By default Active Admin will use the resource name to build a
21
+ # method to call as the association. If its different, you can
22
+ # pass in the association_method as an option.
23
+ #
24
+ # scope_to :current_user, association_method: :blog_posts
25
+ #
26
+ # will result in the following
27
+ #
28
+ # current_user.blog_posts.build
29
+ #
30
+ # To conditionally use this scope, you can use conditional procs
31
+ #
32
+ # scope_to :current_user, if: proc{ admin_user_signed_in? }
33
+ #
34
+ # or
35
+ #
36
+ # scope_to :current_user, unless: proc{ current_user.admin? }
37
+ #
38
+ def scope_to(*args, &block)
39
+ options = args.extract_options!
40
+ method = args.first
41
+
42
+ scope_to_config[:method] = block || method
43
+ scope_to_config[:association_method] = options[:association_method]
44
+ scope_to_config[:if] = options[:if]
45
+ scope_to_config[:unless] = options[:unless]
46
+
47
+ end
48
+
49
+ def scope_to_association_method
50
+ scope_to_config[:association_method]
51
+ end
52
+
53
+ def scope_to_method
54
+ scope_to_config[:method]
55
+ end
56
+
57
+ def scope_to_config
58
+ @scope_to_config ||= {
59
+ method: nil,
60
+ association_method: nil,
61
+ if: nil,
62
+ unless: nil
63
+ }
64
+ end
65
+
66
+ def scope_to?(context = nil)
67
+ return false if scope_to_method.nil?
68
+ return render_in_context(context, scope_to_config[:if]) unless scope_to_config[:if].nil?
69
+ return !render_in_context(context, scope_to_config[:unless]) unless scope_to_config[:unless].nil?
70
+ true
71
+ end
72
+
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ class Resource
4
+ module Scopes
5
+
6
+ # Return an array of scopes for this resource
7
+ def scopes
8
+ @scopes ||= []
9
+ end
10
+
11
+ # Returns a scope for this object by its identifier
12
+ def get_scope_by_id(id)
13
+ id = id.to_s
14
+ scopes.find { |s| s.id == id }
15
+ end
16
+
17
+ def default_scope(context = nil)
18
+ scopes.detect do |scope|
19
+ if scope.default_block.is_a?(Proc)
20
+ render_in_context(context, scope.default_block)
21
+ else
22
+ scope.default_block
23
+ end
24
+ end
25
+ end
26
+
27
+ # Create a new scope object for this resource.
28
+ # If you want to internationalize the scope name, you can add
29
+ # to your i18n files a key like "active_admin.scopes.scope_method".
30
+ def scope(*args, &block)
31
+ default_options = { show_count: namespace.scopes_show_count }
32
+ options = default_options.merge(args.extract_options!)
33
+ title = args[0] rescue nil
34
+ method = args[1] rescue nil
35
+
36
+ options[:localizer] ||= ActiveAdmin::Localizers.resource(self)
37
+ scope = ActiveAdmin::Scope.new(title, method, options, &block)
38
+
39
+ # Finds and replaces a scope by the same name if it already exists
40
+ existing_scope_index = scopes.index { |existing_scope| existing_scope.id == scope.id }
41
+ if existing_scope_index
42
+ scopes.delete_at(existing_scope_index)
43
+ scopes.insert(existing_scope_index, scope)
44
+ else
45
+ self.scopes << scope
46
+ end
47
+
48
+ scope
49
+ end
50
+
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+ require "active_admin/helpers/optional_display"
3
+
4
+ module ActiveAdmin
5
+
6
+ class Resource
7
+ module Sidebars
8
+
9
+ def sidebar_sections
10
+ @sidebar_sections ||= []
11
+ end
12
+
13
+ def clear_sidebar_sections!
14
+ @sidebar_sections = []
15
+ end
16
+
17
+ def sidebar_sections_for(action, render_context = nil)
18
+ sidebar_sections.select { |section| section.display_on?(action, render_context) }
19
+ .sort_by(&:priority)
20
+ end
21
+
22
+ def sidebar_sections?
23
+ !!@sidebar_sections && @sidebar_sections.any?
24
+ end
25
+
26
+ end
27
+ end
28
+
29
+ end