activeadmin 1.1.0 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of activeadmin might be problematic. Click here for more details.

Files changed (465) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +469 -100
  3. data/CODE_OF_CONDUCT.md +64 -12
  4. data/CONTRIBUTING.md +89 -47
  5. data/README.md +73 -19
  6. data/app/assets/javascripts/active_admin/base.es6 +23 -0
  7. data/app/assets/javascripts/active_admin/ext/jquery-ui.es6 +7 -0
  8. data/app/assets/javascripts/active_admin/ext/jquery.es6 +9 -0
  9. data/app/assets/javascripts/active_admin/initializers/datepicker.es6 +16 -0
  10. data/app/assets/javascripts/active_admin/initializers/filters.es6 +45 -0
  11. data/app/assets/javascripts/active_admin/initializers/tabs.es6 +6 -0
  12. data/app/assets/javascripts/active_admin/lib/active_admin.es6 +41 -0
  13. data/app/assets/javascripts/active_admin/lib/batch_actions.es6 +59 -0
  14. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.es6 +49 -0
  15. data/app/assets/javascripts/active_admin/lib/dropdown-menu.es6 +123 -0
  16. data/app/assets/javascripts/active_admin/lib/has_many.es6 +95 -0
  17. data/app/assets/javascripts/active_admin/lib/modal_dialog.es6 +61 -0
  18. data/app/assets/javascripts/active_admin/lib/per_page.es6 +47 -0
  19. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.es6 +36 -0
  20. data/app/assets/stylesheets/active_admin/_forms.scss +3 -15
  21. data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
  22. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -5
  23. data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
  24. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
  25. data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
  26. data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
  27. data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
  28. data/app/views/active_admin/devise/registrations/new.html.erb +2 -3
  29. data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
  30. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  31. data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
  32. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  33. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  34. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  35. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  36. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  37. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  38. data/app/views/layouts/active_admin_logged_out.html.erb +2 -2
  39. data/config/locales/ar.yml +3 -2
  40. data/config/locales/bg.yml +1 -1
  41. data/config/locales/bs.yml +1 -0
  42. data/config/locales/ca.yml +1 -1
  43. data/config/locales/cs.yml +1 -0
  44. data/config/locales/da.yml +1 -0
  45. data/config/locales/de-CH.yml +1 -0
  46. data/config/locales/de.yml +29 -0
  47. data/config/locales/el.yml +1 -0
  48. data/config/locales/en-CA.yml +1 -0
  49. data/config/locales/en-GB.yml +1 -0
  50. data/config/locales/en.yml +21 -1
  51. data/config/locales/eo.yml +145 -0
  52. data/config/locales/es-MX.yml +1 -0
  53. data/config/locales/es.yml +21 -1
  54. data/config/locales/fa.yml +1 -0
  55. data/config/locales/fi.yml +2 -1
  56. data/config/locales/fr.yml +2 -1
  57. data/config/locales/he.yml +1 -1
  58. data/config/locales/hr.yml +1 -0
  59. data/config/locales/hu.yml +5 -0
  60. data/config/locales/id.yml +1 -0
  61. data/config/locales/it.yml +13 -3
  62. data/config/locales/ja.yml +6 -0
  63. data/config/locales/ko.yml +1 -0
  64. data/config/locales/lt.yml +3 -2
  65. data/config/locales/lv.yml +1 -0
  66. data/config/locales/mk.yml +134 -0
  67. data/config/locales/nb.yml +16 -5
  68. data/config/locales/nl.yml +12 -0
  69. data/config/locales/pl.yml +72 -3
  70. data/config/locales/pt-BR.yml +9 -0
  71. data/config/locales/pt-PT.yml +1 -0
  72. data/config/locales/ro.yml +1 -0
  73. data/config/locales/ru.yml +3 -0
  74. data/config/locales/sk.yml +60 -0
  75. data/config/locales/sv-SE.yml +3 -0
  76. data/config/locales/tr.yml +10 -0
  77. data/config/locales/uk.yml +3 -0
  78. data/config/locales/vi.yml +48 -6
  79. data/config/locales/zh-CN.yml +34 -5
  80. data/config/locales/zh-TW.yml +1 -0
  81. data/docs/.gitignore +1 -0
  82. data/docs/0-installation.md +2 -2
  83. data/docs/1-general-configuration.md +16 -1
  84. data/docs/10-custom-pages.md +14 -0
  85. data/docs/12-arbre-components.md +41 -1
  86. data/docs/13-authorization-adapter.md +41 -22
  87. data/docs/2-resource-customization.md +10 -5
  88. data/docs/3-index-pages/custom-index.md +1 -1
  89. data/docs/3-index-pages/index-as-blog.md +1 -1
  90. data/docs/3-index-pages/index-as-table.md +12 -5
  91. data/docs/3-index-pages.md +17 -0
  92. data/docs/5-forms.md +16 -2
  93. data/docs/8-custom-actions.md +11 -0
  94. data/docs/CNAME +1 -1
  95. data/docs/Gemfile +2 -1
  96. data/docs/Gemfile.lock +248 -0
  97. data/docs/_config.yml +3 -1
  98. data/docs/_includes/toc.html +1 -1
  99. data/docs/_includes/top-menu.html +9 -1
  100. data/docs/documentation.md +1 -1
  101. data/docs/images/tidelift.svg +14 -0
  102. data/docs/index.html +109 -8
  103. data/docs/stylesheets/main.css +55 -2
  104. data/lib/active_admin/abstract_view_factory.rb +13 -51
  105. data/lib/active_admin/application.rb +52 -159
  106. data/lib/active_admin/application_settings.rb +42 -0
  107. data/lib/active_admin/asset_registration.rb +0 -8
  108. data/lib/active_admin/base_controller/authorization.rb +4 -6
  109. data/lib/active_admin/base_controller.rb +6 -6
  110. data/lib/active_admin/batch_actions/controller.rb +2 -2
  111. data/lib/active_admin/batch_actions/resource_extension.rb +9 -5
  112. data/lib/active_admin/callbacks.rb +1 -1
  113. data/lib/active_admin/controller_action.rb +2 -1
  114. data/lib/active_admin/csv_builder.rb +10 -7
  115. data/lib/active_admin/dependency.rb +3 -67
  116. data/lib/active_admin/deprecation.rb +0 -25
  117. data/lib/active_admin/dsl.rb +1 -8
  118. data/lib/active_admin/dynamic_setting.rb +38 -0
  119. data/lib/active_admin/dynamic_settings_node.rb +28 -0
  120. data/lib/active_admin/engine.rb +5 -0
  121. data/lib/active_admin/error.rb +4 -2
  122. data/lib/active_admin/filters/active_filter.rb +49 -12
  123. data/lib/active_admin/filters/active_sidebar.rb +6 -2
  124. data/lib/active_admin/filters/forms.rb +7 -4
  125. data/lib/active_admin/filters/formtastic_addons.rb +1 -1
  126. data/lib/active_admin/filters/resource_extension.rb +28 -4
  127. data/lib/active_admin/form_builder.rb +98 -63
  128. data/lib/active_admin/generators/boilerplate.rb +12 -4
  129. data/lib/active_admin/helpers/scope_chain.rb +1 -0
  130. data/lib/active_admin/inputs/datepicker_input.rb +8 -1
  131. data/lib/active_admin/inputs/filters/base/search_method_select.rb +2 -2
  132. data/lib/active_admin/inputs/filters/select_input.rb +5 -1
  133. data/lib/active_admin/menu.rb +2 -8
  134. data/lib/active_admin/menu_item.rb +4 -32
  135. data/lib/active_admin/namespace.rb +20 -8
  136. data/lib/active_admin/namespace_settings.rb +123 -0
  137. data/lib/active_admin/order_clause.rb +2 -2
  138. data/lib/active_admin/orm/active_record/comments/comment.rb +2 -2
  139. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +17 -7
  140. data/lib/active_admin/orm/active_record/comments.rb +15 -4
  141. data/lib/active_admin/page_dsl.rb +1 -1
  142. data/lib/active_admin/page_presenter.rb +2 -1
  143. data/lib/active_admin/pundit_adapter.rb +18 -5
  144. data/lib/active_admin/resource/action_items.rb +7 -2
  145. data/lib/active_admin/resource/attributes.rb +7 -4
  146. data/lib/active_admin/resource/belongs_to.rb +6 -1
  147. data/lib/active_admin/resource/menu.rb +3 -3
  148. data/lib/active_admin/resource/model.rb +15 -0
  149. data/lib/active_admin/resource/naming.rb +3 -3
  150. data/lib/active_admin/resource/routes.rb +20 -7
  151. data/lib/active_admin/resource/scopes.rb +3 -3
  152. data/lib/active_admin/resource/sidebars.rb +1 -1
  153. data/lib/active_admin/resource.rb +17 -3
  154. data/lib/active_admin/resource_collection.rb +2 -2
  155. data/lib/active_admin/resource_controller/action_builder.rb +10 -0
  156. data/lib/active_admin/resource_controller/data_access.rb +5 -1
  157. data/lib/active_admin/resource_controller/decorators.rb +5 -5
  158. data/lib/active_admin/resource_controller/polymorphic_routes.rb +36 -0
  159. data/lib/active_admin/resource_controller/resource_class_methods.rb +2 -0
  160. data/lib/active_admin/resource_controller/scoping.rb +1 -1
  161. data/lib/active_admin/resource_controller.rb +2 -0
  162. data/lib/active_admin/resource_dsl.rb +7 -3
  163. data/lib/active_admin/router.rb +90 -84
  164. data/lib/active_admin/scope.rb +16 -8
  165. data/lib/active_admin/settings_node.rb +19 -0
  166. data/lib/active_admin/sidebar_section.rb +3 -1
  167. data/lib/active_admin/version.rb +1 -1
  168. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +2 -2
  169. data/lib/active_admin/view_helpers/display_helper.rb +13 -4
  170. data/lib/active_admin/view_helpers/download_format_links_helper.rb +1 -0
  171. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +3 -0
  172. data/lib/active_admin/view_helpers.rb +1 -1
  173. data/lib/active_admin/views/components/active_admin_form.rb +9 -4
  174. data/lib/active_admin/views/components/attributes_table.rb +3 -3
  175. data/lib/active_admin/views/components/menu.rb +32 -0
  176. data/lib/active_admin/views/components/menu_item.rb +58 -0
  177. data/lib/active_admin/views/components/paginated_collection.rb +3 -3
  178. data/lib/active_admin/views/components/scopes.rb +11 -4
  179. data/lib/active_admin/views/components/sidebar.rb +13 -0
  180. data/lib/active_admin/views/components/site_title.rb +5 -6
  181. data/lib/active_admin/views/components/status_tag.rb +6 -19
  182. data/lib/active_admin/views/components/table_for.rb +3 -12
  183. data/lib/active_admin/views/components/tabs.rb +15 -3
  184. data/lib/active_admin/views/footer.rb +3 -7
  185. data/lib/active_admin/views/header.rb +3 -15
  186. data/lib/active_admin/views/index_as_blog.rb +1 -1
  187. data/lib/active_admin/views/index_as_grid.rb +25 -25
  188. data/lib/active_admin/views/index_as_table.rb +18 -10
  189. data/lib/active_admin/views/pages/base.rb +30 -53
  190. data/lib/active_admin/views/tabbed_navigation.rb +4 -59
  191. data/lib/active_admin/views.rb +1 -1
  192. data/lib/active_admin.rb +10 -4
  193. data/lib/generators/active_admin/assets/assets_generator.rb +2 -2
  194. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  195. data/lib/generators/active_admin/install/install_generator.rb +7 -3
  196. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +38 -3
  197. data/lib/generators/active_admin/install/templates/dashboard.rb +2 -3
  198. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
  199. data/lib/generators/active_admin/page/page_generator.rb +1 -1
  200. data/lib/generators/active_admin/resource/resource_generator.rb +2 -2
  201. data/lib/generators/active_admin/resource/templates/admin.rb.erb +40 -37
  202. data/lib/ransack_ext.rb +3 -3
  203. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  204. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  205. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  206. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +274 -283
  207. metadata +127 -523
  208. data/.github/ISSUE_TEMPLATE.md +0 -20
  209. data/.gitignore +0 -49
  210. data/.mdlrc +0 -1
  211. data/.rubocop.yml +0 -76
  212. data/.simplecov +0 -13
  213. data/.travis.yml +0 -51
  214. data/.yardopts +0 -7
  215. data/Gemfile +0 -58
  216. data/Rakefile +0 -54
  217. data/activeadmin.gemspec +0 -32
  218. data/app/assets/javascripts/active_admin/base.js.coffee +0 -13
  219. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  220. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  221. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -11
  222. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -14
  223. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -26
  224. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -7
  225. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -42
  226. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -46
  227. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -104
  228. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  229. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  230. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
  231. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -46
  232. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -22
  233. data/codecov.yml +0 -25
  234. data/config/i18n-tasks.yml +0 -26
  235. data/config/mdl_style.rb +0 -9
  236. data/cucumber.yml +0 -3
  237. data/features/action_item.feature +0 -73
  238. data/features/authorization.feature +0 -64
  239. data/features/authorization_cancan.feature +0 -52
  240. data/features/authorization_pundit.feature +0 -37
  241. data/features/belongs_to.feature +0 -124
  242. data/features/breadcrumb.feature +0 -75
  243. data/features/comments/commenting.feature +0 -178
  244. data/features/comments/viewing_index.feature +0 -19
  245. data/features/create_another.feature +0 -55
  246. data/features/dashboard.feature +0 -16
  247. data/features/decorators.feature +0 -43
  248. data/features/development_reloading.feature +0 -28
  249. data/features/edit_page.feature +0 -116
  250. data/features/favicon.feature +0 -20
  251. data/features/first_boot.feature +0 -16
  252. data/features/footer.feature +0 -28
  253. data/features/global_navigation.feature +0 -29
  254. data/features/i18n.feature +0 -55
  255. data/features/index/batch_actions.feature +0 -218
  256. data/features/index/filters.feature +0 -239
  257. data/features/index/format_as_csv.feature +0 -220
  258. data/features/index/formats.feature +0 -88
  259. data/features/index/index_as_block.feature +0 -15
  260. data/features/index/index_as_blog.feature +0 -69
  261. data/features/index/index_as_grid.feature +0 -45
  262. data/features/index/index_as_table.feature +0 -291
  263. data/features/index/index_blank_slate.feature +0 -83
  264. data/features/index/index_parameters.feature +0 -75
  265. data/features/index/index_scope_to.feature +0 -56
  266. data/features/index/index_scopes.feature +0 -285
  267. data/features/index/page_title.feature +0 -41
  268. data/features/index/pagination.feature +0 -63
  269. data/features/index/switch_index_view.feature +0 -73
  270. data/features/menu.feature +0 -72
  271. data/features/meta_tags.feature +0 -21
  272. data/features/new_page.feature +0 -107
  273. data/features/registering_assets.feature +0 -38
  274. data/features/registering_pages.feature +0 -237
  275. data/features/registering_resources.feature +0 -33
  276. data/features/renamed_resource.feature +0 -30
  277. data/features/root_to.feature +0 -17
  278. data/features/show/attributes_table_title.feature +0 -54
  279. data/features/show/columns.feature +0 -40
  280. data/features/show/default_content.feature +0 -44
  281. data/features/show/page_title.feature +0 -58
  282. data/features/show/tabs.feature +0 -33
  283. data/features/sidebar_sections.feature +0 -210
  284. data/features/site_title.feature +0 -47
  285. data/features/specifying_actions.feature +0 -118
  286. data/features/step_definitions/action_item_steps.rb +0 -7
  287. data/features/step_definitions/action_link_steps.rb +0 -19
  288. data/features/step_definitions/additional_web_steps.rb +0 -81
  289. data/features/step_definitions/asset_steps.rb +0 -15
  290. data/features/step_definitions/attribute_steps.rb +0 -18
  291. data/features/step_definitions/attributes_table_title_steps.rb +0 -11
  292. data/features/step_definitions/batch_action_steps.rb +0 -81
  293. data/features/step_definitions/blog_steps.rb +0 -3
  294. data/features/step_definitions/breadcrumb_steps.rb +0 -3
  295. data/features/step_definitions/column_steps.rb +0 -8
  296. data/features/step_definitions/comment_steps.rb +0 -32
  297. data/features/step_definitions/configuration_steps.rb +0 -100
  298. data/features/step_definitions/dashboard_steps.rb +0 -15
  299. data/features/step_definitions/factory_steps.rb +0 -35
  300. data/features/step_definitions/filter_steps.rb +0 -48
  301. data/features/step_definitions/flash_steps.rb +0 -11
  302. data/features/step_definitions/footer_steps.rb +0 -11
  303. data/features/step_definitions/format_steps.rb +0 -56
  304. data/features/step_definitions/i18n_steps.rb +0 -11
  305. data/features/step_definitions/index_scope_steps.rb +0 -29
  306. data/features/step_definitions/index_views_steps.rb +0 -3
  307. data/features/step_definitions/layout_steps.rb +0 -3
  308. data/features/step_definitions/member_link_steps.rb +0 -7
  309. data/features/step_definitions/menu_steps.rb +0 -11
  310. data/features/step_definitions/meta_tag_steps.rb +0 -3
  311. data/features/step_definitions/pagination_steps.rb +0 -15
  312. data/features/step_definitions/sidebar_steps.rb +0 -11
  313. data/features/step_definitions/site_title_steps.rb +0 -17
  314. data/features/step_definitions/tab_steps.rb +0 -8
  315. data/features/step_definitions/table_steps.rb +0 -116
  316. data/features/step_definitions/user_steps.rb +0 -52
  317. data/features/step_definitions/web_steps.rb +0 -86
  318. data/features/sti_resource.feature +0 -65
  319. data/features/strong_parameters.feature +0 -69
  320. data/features/support/env.rb +0 -122
  321. data/features/support/paths.rb +0 -73
  322. data/features/support/regular_env.rb +0 -7
  323. data/features/support/reload_env.rb +0 -7
  324. data/features/support/selectors.rb +0 -45
  325. data/features/users/logging_in.feature +0 -36
  326. data/features/users/logging_out.feature +0 -13
  327. data/features/users/resetting_password.feature +0 -34
  328. data/gemfiles/rails_42.gemfile +0 -10
  329. data/gemfiles/rails_50.gemfile +0 -10
  330. data/gemfiles/rails_51.gemfile +0 -10
  331. data/lib/active_admin/event.rb +0 -24
  332. data/lib/active_admin/helpers/settings.rb +0 -114
  333. data/lib/active_admin/reloader.rb +0 -25
  334. data/lib/bug_report_templates/active_admin_master.rb +0 -113
  335. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  336. data/spec/bug_report_templates_spec.rb +0 -26
  337. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  338. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  339. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  340. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  341. data/spec/javascripts/fixtures/flashes.html +0 -2
  342. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  343. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  344. data/spec/javascripts/support/jasmine.yml +0 -74
  345. data/spec/javascripts/support/jasmine_runner.rb +0 -19
  346. data/spec/rails_helper.rb +0 -59
  347. data/spec/requests/default_namespace_spec.rb +0 -81
  348. data/spec/requests/memory_spec.rb +0 -25
  349. data/spec/requests/stylesheets_spec.rb +0 -18
  350. data/spec/spec_helper.rb +0 -1
  351. data/spec/support/active_admin_integration_spec_helper.rb +0 -73
  352. data/spec/support/active_admin_request_helpers.rb +0 -39
  353. data/spec/support/rails_template.rb +0 -150
  354. data/spec/support/rails_template_with_data.rb +0 -327
  355. data/spec/support/templates/admin/stores.rb +0 -7
  356. data/spec/support/templates/en.yml +0 -8
  357. data/spec/support/templates/manifest.js +0 -3
  358. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  359. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  360. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  361. data/spec/support/templates/policies/application_policy.rb +0 -44
  362. data/spec/support/templates/policies/category_policy.rb +0 -7
  363. data/spec/support/templates/policies/post_policy.rb +0 -15
  364. data/spec/support/templates/policies/store_policy.rb +0 -11
  365. data/spec/support/templates/policies/user_policy.rb +0 -11
  366. data/spec/support/templates/post_decorator.rb +0 -10
  367. data/spec/unit/abstract_view_factory_spec.rb +0 -78
  368. data/spec/unit/action_builder_spec.rb +0 -125
  369. data/spec/unit/active_admin_spec.rb +0 -11
  370. data/spec/unit/application_spec.rb +0 -184
  371. data/spec/unit/asset_registration_spec.rb +0 -81
  372. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  373. data/spec/unit/authorization/controller_authorization_spec.rb +0 -43
  374. data/spec/unit/authorization/index_overriding_spec.rb +0 -23
  375. data/spec/unit/auto_link_spec.rb +0 -93
  376. data/spec/unit/batch_actions/resource_spec.rb +0 -84
  377. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  378. data/spec/unit/belongs_to_spec.rb +0 -76
  379. data/spec/unit/cancan_adapter_spec.rb +0 -43
  380. data/spec/unit/comments_spec.rb +0 -176
  381. data/spec/unit/component_spec.rb +0 -18
  382. data/spec/unit/config_shared_examples.rb +0 -59
  383. data/spec/unit/controller_filters_spec.rb +0 -41
  384. data/spec/unit/csv_builder_spec.rb +0 -304
  385. data/spec/unit/dependency_spec.rb +0 -135
  386. data/spec/unit/devise_spec.rb +0 -110
  387. data/spec/unit/dsl_spec.rb +0 -120
  388. data/spec/unit/filters/active_filter_spec.rb +0 -135
  389. data/spec/unit/filters/active_spec.rb +0 -24
  390. data/spec/unit/filters/filter_form_builder_spec.rb +0 -502
  391. data/spec/unit/filters/resource_spec.rb +0 -128
  392. data/spec/unit/form_builder_spec.rb +0 -990
  393. data/spec/unit/generators/install_spec.rb +0 -31
  394. data/spec/unit/helpers/collection_spec.rb +0 -68
  395. data/spec/unit/helpers/scope_chain_spec.rb +0 -35
  396. data/spec/unit/helpers/settings_spec.rb +0 -30
  397. data/spec/unit/i18n_spec.rb +0 -29
  398. data/spec/unit/localizers/resource_localizer_spec.rb +0 -36
  399. data/spec/unit/menu_collection_spec.rb +0 -62
  400. data/spec/unit/menu_item_spec.rb +0 -141
  401. data/spec/unit/menu_spec.rb +0 -71
  402. data/spec/unit/namespace/authorization_spec.rb +0 -27
  403. data/spec/unit/namespace/register_page_spec.rb +0 -99
  404. data/spec/unit/namespace/register_resource_spec.rb +0 -162
  405. data/spec/unit/namespace_spec.rb +0 -124
  406. data/spec/unit/order_clause_spec.rb +0 -81
  407. data/spec/unit/page_controller_spec.rb +0 -5
  408. data/spec/unit/page_spec.rb +0 -128
  409. data/spec/unit/pretty_format_spec.rb +0 -82
  410. data/spec/unit/pundit_adapter_spec.rb +0 -98
  411. data/spec/unit/resource/action_items_spec.rb +0 -69
  412. data/spec/unit/resource/attributes_spec.rb +0 -49
  413. data/spec/unit/resource/includes_spec.rb +0 -21
  414. data/spec/unit/resource/menu_spec.rb +0 -18
  415. data/spec/unit/resource/naming_spec.rb +0 -122
  416. data/spec/unit/resource/ordering_spec.rb +0 -35
  417. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  418. data/spec/unit/resource/pagination_spec.rb +0 -38
  419. data/spec/unit/resource/routes_spec.rb +0 -125
  420. data/spec/unit/resource/scopes_spec.rb +0 -50
  421. data/spec/unit/resource/sidebars_spec.rb +0 -43
  422. data/spec/unit/resource_collection_spec.rb +0 -175
  423. data/spec/unit/resource_controller/data_access_spec.rb +0 -230
  424. data/spec/unit/resource_controller/decorators_spec.rb +0 -94
  425. data/spec/unit/resource_controller/sidebars_spec.rb +0 -37
  426. data/spec/unit/resource_controller_spec.rb +0 -273
  427. data/spec/unit/resource_registration_spec.rb +0 -61
  428. data/spec/unit/resource_spec.rb +0 -320
  429. data/spec/unit/routing_spec.rb +0 -211
  430. data/spec/unit/scope_spec.rb +0 -209
  431. data/spec/unit/settings_spec.rb +0 -117
  432. data/spec/unit/view_factory_spec.rb +0 -19
  433. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -252
  434. data/spec/unit/view_helpers/display_helper_spec.rb +0 -195
  435. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  436. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  437. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -24
  438. data/spec/unit/view_helpers/form_helper_spec.rb +0 -42
  439. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -138
  440. data/spec/unit/views/components/attributes_table_spec.rb +0 -271
  441. data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
  442. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  443. data/spec/unit/views/components/columns_spec.rb +0 -187
  444. data/spec/unit/views/components/index_list_spec.rb +0 -49
  445. data/spec/unit/views/components/index_table_for_spec.rb +0 -127
  446. data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
  447. data/spec/unit/views/components/panel_spec.rb +0 -58
  448. data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
  449. data/spec/unit/views/components/site_title_spec.rb +0 -76
  450. data/spec/unit/views/components/status_tag_spec.rb +0 -265
  451. data/spec/unit/views/components/table_for_spec.rb +0 -436
  452. data/spec/unit/views/components/tabs_spec.rb +0 -67
  453. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
  454. data/spec/unit/views/index_as_blog_spec.rb +0 -76
  455. data/spec/unit/views/pages/form_spec.rb +0 -54
  456. data/spec/unit/views/pages/index_spec.rb +0 -60
  457. data/spec/unit/views/pages/layout_spec.rb +0 -59
  458. data/spec/unit/views/pages/show_spec.rb +0 -32
  459. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  460. data/tasks/docs.rake +0 -64
  461. data/tasks/lint.rake +0 -21
  462. data/tasks/local.rake +0 -25
  463. data/tasks/parallel_tests.rake +0 -66
  464. data/tasks/test.rake +0 -29
  465. /data/lib/generators/active_admin/install/templates/{admin_user.rb.erb → admin_users.rb.erb} +0 -0
