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,211 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe ActiveAdmin, "Routing", type: :routing do
4
-
5
- before do
6
- load_defaults!
7
- reload_routes!
8
- end
9
-
10
- after :all do
11
- load_defaults!
12
- reload_routes!
13
- end
14
-
15
- let(:namespaces) { ActiveAdmin.application.namespaces }
16
-
17
- it "should only have the namespaces necessary for route testing" do
18
- expect(namespaces.names).to eq [:admin]
19
- end
20
-
21
- it "should route to the admin dashboard" do
22
- expect(get('/admin')).to route_to 'admin/dashboard#index'
23
- end
24
-
25
- describe "root path helper" do
26
- context "when in admin namespace" do
27
- it "should be admin_root_path" do
28
- expect(admin_root_path).to eq "/admin"
29
- end
30
- end
31
- end
32
-
33
- describe "route_options" do
34
- context "with a custom path set in route_options" do
35
- before do
36
- namespaces[:admin].route_options = { path: '/custom-path' }
37
- reload_routes!
38
- end
39
-
40
- after do
41
- namespaces[:admin].route_options = {}
42
- reload_routes!
43
- end
44
-
45
- it "should route using the custom path" do
46
- expect(admin_posts_path).to eq "/custom-path/posts"
47
- end
48
- end
49
- end
50
-
51
- describe "standard resources" do
52
- context "when in admin namespace" do
53
- it "should route the index path" do
54
- expect(admin_posts_path).to eq "/admin/posts"
55
- end
56
-
57
- it "should route the show path" do
58
- expect(admin_post_path(1)).to eq "/admin/posts/1"
59
- end
60
-
61
- it "should route the new path" do
62
- expect(new_admin_post_path).to eq "/admin/posts/new"
63
- end
64
-
65
- it "should route the edit path" do
66
- expect(edit_admin_post_path(1)).to eq "/admin/posts/1/edit"
67
- end
68
- end
69
-
70
- context "when in root namespace" do
71
- before(:each) do
72
- load_resources { ActiveAdmin.register(Post, namespace: false) }
73
- end
74
-
75
- after(:each) do
76
- namespaces.instance_variable_get(:@namespaces).delete(:root)
77
- end
78
-
79
- it "should route the index path" do
80
- expect(posts_path).to eq "/posts"
81
- end
82
-
83
- it "should route the show path" do
84
- expect(post_path(1)).to eq "/posts/1"
85
- end
86
-
87
- it "should route the new path" do
88
- expect(new_post_path).to eq "/posts/new"
89
- end
90
-
91
- it "should route the edit path" do
92
- expect(edit_post_path(1)).to eq "/posts/1/edit"
93
- end
94
- end
95
-
96
- context "with member action" do
97
- context "without an http verb" do
98
- before do
99
- load_resources do
100
- ActiveAdmin.register(Post){ member_action "do_something" }
101
- end
102
- end
103
-
104
- it "should default to GET" do
105
- expect({get: "/admin/posts/1/do_something"}).to be_routable
106
- expect({post: "/admin/posts/1/do_something"}).to_not be_routable
107
- end
108
- end
109
-
110
- context "with one http verb" do
111
- before do
112
- load_resources do
113
- ActiveAdmin.register(Post){ member_action "do_something", method: :post }
114
- end
115
- end
116
-
117
- it "should properly route" do
118
- expect({post: "/admin/posts/1/do_something"}).to be_routable
119
- end
120
- end
121
-
122
- context "with two http verbs" do
123
- before do
124
- load_resources do
125
- ActiveAdmin.register(Post){ member_action "do_something", method: [:put, :delete] }
126
- end
127
- end
128
-
129
- it "should properly route the first verb" do
130
- expect({put: "/admin/posts/1/do_something"}).to be_routable
131
- end
132
-
133
- it "should properly route the second verb" do
134
- expect({delete: "/admin/posts/1/do_something"}).to be_routable
135
- end
136
- end
137
- end
138
- end
139
-
140
- describe "belongs to resource" do
141
- it "should route the nested index path" do
142
- expect(admin_user_posts_path(1)).to eq "/admin/users/1/posts"
143
- end
144
-
145
- it "should route the nested show path" do
146
- expect(admin_user_post_path(1, 2)).to eq "/admin/users/1/posts/2"
147
- end
148
-
149
- it "should route the nested new path" do
150
- expect(new_admin_user_post_path(1)).to eq "/admin/users/1/posts/new"
151
- end
152
-
153
- it "should route the nested edit path" do
154
- expect(edit_admin_user_post_path(1, 2)).to eq "/admin/users/1/posts/2/edit"
155
- end
156
-
157
- context "with collection action" do
158
- before do
159
- load_resources do
160
- ActiveAdmin.register(Post) do
161
- belongs_to :user, optional: true
162
- end
163
- ActiveAdmin.register(User) do
164
- collection_action "do_something"
165
- end
166
- end
167
- end
168
-
169
- it "should properly route the collection action" do
170
- expect({ get: "/admin/users/do_something" }).to \
171
- route_to({ controller: 'admin/users', action: 'do_something'})
172
- end
173
- end
174
- end
175
-
176
- describe "page" do
177
- context "when default namespace" do
178
- before(:each) do
179
- load_resources { ActiveAdmin.register_page("Chocolate I lØve You!") }
180
- end
181
-
182
- it "should route to the page under /admin" do
183
- expect(admin_chocolate_i_love_you_path).to eq "/admin/chocolate_i_love_you"
184
- end
185
- end
186
-
187
- context "when in the root namespace" do
188
- before(:each) do
189
- load_resources { ActiveAdmin.register_page("Chocolate I lØve You!", namespace: false) }
190
- end
191
-
192
- after(:each) do
193
- namespaces.instance_variable_get(:@namespaces).delete(:root)
194
- end
195
-
196
- it "should route to page under /" do
197
- expect(chocolate_i_love_you_path).to eq "/chocolate_i_love_you"
198
- end
199
- end
200
-
201
- context "when singular page name" do
202
- before(:each) do
203
- load_resources { ActiveAdmin.register_page("Log") }
204
- end
205
-
206
- it "should not inject _index_ into the route name" do
207
- expect(admin_log_path).to eq "/admin/log"
208
- end
209
- end
210
- end
211
- end
@@ -1,209 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe ActiveAdmin::Scope do
4
-
5
- describe "creating a scope" do
6
- subject{ scope }
7
-
8
- context "when just a scope method" do
9
- let(:scope) { ActiveAdmin::Scope.new :published }
10
-
11
- describe '#name' do
12
- subject { super().name }
13
- it { is_expected.to eq("Published")}
14
- end
15
-
16
- describe '#id' do
17
- subject { super().id }
18
- it { is_expected.to eq("published")}
19
- end
20
-
21
- describe '#scope_method' do
22
- subject { super().scope_method }
23
- it { is_expected.to eq(:published) }
24
- end
25
- end
26
-
27
- context "when scope method is :all" do
28
- let(:scope) { ActiveAdmin::Scope.new :all }
29
-
30
- describe '#name' do
31
- subject { super().name }
32
- it { is_expected.to eq("All")}
33
- end
34
-
35
- describe '#id' do
36
- subject { super().id }
37
- it { is_expected.to eq("all")}
38
- end
39
- # :all does not return a chain but an array of active record
40
- # instances. We set the scope_method to nil then.
41
-
42
- describe '#scope_method' do
43
- subject { super().scope_method }
44
- it { is_expected.to eq(nil) }
45
- end
46
-
47
- describe '#scope_block' do
48
- subject { super().scope_block }
49
- it { is_expected.to eq(nil) }
50
- end
51
- end
52
-
53
- context 'when a name and scope method is :all' do
54
- let(:scope) { ActiveAdmin::Scope.new 'Tous', :all }
55
-
56
- describe '#name' do
57
- subject { super().name }
58
- it { is_expected.to eq 'Tous' }
59
- end
60
-
61
- describe '#scope_method' do
62
- subject { super().scope_method }
63
- it { is_expected.to eq nil }
64
- end
65
-
66
- describe '#scope_block' do
67
- subject { super().scope_block }
68
- it { is_expected.to eq nil }
69
- end
70
- end
71
-
72
- context "when a name and scope method" do
73
- let(:scope) { ActiveAdmin::Scope.new "With API Access", :with_api_access }
74
-
75
- describe '#name' do
76
- subject { super().name }
77
- it { is_expected.to eq("With API Access")}
78
- end
79
-
80
- describe '#id' do
81
- subject { super().id }
82
- it { is_expected.to eq("with_api_access")}
83
- end
84
-
85
- describe '#scope_method' do
86
- subject { super().scope_method }
87
- it { is_expected.to eq(:with_api_access) }
88
- end
89
- end
90
-
91
- context "when a name and scope block" do
92
- let(:scope) { ActiveAdmin::Scope.new("My Scope"){|s| s } }
93
-
94
- describe '#name' do
95
- subject { super().name }
96
- it { is_expected.to eq("My Scope")}
97
- end
98
-
99
- describe '#id' do
100
- subject { super().id }
101
- it { is_expected.to eq("my_scope")}
102
- end
103
-
104
- describe '#scope_method' do
105
- subject { super().scope_method }
106
- it { is_expected.to eq(nil) }
107
- end
108
-
109
- describe '#scope_block' do
110
- subject { super().scope_block }
111
- it { is_expected.to be_a(Proc)}
112
- end
113
- end
114
-
115
- context "when a name has a space and lowercase" do
116
- let(:scope) { ActiveAdmin::Scope.new("my scope") }
117
-
118
- describe '#name' do
119
- subject { super().name }
120
- it { is_expected.to eq("my scope")}
121
- end
122
-
123
- describe '#id' do
124
- subject { super().id }
125
- it { is_expected.to eq("my_scope")}
126
- end
127
- end
128
-
129
- context "with a proc as the label" do
130
- it "should raise an exception if a second argument isn't provided" do
131
- expect{
132
- ActiveAdmin::Scope.new proc{ Date.today.strftime '%A' }
133
- }.to raise_error 'A string/symbol is required as the second argument if your label is a proc.'
134
- end
135
-
136
- it "should properly render the proc" do
137
- scope = ActiveAdmin::Scope.new proc{ Date.today.strftime '%A' }, :foobar
138
- expect(scope.name.call).to eq Date.today.strftime '%A'
139
- end
140
- end
141
-
142
- context "with scope method and localizer" do
143
- let(:localizer) do
144
- loc = double(:localizer)
145
- allow(loc).to receive(:t).with(:published, scope: 'scopes').and_return("All published")
146
- loc
147
- end
148
- let(:scope) { ActiveAdmin::Scope.new :published, :published, localizer: localizer }
149
-
150
- describe '#name' do
151
- subject { super().name }
152
- it { is_expected.to eq("All published")}
153
- end
154
-
155
- describe '#id' do
156
- subject { super().id }
157
- it { is_expected.to eq("published")}
158
- end
159
-
160
- describe '#scope_method' do
161
- subject { super().scope_method }
162
- it { is_expected.to eq(:published) }
163
- end
164
- end
165
-
166
- end # describe "creating a scope"
167
-
168
- describe "#display_if_block" do
169
- it "should return true by default" do
170
- scope = ActiveAdmin::Scope.new(:default)
171
- expect(scope.display_if_block.call).to eq true
172
- end
173
-
174
- it "should return the :if block if set" do
175
- scope = ActiveAdmin::Scope.new(:with_block, nil, if: proc{ false })
176
- expect(scope.display_if_block.call).to eq false
177
- end
178
- end
179
-
180
- describe "#default" do
181
- it "should accept a boolean" do
182
- scope = ActiveAdmin::Scope.new(:method, nil, default: true)
183
- expect(scope.default_block).to eq true
184
- end
185
-
186
- it "should default to a false #default_block" do
187
- scope = ActiveAdmin::Scope.new(:method, nil)
188
- expect(scope.default_block.call).to eq false
189
- end
190
-
191
- it "should store the :default proc" do
192
- scope = ActiveAdmin::Scope.new(:with_block, nil, default: proc{ true })
193
- expect(scope.default_block.call).to eq true
194
- end
195
- end
196
-
197
- describe "show_count" do
198
- it "should allow setting of show_count to prevent showing counts" do
199
- scope = ActiveAdmin::Scope.new(:default, nil, show_count: false)
200
- expect(scope.show_count).to eq false
201
- end
202
-
203
- it "should set show_count to true if not passed in" do
204
- scope = ActiveAdmin::Scope.new(:default)
205
- expect(scope.show_count).to eq true
206
- end
207
- end
208
-
209
- end
@@ -1,117 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe ActiveAdmin::Settings do
4
-
5
- subject{ Class.new{ include ActiveAdmin::Settings } }
6
-
7
- it{ is_expected.to respond_to :setting }
8
- it{ is_expected.to respond_to :deprecated_setting }
9
- it{ is_expected.to respond_to :default_settings }
10
-
11
- describe "class API" do
12
- it "should create settings" do
13
- subject.setting :foo, 'bar'
14
- expect(subject.default_settings[:foo]).to eq 'bar'
15
- end
16
-
17
- it "should create deprecated settings" do
18
- expect(ActiveAdmin::Deprecation).to receive(:deprecate).twice
19
- subject.deprecated_setting :baz, 32
20
- expect(subject.default_settings[:baz]).to eq 32
21
- end
22
- end
23
-
24
- describe "instance API" do
25
-
26
- before do
27
- subject.setting :foo, 'bar'
28
- subject.deprecated_setting :baz, 32
29
- end
30
- let(:instance) { subject.new }
31
-
32
- it "should have access to a default value" do
33
- expect(instance.foo).to eq 'bar'
34
- instance.foo = 'qqq'
35
- expect(instance.foo).to eq 'qqq'
36
- end
37
-
38
- it "should have access to a deprecated value" do
39
- expect(ActiveAdmin::Deprecation).to receive(:warn).exactly(3).times
40
- expect(instance.baz).to eq 32
41
- instance.baz = [45]
42
- expect(instance.baz).to eq [45]
43
- end
44
- end
45
-
46
- end
47
-
48
- RSpec.describe ActiveAdmin::Settings::Inheritance do
49
-
50
- subject do
51
- Class.new do
52
- include ActiveAdmin::Settings
53
- include ActiveAdmin::Settings::Inheritance
54
- end
55
- end
56
-
57
- it{ is_expected.to respond_to :settings_inherited_by }
58
- it{ is_expected.to respond_to :inheritable_setting }
59
- it{ is_expected.to respond_to :deprecated_inheritable_setting }
60
-
61
- let(:heir) { Class.new }
62
-
63
- before do
64
- subject.settings_inherited_by heir
65
- end
66
-
67
- describe "class API" do
68
- it "should add setting to an heir" do
69
- subject.inheritable_setting :one, 2
70
- expect(heir.default_settings[:one]).to eq 2
71
- end
72
-
73
- it "should add deprecated setting to an heir" do
74
- expect(ActiveAdmin::Deprecation).to receive(:deprecate).exactly(4).times
75
- subject.deprecated_inheritable_setting :three, 4
76
- expect(heir.default_settings[:three]).to eq 4
77
- end
78
- end
79
-
80
- describe "instance API" do
81
- describe "the setter `config.left =`" do
82
- before{ subject.inheritable_setting :left, :right }
83
- it "should work" do
84
- config = heir.new
85
- config.left = :none
86
- expect(config.left).to eq :none
87
- end
88
- end
89
-
90
- describe "the getter `config.left`" do
91
- before{ subject.inheritable_setting :left, :right }
92
- it "should work" do
93
- expect(heir.new.left).to eq :right
94
- end
95
- end
96
-
97
- describe "the getter with question-mark `config.left?`" do
98
- {
99
- "nil" => [nil, false],
100
- "false" => [false, false],
101
- "true" => [true, true],
102
- "string" => ["string", true],
103
- "empty string" => ["", false],
104
- "array" => [[1, 2], true],
105
- "empty array" => [[], false]
106
- }.each do |context, (value, result)|
107
- context "with a #{context} value" do
108
- before{ subject.inheritable_setting :left, value }
109
- it "should be #{result}" do
110
- expect(heir.new.left?).to eq result
111
- end
112
- end
113
- end
114
- end
115
- end
116
-
117
- end
@@ -1,19 +0,0 @@
1
- require 'rails_helper'
2
-
3
- def it_should_have_view(key, value)
4
- it "should have #{value} for view key '#{key}'" do
5
- expect(subject.send(key)).to eq value
6
- end
7
- end
8
-
9
- RSpec.describe ActiveAdmin::ViewFactory do
10
-
11
- it_should_have_view :global_navigation, ActiveAdmin::Views::TabbedNavigation
12
- it_should_have_view :utility_navigation, ActiveAdmin::Views::TabbedNavigation
13
- it_should_have_view :site_title, ActiveAdmin::Views::SiteTitle
14
- it_should_have_view :action_items, ActiveAdmin::Views::ActionItems
15
- it_should_have_view :header, ActiveAdmin::Views::Header
16
- it_should_have_view :blank_slate, ActiveAdmin::Views::BlankSlate
17
- it_should_have_view :layout, ActiveAdmin::Views::Pages::Layout
18
-
19
- end