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,20 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+
4
+ class SettingsNode
5
+ class << self
6
+ # Never instantiated. Variables are stored in the singleton_class.
7
+ private_class_method :new
8
+
9
+ # @return anonymous class with same accessors as the superclass.
10
+ def build(superclass = self)
11
+ Class.new(superclass)
12
+ end
13
+
14
+ def register(name, value)
15
+ class_attribute name
16
+ send "#{name}=", value
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+
4
+ class SidebarSection
5
+ include ActiveAdmin::OptionalDisplay
6
+
7
+ attr_accessor :name, :options, :block
8
+
9
+ def initialize(name, options = {}, &block)
10
+ @name = name.to_s
11
+ @options = options
12
+ @block = block
13
+ normalize_display_options!
14
+ end
15
+
16
+ # The id gets used for the div in the view
17
+ def id
18
+ "#{name.downcase.underscore}_sidebar_section".parameterize
19
+ end
20
+
21
+ # The title gets displayed within the section in the view
22
+ def title
23
+ I18n.t("active_admin.sidebars.#{name}", default: name.titlecase)
24
+ end
25
+
26
+ # If a block is not passed in, the name of the partial to render
27
+ def partial_name
28
+ options[:partial] || "#{name.downcase.tr(' ', '_')}_sidebar"
29
+ end
30
+
31
+ def custom_class
32
+ options[:class]
33
+ end
34
+
35
+ def priority
36
+ options[:priority] || 10
37
+ end
38
+ end
39
+
40
+ end
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ VERSION = "3.5.1"
4
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+ require "active_admin/abstract_view_factory"
3
+
4
+ module ActiveAdmin
5
+ class ViewFactory < AbstractViewFactory
6
+
7
+ # Register Helper Renderers
8
+ register global_navigation: ActiveAdmin::Views::TabbedNavigation,
9
+ utility_navigation: ActiveAdmin::Views::TabbedNavigation,
10
+ site_title: ActiveAdmin::Views::SiteTitle,
11
+ unsupported_browser: ActiveAdmin::Views::UnsupportedBrowser,
12
+ action_items: ActiveAdmin::Views::ActionItems,
13
+ title_bar: ActiveAdmin::Views::TitleBar,
14
+ header: ActiveAdmin::Views::Header,
15
+ footer: ActiveAdmin::Views::Footer,
16
+ index_scopes: ActiveAdmin::Views::Scopes,
17
+ blank_slate: ActiveAdmin::Views::BlankSlate
18
+
19
+ # Register All The Pages
20
+ register index_page: ActiveAdmin::Views::Pages::Index,
21
+ show_page: ActiveAdmin::Views::Pages::Show,
22
+ new_page: ActiveAdmin::Views::Pages::Form,
23
+ edit_page: ActiveAdmin::Views::Pages::Form,
24
+ layout: ActiveAdmin::Views::Pages::Layout,
25
+ page: ActiveAdmin::Views::Pages::Page
26
+
27
+ end
28
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module ViewHelpers
4
+ module ActiveAdminApplicationHelper
5
+
6
+ # Returns the current Active Admin application instance
7
+ def active_admin_application
8
+ ActiveAdmin.application
9
+ end
10
+
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module ViewHelpers
4
+ module AutoLinkHelper
5
+
6
+ # Automatically links objects to their resource controllers. If
7
+ # the resource has not been registered, a string representation of
8
+ # the object is returned.
9
+ #
10
+ # The default content in the link is returned from ActiveAdmin::ViewHelpers::DisplayHelper#display_name
11
+ #
12
+ # You can pass in the content to display
13
+ # eg: auto_link(@post, "My Link")
14
+ #
15
+ def auto_link(resource, content = display_name(resource))
16
+ if url = auto_url_for(resource)
17
+ link_to content, url
18
+ else
19
+ content
20
+ end
21
+ end
22
+
23
+ # Like `auto_link`, except that it only returns a URL instead of a full <a> tag
24
+ def auto_url_for(resource)
25
+ config = active_admin_resource_for(resource.class)
26
+ return unless config
27
+
28
+ if config.controller.action_methods.include?("show") &&
29
+ authorized?(ActiveAdmin::Auth::READ, resource)
30
+ url_for config.route_instance_path resource, url_options
31
+ elsif config.controller.action_methods.include?("edit") &&
32
+ authorized?(ActiveAdmin::Auth::EDIT, resource)
33
+ url_for config.route_edit_instance_path resource, url_options
34
+ end
35
+ end
36
+
37
+ # Returns the ActiveAdmin::Resource instance for a class
38
+ def active_admin_resource_for(klass)
39
+ if respond_to? :active_admin_namespace
40
+ active_admin_namespace.resource_for klass
41
+ end
42
+ end
43
+
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module ViewHelpers
4
+ module BreadcrumbHelper
5
+
6
+ # Returns an array of links to use in a breadcrumb
7
+ def breadcrumb_links(path = request.path)
8
+ # remove leading "/" and split up the URL
9
+ # and remove last since it's used as the page title
10
+ parts = path.split("/").select(&:present?)[0..-2]
11
+
12
+ parts.each_with_index.map do |part, index|
13
+ # 1. try using `display_name` if we can locate a DB object
14
+ # 2. try using the model name translation
15
+ # 3. default to calling `titlecase` on the URL fragment
16
+ if part =~ /\A(\d+|[a-f0-9]{24}|(?:[a-f0-9]{8}-(?:[a-f0-9]{4}-){3}[a-f0-9]{12}))\z/ && parts[index - 1]
17
+ parent = active_admin_config.belongs_to_config.try :target
18
+ config = parent && parent.resource_name.route_key == parts[index - 1] ? parent : active_admin_config
19
+ name = display_name config.find_resource part
20
+ end
21
+ name ||= I18n.t "activerecord.models.#{part.singularize}", count: ::ActiveAdmin::Helpers::I18n::PLURAL_MANY_COUNT, default: part.titlecase
22
+
23
+ # Don't create a link if the resource's show action is disabled
24
+ if !config || config.defined_actions.include?(:show)
25
+ link_to name, "/" + parts[0..index].join("/")
26
+ else
27
+ name
28
+ end
29
+ end
30
+ end
31
+
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,119 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module ViewHelpers
4
+ module DisplayHelper
5
+
6
+ DISPLAY_NAME_FALLBACK = -> {
7
+ klass = self.class
8
+ name = if klass.respond_to?(:model_name)
9
+ if klass.respond_to?(:primary_key)
10
+ "#{klass.model_name.human} ##{send(klass.primary_key)}"
11
+ else
12
+ klass.model_name.human
13
+ end
14
+ elsif klass.respond_to?(:primary_key)
15
+ " ##{send(klass.primary_key)}"
16
+ end
17
+ name.present? ? name : to_s
18
+ }
19
+
20
+ def DISPLAY_NAME_FALLBACK.inspect
21
+ "DISPLAY_NAME_FALLBACK"
22
+ end
23
+
24
+ # Attempts to call any known display name methods on the resource.
25
+ # See the setting in `application.rb` for the list of methods and their priority.
26
+ def display_name(resource)
27
+ unless resource.nil?
28
+ result = render_in_context(resource, display_name_method_for(resource))
29
+ if result.to_s&.strip&.present?
30
+ ERB::Util.html_escape(result)
31
+ else
32
+ ERB::Util.html_escape(render_in_context(resource, DISPLAY_NAME_FALLBACK))
33
+ end
34
+ end
35
+ end
36
+
37
+ # Looks up and caches the first available display name method.
38
+ # To prevent conflicts, we exclude any methods that happen to be associations.
39
+ # If no methods are available and we're about to use the Kernel's `to_s`, provide our own.
40
+ def display_name_method_for(resource)
41
+ @@display_name_methods_cache ||= {}
42
+ @@display_name_methods_cache[resource.class] ||= begin
43
+ methods = active_admin_application.display_name_methods - association_methods_for(resource)
44
+ method = methods.detect { |method| resource.respond_to? method }
45
+
46
+ if method != :to_s || resource.method(method).source_location
47
+ method
48
+ else
49
+ DISPLAY_NAME_FALLBACK
50
+ end
51
+ end
52
+ end
53
+
54
+ def association_methods_for(resource)
55
+ return [] unless resource.class.respond_to? :reflect_on_all_associations
56
+ resource.class.reflect_on_all_associations.map(&:name)
57
+ end
58
+
59
+ def format_attribute(resource, attr)
60
+ value = find_value resource, attr
61
+
62
+ if value.is_a?(Arbre::Element)
63
+ value
64
+ elsif boolean_attr?(resource, attr, value)
65
+ Arbre::Context.new { status_tag value }
66
+ else
67
+ pretty_format value
68
+ end
69
+ end
70
+
71
+ def find_value(resource, attr)
72
+ if attr.is_a? Proc
73
+ attr.call resource
74
+ elsif resource.respond_to? attr
75
+ resource.public_send attr
76
+ elsif resource.respond_to? :[]
77
+ resource[attr]
78
+ end
79
+ end
80
+
81
+ # Attempts to create a human-readable string for any object
82
+ def pretty_format(object)
83
+ case object
84
+ when String, Numeric, Symbol, Arbre::Element
85
+ object.to_s
86
+ when Date, Time
87
+ I18n.localize object, format: active_admin_application.localize_format
88
+ when Array
89
+ format_collection(object)
90
+ else
91
+ if defined?(::ActiveRecord) && object.is_a?(ActiveRecord::Base) ||
92
+ defined?(::Mongoid) && object.class.include?(Mongoid::Document)
93
+ auto_link object
94
+ elsif defined?(::ActiveRecord) && object.is_a?(ActiveRecord::Relation)
95
+ format_collection(object)
96
+ else
97
+ display_name object
98
+ end
99
+ end
100
+ end
101
+
102
+ def format_collection(collection)
103
+ safe_join(collection.map { |item| pretty_format(item) }, ", ")
104
+ end
105
+
106
+ def boolean_attr?(resource, attr, value)
107
+ case value
108
+ when TrueClass, FalseClass
109
+ true
110
+ else
111
+ if resource.class.respond_to? :attribute_types
112
+ resource.class.attribute_types[attr.to_s].is_a?(ActiveModel::Type::Boolean)
113
+ end
114
+ end
115
+ end
116
+
117
+ end
118
+ end
119
+ end
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module ViewHelpers
4
+ module DownloadFormatLinksHelper
5
+ private
6
+
7
+ def build_download_formats(download_links)
8
+ download_links = instance_exec(&download_links) if download_links.is_a?(Proc)
9
+
10
+ if download_links.is_a?(Array) && !download_links.empty?
11
+ download_links
12
+ elsif download_links == false
13
+ []
14
+ else
15
+ self.class.formats
16
+ end
17
+ end
18
+
19
+ def build_download_format_links(formats = self.class.formats)
20
+ params = request.query_parameters.except :format, :commit
21
+ div class: "download_links" do
22
+ span I18n.t("active_admin.download")
23
+ formats.each do |format|
24
+ a format.upcase, href: url_for(params: params, format: format)
25
+ end
26
+ end
27
+ end
28
+
29
+ def self.included base
30
+ base.extend ClassMethods
31
+ end
32
+
33
+ module ClassMethods
34
+
35
+ # A ready only of formats to make available in index/paginated
36
+ # collection view.
37
+ # @return [Array]
38
+ # @see add_format for information on adding custom download link
39
+ # formats
40
+ def formats
41
+ @formats ||= [:csv, :xml, :json]
42
+ @formats.clone
43
+ end
44
+
45
+ # Adds a mime type to the list of available formats available for data
46
+ # export. You must register the extension prior to adding it here.
47
+ # @param [Symbol] format the mime type to add
48
+ # @return [Array] A copy of the updated formats array.
49
+ def add_format(format)
50
+ unless Mime::Type.lookup_by_extension format
51
+ raise ArgumentError, "Please register the #{format} mime type with `Mime::Type.register`"
52
+ end
53
+ @formats << format unless formats.include? format
54
+ formats
55
+ end
56
+ end
57
+
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module ViewHelpers
4
+ module FormHelper
5
+
6
+ # Flatten a params Hash to an array of fields.
7
+ #
8
+ # @param params [Hash]
9
+ # @param options [Hash] :namespace and :except
10
+ #
11
+ # @return [Array] of [Hash] with one element.
12
+ #
13
+ # @example
14
+ # fields_for_params(scope: "all", users: ["greg"])
15
+ # => [ {"scope" => "all"} , {"users[]" => "greg"} ]
16
+ #
17
+ def fields_for_params(params, options = {})
18
+ namespace = options[:namespace]
19
+ except = Array.wrap(options[:except]).map &:to_s
20
+
21
+ params.flat_map do |k, v|
22
+ next if namespace.nil? && %w(controller action commit utf8).include?(k.to_s)
23
+ next if except.include?(k.to_s)
24
+
25
+ if namespace
26
+ k = "#{namespace}[#{k}]"
27
+ end
28
+
29
+ case v
30
+ when String
31
+ { k => v }
32
+ when Symbol
33
+ { k => v.to_s }
34
+ when Hash
35
+ fields_for_params(v, namespace: k)
36
+ when Array
37
+ v.map do |v|
38
+ { "#{k}[]" => v }
39
+ end
40
+ when nil
41
+ { k => "" }
42
+ when TrueClass, FalseClass
43
+ { k => v }
44
+ else
45
+ raise "I don't know what to do with #{v.class} params: #{v.inspect}"
46
+ end
47
+ end.compact
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module ViewHelpers
4
+ module FlashHelper
5
+
6
+ # Returns all the flash keys to display in any Active Admin view.
7
+ # This method removes the :timedout key that Devise uses by default.
8
+ # Note Rails >= 4.1 normalizes keys to strings automatically.
9
+ def flash_messages
10
+ @flash_messages ||= flash.to_hash.with_indifferent_access.except(*active_admin_application.flash_keys_to_except)
11
+ end
12
+
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module ViewHelpers
4
+ module FormHelper
5
+
6
+ def active_admin_form_for(resource, options = {}, &block)
7
+ Arbre::Context.new({}, self) do
8
+ active_admin_form_for resource, options, &block
9
+ end.content
10
+ end
11
+
12
+ def hidden_field_tags_for(params, options = {})
13
+ fields_for_params(params.to_unsafe_hash, options).map do |kv|
14
+ k, v = kv.first
15
+ hidden_field_tag k, v, id: sanitize_to_id("hidden_active_admin_#{k}")
16
+ end.join("\n").html_safe
17
+ end
18
+
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,101 @@
1
+ # frozen_string_literal: true
2
+ # Utility methods for internal use.
3
+ # @private
4
+ module MethodOrProcHelper
5
+ extend self
6
+
7
+ # This method will either call the symbol on self or instance_exec the Proc
8
+ # within self. Any args will be passed along to the method dispatch.
9
+ #
10
+ # Calling with a Symbol:
11
+ #
12
+ # call_method_or_exec_proc(:to_s) #=> will call #to_s
13
+ #
14
+ # Calling with a Proc
15
+ #
16
+ # my_proc = Proc.new{ to_s }
17
+ # call_method_or_exec_proc(my_proc) #=> will instance_exec in self
18
+ #
19
+ def call_method_or_exec_proc(symbol_or_proc, *args)
20
+ case symbol_or_proc
21
+ when Symbol, String
22
+ send(symbol_or_proc, *args)
23
+ when Proc
24
+ instance_exec(*args, &symbol_or_proc)
25
+ else
26
+ symbol_or_proc
27
+ end
28
+ end
29
+
30
+ # Many times throughout the views we want to either call a method on an object
31
+ # or instance_exec a proc passing in the object as the first parameter. This
32
+ # method wraps that pattern.
33
+ #
34
+ # Calling with a String or Symbol:
35
+ #
36
+ # call_method_or_proc_on(@my_obj, :size) same as @my_obj.size
37
+ #
38
+ # Calling with a Proc:
39
+ #
40
+ # proc = Proc.new{|s| s.size }
41
+ # call_method_or_proc_on(@my_obj, proc)
42
+ #
43
+ # By default, the Proc will be instance_exec'd within self. If you would rather
44
+ # not instance exec, but just call the Proc, then pass along `exec: false` in
45
+ # the options hash.
46
+ #
47
+ # proc = Proc.new{|s| s.size }
48
+ # call_method_or_proc_on(@my_obj, proc, exec: false)
49
+ #
50
+ # You can pass along any necessary arguments to the method / Proc as arguments. For
51
+ # example:
52
+ #
53
+ # call_method_or_proc_on(@my_obj, :find, 1) #=> @my_obj.find(1)
54
+ #
55
+ def call_method_or_proc_on(receiver, *args)
56
+ options = { exec: true }.merge(args.extract_options!)
57
+
58
+ symbol_or_proc = args.shift
59
+
60
+ case symbol_or_proc
61
+ when Symbol, String
62
+ receiver.public_send symbol_or_proc.to_sym, *args
63
+ when Proc
64
+ if options[:exec]
65
+ instance_exec(receiver, *args, &symbol_or_proc)
66
+ else
67
+ symbol_or_proc.call(receiver, *args)
68
+ end
69
+ else
70
+ symbol_or_proc
71
+ end
72
+ end
73
+
74
+ # Many configuration options (Ex: site_title, title_image) could either be
75
+ # static (String), methods (Symbol) or procs (Proc). This helper takes care of
76
+ # returning the content when String or call call_method_or_proc_on when Symbol or Proc.
77
+ #
78
+ def render_or_call_method_or_proc_on(obj, string_symbol_or_proc, options = {})
79
+ case string_symbol_or_proc
80
+ when Symbol, Proc
81
+ call_method_or_proc_on(obj, string_symbol_or_proc, options)
82
+ else
83
+ string_symbol_or_proc
84
+ end
85
+ end
86
+
87
+ # This method is different from the others in that it calls `instance_exec` on the receiver,
88
+ # passing it the proc. This evaluates the proc in the context of the receiver, thus changing
89
+ # what `self` means inside the proc.
90
+ def render_in_context(context, obj, *args)
91
+ context = self if context.nil? # default to `self` only when nil
92
+ case obj
93
+ when Proc
94
+ context.instance_exec *args, &obj
95
+ when Symbol
96
+ context.public_send obj, *args
97
+ else
98
+ obj
99
+ end
100
+ end
101
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module ViewHelpers
4
+ module ScopeNameHelper
5
+
6
+ def scope_name(scope)
7
+ case scope.name
8
+ when Proc then
9
+ self.instance_exec(&scope.name).to_s
10
+ else
11
+ scope.name.to_s
12
+ end
13
+ end
14
+
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module ViewHelpers
4
+ module SidebarHelper
5
+
6
+ def skip_sidebar!
7
+ @skip_sidebar = true
8
+ end
9
+
10
+ def skip_sidebar?
11
+ @skip_sidebar == true
12
+ end
13
+
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module ViewHelpers
4
+ module TitleHelper
5
+
6
+ def title(_title)
7
+ @page_title = _title
8
+ end
9
+
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module ViewHelpers
4
+ module ViewFactoryHelper
5
+
6
+ def view_factory
7
+ active_admin_namespace.view_factory
8
+ end
9
+
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module ViewHelpers
4
+
5
+ # Require all ruby files in the view helpers dir
6
+ Dir[File.expand_path("view_helpers", __dir__) + "/*.rb"].each { |f| require f }
7
+
8
+ include ActiveAdminApplicationHelper
9
+ include AutoLinkHelper
10
+ include BreadcrumbHelper
11
+ include DisplayHelper
12
+ include MethodOrProcHelper
13
+ include SidebarHelper
14
+ include FormHelper
15
+ include TitleHelper
16
+ include ViewFactoryHelper
17
+ include FlashHelper
18
+ include ScopeNameHelper
19
+
20
+ end
21
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module Views
4
+
5
+ class ActionItems < ActiveAdmin::Component
6
+
7
+ def build(action_items)
8
+ action_items.each do |action_item|
9
+ span class: action_item.html_class do
10
+ instance_exec(&action_item.block)
11
+ end
12
+ end
13
+ end
14
+
15
+ end
16
+
17
+ end
18
+ end