@@ -1,84 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe ActiveAdmin::BatchActions::ResourceExtension do
4
-
5
- let(:resource) do
6
- namespace = ActiveAdmin::Namespace.new(ActiveAdmin::Application.new, :admin)
7
- namespace.batch_actions = true
8
- namespace.register(Post)
9
- end
10
-
11
- describe "default action" do
12
-
13
- it "should have the default action by default" do
14
- expect(resource.batch_actions.size).to eq 1
15
- expect(resource.batch_actions.first.sym == :destroy).to eq true
16
- end
17
-
18
- end
19
-
20
- describe "adding a new batch action" do
21
-
22
- before do
23
- resource.clear_batch_actions!
24
- resource.add_batch_action :flag, "Flag" do
25
- # Empty
26
- end
27
- end
28
-
29
- it "should add an batch action" do
30
- expect(resource.batch_actions.size).to eq 1
31
- end
32
-
33
- it "should store an instance of BatchAction" do
34
- expect(resource.batch_actions.first).to be_an_instance_of(ActiveAdmin::BatchAction)
35
- end
36
-
37
- it "should store the block in the batch action" do
38
- expect(resource.batch_actions.first.block).to_not eq nil
39
- end
40
-
41
- end
42
-
43
- describe "removing batch action" do
44
-
45
- before do
46
- resource.remove_batch_action :destroy
47
- end
48
-
49
- it "should allow for batch action removal" do
50
- expect(resource.batch_actions.size).to eq 0
51
- end
52
-
53
- end
54
-
55
- describe "#display_if_block" do
56
-
57
- it "should return true by default" do
58
- action = ActiveAdmin::BatchAction.new :default, "Default"
59
- expect(action.display_if_block.call).to eq true
60
- end
61
-
62
- it "should return the :if block if set" do
63
- action = ActiveAdmin::BatchAction.new :with_block, "With Block", if: proc { false }
64
- expect(action.display_if_block.call).to eq false
65
- end
66
-
67
- end
68
-
69
- describe "batch action priority" do
70
-
71
- it "should have a default priority" do
72
- action = ActiveAdmin::BatchAction.new :default, "Default"
73
- expect(action.priority).to eq 10
74
- end
75
-
76
- it "should correctly order two actions" do
77
- priority_one = ActiveAdmin::BatchAction.new :one, "One", priority: 1
78
- priority_ten = ActiveAdmin::BatchAction.new :ten, "Ten", priority: 10
79
- expect(priority_one).to be < priority_ten
80
- end
81
-
82
- end
83
-
84
- end
@@ -1,61 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe "Batch Actions Settings" do
4
- let(:app) { ActiveAdmin::Application.new }
5
- let(:ns) { ActiveAdmin::Namespace.new(app, "Admin") }
6
- let(:post_resource) { ns.register Post }
7
-
8
- it "should be disabled globally by default" do
9
- # Note: the default initializer would set it to true
10
-
11
- expect(app.batch_actions).to eq false
12
- expect(ns.batch_actions).to eq false
13
- expect(post_resource.batch_actions_enabled?).to eq false
14
- end
15
-
16
- it "should be settable to true" do
17
- app.batch_actions = true
18
- expect(app.batch_actions).to eq true
19
- end
20
-
21
- it "should be an inheritable_setting" do
22
- app.batch_actions = true
23
- expect(ns.batch_actions).to eq true
24
- end
25
-
26
- it "should be settable at the namespace level" do
27
- app.batch_actions = true
28
- ns.batch_actions = false
29
-
30
- expect(app.batch_actions).to eq true
31
- expect(ns.batch_actions).to eq false
32
- end
33
-
34
- it "should be settable at the resource level" do
35
- expect(post_resource.batch_actions_enabled?).to eq false
36
- post_resource.batch_actions = true
37
- expect(post_resource.batch_actions_enabled?).to eq true
38
- end
39
-
40
- it "should inherit the setting on the resource from the namespace" do
41
- ns.batch_actions = false
42
- expect(post_resource.batch_actions_enabled?).to eq false
43
- expect(post_resource.batch_actions).to be_empty
44
-
45
- post_resource.batch_actions = true
46
- expect(post_resource.batch_actions_enabled?).to eq true
47
- expect(post_resource.batch_actions).to_not be_empty
48
- end
49
-
50
- it "should inherit the setting from the namespace when set to nil" do
51
- ns.batch_actions = true
52
-
53
- post_resource.batch_actions = true
54
- expect(post_resource.batch_actions_enabled?).to eq true
55
- expect(post_resource.batch_actions).to_not be_empty
56
-
57
- post_resource.batch_actions = nil
58
- expect(post_resource.batch_actions_enabled?).to eq true # inherited from namespace
59
- expect(post_resource.batch_actions).to_not be_empty
60
- end
61
- end
@@ -1,76 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe ActiveAdmin::Resource::BelongsTo do
4
- before do
5
- load_resources do
6
- ActiveAdmin.register User
7
- ActiveAdmin.register Post do belongs_to :user end
8
- end
9
- end
10
-
11
- let(:namespace) { ActiveAdmin.application.namespace(:admin) }
12
- let(:user_config){ ActiveAdmin.register User }
13
- let(:post_config){ ActiveAdmin.register Post do belongs_to :user end }
14
- let(:belongs_to){ post_config.belongs_to_config }
15
-
16
- it "should have an owner" do
17
- expect(belongs_to.owner).to eq post_config
18
- end
19
-
20
- describe "finding the target" do
21
- context "when the resource has been registered" do
22
- it "should return the target resource" do
23
- expect(belongs_to.target).to eq user_config
24
- end
25
- end
26
-
27
- context "when the resource has not been registered" do
28
- let(:belongs_to){ ActiveAdmin::Resource::BelongsTo.new post_config, :missing }
29
-
30
- it "should raise a ActiveAdmin::BelongsTo::TargetNotFound" do
31
- expect {
32
- belongs_to.target
33
- }.to raise_error(ActiveAdmin::Resource::BelongsTo::TargetNotFound)
34
- end
35
- end
36
-
37
- context "when the resource is on a namespace" do
38
- let(:blog_post_config){ ActiveAdmin.register Blog::Post do; end }
39
- let(:belongs_to) { ActiveAdmin::Resource::BelongsTo.new blog_post_config, :blog_author, class_name: "Blog::Author" }
40
- before do
41
- class Blog::Author
42
- include ActiveModel::Naming
43
- end
44
- @blog_author_config = ActiveAdmin.register Blog::Author do; end
45
- end
46
- it "should return the target resource" do
47
- expect(belongs_to.target).to eq @blog_author_config
48
- end
49
- end
50
- end
51
-
52
- it "should be optional" do
53
- belongs_to = ActiveAdmin::Resource::BelongsTo.new post_config, :user, optional: true
54
- expect(belongs_to).to be_optional
55
- end
56
-
57
- describe "controller" do
58
- let(:controller) { post_config.controller.new }
59
- let(:http_params) { {user_id: user.id} }
60
- let(:user) { User.create! }
61
-
62
- before do
63
- request = double 'Request', format: 'application/json'
64
- allow(controller).to receive(:params) { ActionController::Parameters.new(http_params) }
65
- allow(controller).to receive(:request){ request }
66
- end
67
-
68
- it 'should be able to access the collection' do
69
- expect(controller.send :collection).to be_a ActiveRecord::Relation
70
-
71
- end
72
- it 'should be able to build a new resource' do
73
- expect(controller.send :build_resource).to be_a Post
74
- end
75
- end
76
- end
@@ -1,43 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe ActiveAdmin::CanCanAdapter do
4
-
5
- describe "full integration" do
6
-
7
- let(:application){ ActiveAdmin::Application.new }
8
- let(:namespace){ ActiveAdmin::Namespace.new(application, "Admin") }
9
- let(:resource){ namespace.register(Post) }
10
-
11
- let :ability_class do
12
- Class.new do
13
- include CanCan::Ability
14
-
15
- def initialize(user)
16
- can :read, Post
17
- cannot :update, Post
18
- end
19
-
20
- end
21
- end
22
-
23
- let(:auth) { namespace.authorization_adapter.new(resource, double) }
24
-
25
- before do
26
- namespace.authorization_adapter = ActiveAdmin::CanCanAdapter
27
- namespace.cancan_ability_class = ability_class
28
- end
29
-
30
- it "should initialize the ability stored in the namespace configuration" do
31
- expect(auth.authorized?(:read, Post)).to eq true
32
- expect(auth.authorized?(:update, Post)).to eq false
33
- end
34
-
35
- it "should scope the collection with accessible_by" do
36
- collection = double
37
- expect(collection).to receive(:accessible_by).with(auth.cancan_ability, :edit)
38
- auth.scope_collection(collection, :edit)
39
- end
40
-
41
- end
42
-
43
- end
@@ -1,176 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe "Comments" do
4
- let(:application) { ActiveAdmin::Application.new }
5
-
6
- describe ActiveAdmin::Comment do
7
- subject(:comment){ ActiveAdmin::Comment.new }
8
-
9
- it "has valid Associations and Validations" do
10
- expect(comment).to belong_to :resource
11
- expect(comment).to belong_to :author
12
- expect(comment).to validate_presence_of :resource
13
- expect(comment).to validate_presence_of :body
14
- expect(comment).to validate_presence_of :namespace
15
- end
16
-
17
- describe ".find_for_resource_in_namespace" do
18
- let(:post) { Post.create!(title: "Hello World") }
19
- let(:namespace_name) { "admin" }
20
-
21
- before do
22
- @comment = ActiveAdmin::Comment.create! resource: post,
23
- body: "A Comment",
24
- namespace: namespace_name
25
- end
26
-
27
- it "should return a comment for the resource in the same namespace" do
28
- expect(ActiveAdmin::Comment.find_for_resource_in_namespace(post, namespace_name)).to eq [@comment]
29
- end
30
-
31
- it "should not return a comment for the same resource in a different namespace" do
32
- ActiveAdmin.application.namespaces[:public] = ActiveAdmin.application.namespaces[:admin]
33
- expect(ActiveAdmin::Comment.find_for_resource_in_namespace(post, 'public')).to eq []
34
- ActiveAdmin.application.namespaces.instance_variable_get(:@namespaces).delete(:public)
35
- end
36
-
37
- it "should not return a comment for a different resource" do
38
- another_post = Post.create! title: "Another Hello World"
39
- expect(ActiveAdmin::Comment.find_for_resource_in_namespace(another_post, namespace_name)).to eq []
40
- end
41
-
42
- it "should return the most recent comment first by default" do
43
- another_comment = ActiveAdmin::Comment.create! resource: post,
44
- body: "Another Comment",
45
- namespace: namespace_name,
46
- created_at: @comment.created_at + 20.minutes
47
-
48
- yet_another_comment = ActiveAdmin::Comment.create! resource: post,
49
- body: "Yet Another Comment",
50
- namespace: namespace_name,
51
- created_at: @comment.created_at + 10.minutes
52
-
53
- comments = ActiveAdmin::Comment.find_for_resource_in_namespace(post, namespace_name)
54
- expect(comments.size).to eq 3
55
- expect(comments.first).to eq(@comment)
56
- expect(comments.second).to eq(yet_another_comment)
57
- expect(comments.last).to eq(another_comment)
58
- end
59
-
60
- context "when custom ordering configured" do
61
- around do |example|
62
- previous_order = ActiveAdmin.application.comments_order
63
- ActiveAdmin.application.comments_order = "created_at DESC"
64
-
65
- example.call
66
-
67
- ActiveAdmin.application.comments_order = previous_order
68
- end
69
-
70
- it "should return the correctly ordered comments" do
71
- another_comment = ActiveAdmin::Comment.create!(
72
- resource: post,
73
- body: "Another Comment",
74
- namespace: namespace_name,
75
- created_at: @comment.created_at + 20.minutes
76
- )
77
-
78
- comments = ActiveAdmin::Comment.find_for_resource_in_namespace(
79
- post, namespace_name
80
- )
81
- expect(comments.size).to eq 2
82
- expect(comments.first).to eq(another_comment)
83
- expect(comments.last).to eq(@comment)
84
- end
85
- end
86
- end
87
-
88
- describe ".resource_type" do
89
- let(:post) { Post.create!(title: "Testing.") }
90
- let(:post_decorator) { double 'PostDecorator' }
91
-
92
- before do
93
- allow(post_decorator).to receive(:model).and_return(post)
94
- allow(post_decorator).to receive(:decorated?).and_return(true)
95
- end
96
-
97
- context "when a decorated object is passed" do
98
- let(:resource) { post_decorator }
99
-
100
- it "returns undeorated object class string" do
101
- expect(ActiveAdmin::Comment.resource_type resource).to eql 'Post'
102
- end
103
- end
104
-
105
- context "when an undecorated object is passed" do
106
- let(:resource) { post }
107
-
108
- it "returns object class string" do
109
- expect(ActiveAdmin::Comment.resource_type resource).to eql 'Post'
110
- end
111
- end
112
- end
113
-
114
- describe "Commenting on resource with string id" do
115
- let(:tag) { Tag.create!(name: "cooltags") }
116
- let(:namespace_name) { "admin" }
117
-
118
- it "should allow commenting" do
119
- comment = ActiveAdmin::Comment.create!(
120
- resource: tag,
121
- body: "Another Comment",
122
- namespace: namespace_name)
123
-
124
- expect(ActiveAdmin::Comment.find_for_resource_in_namespace(tag, namespace_name)).to eq [comment]
125
- end
126
- end
127
-
128
- describe "commenting on child of STI resource" do
129
- let(:publisher) { Publisher.create!(username: "tenderlove") }
130
- let(:namespace_name) { "admin" }
131
-
132
- it "should assign child class as commented resource" do
133
- comment = ActiveAdmin::Comment.create!(
134
- resource: publisher,
135
- body: "Lorem Ipsum",
136
- namespace: namespace_name)
137
-
138
- expect(ActiveAdmin::Comment.find_for_resource_in_namespace(publisher, namespace_name).last.resource_type).
139
- to eq("User")
140
- end
141
- end
142
- end
143
-
144
- describe ActiveAdmin::Comments::NamespaceHelper do
145
- describe "#comments?" do
146
-
147
- it "should have comments when the namespace allows comments" do
148
- ns = ActiveAdmin::Namespace.new(application, :admin)
149
- ns.comments = true
150
- expect(ns.comments?).to eq true
151
- end
152
-
153
- it "should not have comments when the namespace does not allow comments" do
154
- ns = ActiveAdmin::Namespace.new(application, :admin)
155
- ns.comments = false
156
- expect(ns.comments?).to eq false
157
- end
158
- end
159
- end
160
-
161
- describe ActiveAdmin::Comments::ResourceHelper do
162
- it "should add an attr_accessor :comments to ActiveAdmin::Resource" do
163
- ns = ActiveAdmin::Namespace.new(application, :admin)
164
- resource = ActiveAdmin::Resource.new(ns, Post)
165
- expect(resource.comments).to eq nil
166
- resource.comments = true
167
- expect(resource.comments).to eq true
168
- end
169
- it "should disable comments if set to false" do
170
- ns = ActiveAdmin::Namespace.new(application, :admin)
171
- resource = ActiveAdmin::Resource.new(ns, Post)
172
- resource.comments = false
173
- expect(resource.comments?).to eq false
174
- end
175
- end
176
- end
@@ -1,18 +0,0 @@
1
- require 'rails_helper'
2
-
3
- class MockComponentClass < ActiveAdmin::Component; end
4
-
5
- RSpec.describe ActiveAdmin::Component do
6
-
7
- let(:component_class){ MockComponentClass }
8
- let(:component){ component_class.new }
9
-
10
- it "should be a subclass of an html div" do
11
- expect(ActiveAdmin::Component.ancestors).to include(Arbre::HTML::Div)
12
- end
13
-
14
- it "should render to a div, even as a subclass" do
15
- expect(component.tag_name).to eq 'div'
16
- end
17
-
18
- end
@@ -1,59 +0,0 @@
1
- RSpec.shared_examples_for "ActiveAdmin::Resource" do
2
- describe "namespace" do
3
- it "should return the namespace" do
4
- expect(config.namespace).to eq(namespace)
5
- end
6
- end
7
-
8
- describe "page_presenters" do
9
- it "should return an empty hash by default" do
10
- expect(config.page_presenters).to eq({})
11
- end
12
- end
13
-
14
- it { respond_to :controller_name }
15
- it { respond_to :controller }
16
- it { respond_to :route_prefix }
17
- it { respond_to :route_collection_path }
18
- it { respond_to :comments? }
19
- it { respond_to :belongs_to? }
20
- it { respond_to :action_items? }
21
- it { respond_to :sidebar_sections? }
22
-
23
- describe "Naming" do
24
- it "implements #resource_label" do
25
- expect { config.resource_label }.to_not raise_error
26
- end
27
-
28
- it "implements #plural_resource_label" do
29
- expect { config.plural_resource_label }.to_not raise_error
30
- end
31
- end
32
-
33
- describe "Menu" do
34
- describe "#menu_item_options" do
35
-
36
- it "initializes a new menu item with defaults" do
37
- expect(config.menu_item_options[:label].call).to eq(config.plural_resource_label)
38
- end
39
-
40
- it "initialize a new menu item with custom options" do
41
- config.menu_item_options = { label: "Hello" }
42
- expect(config.menu_item_options[:label]).to eq("Hello")
43
- end
44
-
45
- end
46
-
47
- describe "#include_in_menu?" do
48
- it "should be included in menu by default" do
49
- expect(config.include_in_menu?).to eq(true)
50
- end
51
-
52
- it "should not be included in menu when menu set to false" do
53
- config.menu_item_options = false
54
- expect(config.include_in_menu?).to eq(false)
55
- end
56
- end
57
-
58
- end
59
- end
@@ -1,41 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe ActiveAdmin::Application do
4
- let(:application){ ActiveAdmin::Application.new }
5
- let(:controllers){ application.controllers_for_filters }
6
-
7
- it 'controllers_for_filters' do
8
- expect(application.controllers_for_filters).to eq [
9
- ActiveAdmin::BaseController, ActiveAdmin::Devise::SessionsController,
10
- ActiveAdmin::Devise::PasswordsController, ActiveAdmin::Devise::UnlocksController,
11
- ActiveAdmin::Devise::RegistrationsController, ActiveAdmin::Devise::ConfirmationsController
12
- ]
13
- end
14
-
15
- expected_actions = (
16
- prefixes = %w(skip append prepend) << nil
17
- positions = %w(before around after)
18
- suffixes = %w(action)
19
- base = %w()
20
- if ActiveAdmin::Dependency.rails? '< 5.1.x'
21
- suffixes += %w(filter)
22
- base += %w(skip_filter skip_action_callback)
23
- end
24
-
25
- prefixes.each_with_object(base) do |prefix, stack|
26
- positions.each do |position|
27
- suffixes.each do |suffix|
28
- stack << [prefix, position, suffix].compact.join("_").to_sym
29
- end
30
- end
31
- end
32
- )
33
-
34
- expected_actions.each do |action|
35
- it action do
36
- args = [:my_filter, { only: :show }]
37
- controllers.each { |c| expect(c).to receive(action).with(args) }
38
- application.public_send action, args
39
- end
40
- end
41
- end