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,67 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe ActiveAdmin::Views::Tabs do
4
- describe "creating with the dsl" do
5
- context "when creating tabs with a symbol" do
6
- before do
7
- expect(I18n).to receive(:t).at_least(:once).with(:tab_key).and_return "テスト"
8
- end
9
-
10
- let(:tabs) do
11
- render_arbre_component do
12
- tabs do
13
- tab :overview
14
- tab I18n.t(:tab_key), { id: :something_unique }
15
- end
16
- end
17
- end
18
-
19
- let(:subject) { Capybara.string(tabs.to_s) }
20
-
21
- it "should create a tab navigation bar based on the symbol" do
22
- expect(subject).to have_content('Overview')
23
- end
24
-
25
- it "should have tab with id based on symbol" do
26
- expect(subject).to have_selector('div#overview')
27
- end
28
-
29
- it "should have link with fragment based on symbol" do
30
- expect(subject).to have_selector('a[href="#overview"]')
31
- end
32
-
33
- it "should handle translation" do
34
- expect(subject).to have_content('テスト')
35
- end
36
-
37
- it "should have tab with id based on options" do
38
- expect(subject).to have_selector('div#something_unique')
39
- end
40
-
41
- it "should have link with fragment based on options" do
42
- expect(subject).to have_selector('a[href="#something_unique"]')
43
- end
44
-
45
- end
46
-
47
- context "when creating a tab with a block" do
48
- let(:tabs) do
49
- render_arbre_component do
50
- tabs do
51
- tab :overview do
52
- span 'tab 1'
53
- end
54
- end
55
- end
56
- end
57
-
58
- it "should create a tab navigation bar based on the symbol" do
59
- expect(tabs.find_by_tag('li').first.content).to include "Overview"
60
- end
61
-
62
- it "should create a tab with a span inside of it" do
63
- expect(tabs.find_by_tag('span').first.content).to eq('tab 1')
64
- end
65
- end
66
- end
67
- end
@@ -1,41 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe ActiveAdmin::Views::UnsupportedBrowser do
4
- let(:helpers){ mock_action_view }
5
- let(:namespace) { double :namespace, unsupported_browser_matcher: /MSIE [1-8]\.0/ }
6
- let(:component) { double :unsupported_browser_component }
7
- let(:view_factory) { double :view_factory, unsupported_browser: component }
8
- let(:base) { ActiveAdmin::Views::Pages::Base.new }
9
-
10
- def build_panel
11
- render_arbre_component({}, helpers) do
12
- insert_tag ActiveAdmin::Views::UnsupportedBrowser
13
- end
14
- end
15
-
16
- it "should render the panel" do
17
- expect(I18n).to receive(:t).and_return("headline", "recommendation" , "turn_off_compatibility_view")
18
- expect(build_panel.content.gsub(/\s+/, "")).to eq "<h1>headline</h1><p>recommendation</p><p>turn_off_compatibility_view</p>"
19
- end
20
-
21
- describe "ActiveAdmin::Views::Pages::Base behavior" do
22
- context "when the reqex match" do
23
- it "should build the unsupported browser panel" do
24
- expect(base).to receive(:active_admin_namespace).and_return(namespace)
25
- expect(base).to receive_message_chain(:controller, :request, :user_agent).and_return("Mozilla/5.0 (compatible; MSIE 7.0; Windows NT 6.2; Trident/6.0)")
26
- expect(base).to receive(:view_factory).and_return(view_factory)
27
- expect(base).to receive(:insert_tag).with(component)
28
- base.send(:build_unsupported_browser)
29
- end
30
- end
31
-
32
- context "when the regex not match" do
33
- it "should not build the unsupported browser panel" do
34
- expect(base).to receive(:active_admin_namespace).and_return(namespace)
35
- expect(base).to receive_message_chain(:controller, :request, :user_agent).and_return("Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)")
36
- expect(base).to receive(:insert_tag).never
37
- base.send(:build_unsupported_browser)
38
- end
39
- end
40
- end
41
- end
@@ -1,76 +0,0 @@
1
- require 'rails_helper'
2
-
3
- include ActiveAdmin
4
- RSpec.describe ActiveAdmin::Views::IndexAsBlog do
5
- subject { described_class.new }
6
-
7
- describe '#build' do
8
- let(:page_presenter) { double('page_presenter', block: nil) }
9
- let(:collection) { double('collection') }
10
-
11
- before do
12
- expect(subject).to receive('build_posts')
13
- expect(subject).to receive('add_class').with('index')
14
- end
15
-
16
- context 'when page_presenter has no block' do
17
- before do
18
- subject.build(page_presenter, collection)
19
- end
20
-
21
- it do
22
- expect(subject.instance_variable_get(:@page_presenter))
23
- .to eq(page_presenter)
24
- expect(subject.instance_variable_get(:@collection)).to eq(collection)
25
- end
26
- end
27
-
28
- context 'when page_presenter has block' do
29
- let(:block) { Proc.new { double('proc_method') } }
30
-
31
- before do
32
- allow(page_presenter).to receive(:block).and_return(block)
33
- allow(subject).to receive('instance_exec')
34
- subject.build(page_presenter, collection)
35
- end
36
-
37
- it do
38
- expect(subject).to have_received('instance_exec')
39
- end
40
- end
41
- end
42
-
43
- %w(title body).each do |method|
44
- describe "#{method}" do
45
- context 'when block given' do
46
- let(:block_result) { double('block_result') }
47
-
48
- it "should use the block to set the #{method}" do
49
- expect(
50
- subject.public_send("#{method}") do
51
- block_result
52
- end.yield
53
- ).to eq(block_result)
54
- end
55
- end
56
-
57
- context 'when no block and method given' do
58
- let(:method) { double('method') }
59
-
60
- it "should use method to set the #{method}" do
61
- expect(subject.public_send("#{method}", method)).to eq(method)
62
- end
63
- end
64
-
65
- context 'when no block and no method given' do
66
- it 'should be nil' do
67
- expect(subject.public_send("#{method}")).to eq(nil)
68
- end
69
- end
70
- end
71
- end
72
-
73
- describe '.index_name' do
74
- it { expect(described_class.index_name).to eq('blog') }
75
- end
76
- end
@@ -1,54 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe ActiveAdmin::Views::Pages::Form do
4
- describe "#title" do
5
- let!(:application){ ActiveAdmin::Application.new }
6
- let(:namespace){ ActiveAdmin::Namespace.new(application, "Admin") }
7
- let!(:http_params){ { controller: "UsersController", action: "edit" } }
8
- let!(:params) { ActionController::Parameters.new(http_params) }
9
-
10
- let(:helpers) do
11
- helpers = mock_action_view
12
- allow(helpers).to receive(:active_admin_config).and_return(namespace.register(Post))
13
- allow(helpers).to receive(:params).and_return(params)
14
- helpers
15
- end
16
-
17
- let(:arbre_context) do
18
- OpenStruct.new(params: params, helpers: helpers, assigns: {})
19
- end
20
-
21
- context "when :title is set" do
22
- it "should show the set page title" do
23
-
24
- page = ActiveAdmin::Views::Pages::Form.new(arbre_context)
25
- expect(page).to receive(:resource)
26
- expect(page).to receive(:form_presenter).twice.and_return({ title: "My Page Title" })
27
- expect(page.title).to eq "My Page Title"
28
- end
29
- end
30
-
31
- context "when page_title is assigned" do
32
- it "should show the set page title" do
33
- arbre_context.assigns[:page_title] = "My Page Title"
34
- page = ActiveAdmin::Views::Pages::Form.new(arbre_context)
35
- expect(page.title).to eq "My Page Title"
36
- end
37
- end
38
-
39
- context "when page_title is not assigned" do
40
- {
41
- "new" => "New Post",
42
- "create" => "New Post",
43
- "edit" => "Edit Post",
44
- "update" => "Edit Post"
45
- }.each do |action, title|
46
- it "should show the correct I18n text on the #{action} action" do
47
- params[:action] = action
48
- page = ActiveAdmin::Views::Pages::Form.new(arbre_context)
49
- expect(page.title).to eq title
50
- end
51
- end
52
- end
53
- end
54
- end
@@ -1,60 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe ActiveAdmin::Views::Pages::Index do
4
- describe "#title" do
5
- let!(:application){ ActiveAdmin::Application.new }
6
- let(:namespace){ ActiveAdmin::Namespace.new(application, "Admin") }
7
- let!(:params){ ActionController::Parameters.new(controller: "UsersController", action: "edit") }
8
- let(:helpers) do
9
- helpers = mock_action_view
10
- allow(helpers).to receive(:active_admin_config).and_return(namespace.register(Post))
11
- allow(helpers).to receive(:params).and_return(params)
12
- helpers
13
- end
14
-
15
- let(:arbre_context) do
16
- OpenStruct.new(params: params, helpers: helpers, assigns: {})
17
- end
18
-
19
- context "when config[:title] is assigned" do
20
- context "with a Proc" do
21
- it "should return the value of the assigned Proc" do
22
- page = ActiveAdmin::Views::Pages::Index.new(arbre_context)
23
- allow(page).to receive(:config).and_return(title: ->{ "My Page Title" })
24
- expect(page.title).to eq "My Page Title"
25
- end
26
- end
27
-
28
- context "with a String" do
29
- it "should return the assigned String" do
30
- page = ActiveAdmin::Views::Pages::Index.new(arbre_context)
31
- allow(page).to receive(:config).and_return(title: ->{ "My Page Title" })
32
- expect(page.title).to eq "My Page Title"
33
- end
34
- end
35
-
36
- context "with a Integer" do
37
- it "should return the Integer" do
38
- page = ActiveAdmin::Views::Pages::Index.new(arbre_context)
39
- allow(page).to receive(:config).and_return(title: 1)
40
- expect(page.title).to eq 1
41
- end
42
- end
43
- end
44
-
45
- context "when page_title is assigned" do
46
- it "should return the set page title" do
47
- arbre_context.assigns[:page_title] = "My Page Title"
48
- page = ActiveAdmin::Views::Pages::Index.new(arbre_context)
49
- expect(page.title).to eq "My Page Title"
50
- end
51
- end
52
-
53
- context "when page_title is not assigned" do
54
- it "should return the correct I18n text" do
55
- page = ActiveAdmin::Views::Pages::Index.new(arbre_context)
56
- expect(page.title).to eq "Posts"
57
- end
58
- end
59
- end
60
- end
@@ -1,59 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe ActiveAdmin::Views::Pages::Layout do
4
-
5
- let(:assigns){ {} }
6
- let(:helpers) do
7
- helpers = mock_action_view
8
-
9
- { active_admin_application: active_admin_application,
10
- active_admin_config: double('Config', action_items?: nil, breadcrumb: nil, sidebar_sections?: nil),
11
- active_admin_namespace: active_admin_namespace,
12
- csrf_meta_tag: '',
13
- current_active_admin_user: nil,
14
- current_active_admin_user?: false,
15
- current_menu: double('Menu', items: []),
16
- params: {controller: 'UsersController', action: 'edit'},
17
- env: {}
18
- }.each do |method, returns|
19
- allow(helpers).to receive(method).and_return returns
20
- end
21
-
22
- helpers
23
- end
24
-
25
- let(:active_admin_namespace){ ActiveAdmin::Namespace.new(ActiveAdmin::Application.new, :myspace) }
26
- let(:active_admin_application){ ActiveAdmin.application }
27
- let(:view_factory) { ActiveAdmin::ViewFactory.new }
28
-
29
- let(:layout) do
30
- render_arbre_component assigns, helpers do
31
- insert_tag ActiveAdmin::Views::Pages::Layout
32
- end
33
- end
34
-
35
- it "should be the @page_title if assigned in the controller" do
36
- assigns[:page_title] = "My Page Title"
37
-
38
- expect(layout.title).to eq "My Page Title"
39
- end
40
-
41
- it "should be the default translation" do
42
- helpers.params[:action] = "edit"
43
-
44
- expect(layout.title).to eq "Edit"
45
- end
46
-
47
- describe "the body" do
48
-
49
- it "should have class 'active_admin'" do
50
- expect(layout.build.class_list).to include 'active_admin'
51
- end
52
-
53
- it "should have namespace class" do
54
- expect(layout.build.class_list).to include "#{active_admin_namespace.name}_namespace"
55
- end
56
-
57
- end
58
-
59
- end
@@ -1,32 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe ActiveAdmin::Views::Pages::Show do
4
-
5
- describe "the resource" do
6
- let(:helpers) { double resource: resource }
7
- let(:arbre_context) { Arbre::Context.new({}, helpers) }
8
- subject(:page) { ActiveAdmin::Views::Pages::Show.new(arbre_context) }
9
-
10
- context 'when the resource does not respond to #decorator' do
11
- let(:resource) { 'Test Resource' }
12
-
13
- it "normally returns the resource" do
14
- expect(page.resource).to eq 'Test Resource'
15
- end
16
- end
17
-
18
- context 'when you pass a block to main content' do
19
- let(:block) { lambda { } }
20
- let(:resource) { double('resource') }
21
-
22
- before { allow(page).to receive(:active_admin_config).and_return(double(comments?: false, resource_columns: [:field]))}
23
-
24
- it 'appends it to the output' do
25
- expect(page).to receive(:attributes_table).with(:field).and_yield
26
- page.default_main_content(&block)
27
- end
28
- end
29
-
30
- end
31
-
32
- end
@@ -1,158 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe ActiveAdmin::Views::TabbedNavigation do
4
-
5
- let(:menu){ ActiveAdmin::Menu.new }
6
-
7
- let(:assigns){ { active_admin_menu: menu } }
8
- let(:helpers){ mock_action_view }
9
-
10
- let(:tabbed_navigation) do
11
- arbre(assigns, helpers) {
12
- insert_tag(ActiveAdmin::Views::TabbedNavigation, active_admin_menu)
13
- }.children.first
14
- end
15
-
16
- let(:html) { Capybara.string(tabbed_navigation.to_s) }
17
-
18
- before do
19
- load_resources { ActiveAdmin.register Post }
20
- allow(helpers).to receive(:admin_logged_in?).and_return(false)
21
- end
22
-
23
- describe "rendering a menu" do
24
-
25
- before do
26
- menu.add label: "Blog Posts", url: :admin_posts_path
27
-
28
- menu.add label: "Reports", url: "/admin/reports" do |reports|
29
- reports.add label: "A Sub Reports", url: "/admin/a-sub-reports"
30
- reports.add label: "B Sub Reports", url: "/admin/b-sub-reports"
31
- reports.add label: proc{ "Label Proc Sub Reports" }, url: "/admin/label-proc-sub-reports", id: "Label Proc Sub Reports"
32
- end
33
-
34
- menu.add label: "Administration", url: "/admin/administration" do |administration|
35
- administration.add label: "User administration",
36
- url: '/admin/user-administration',
37
- priority: 10,
38
- if: proc { false }
39
- end
40
-
41
- menu.add label: "Management", url: "#" do |management|
42
- management.add label: "Order management",
43
- url: '/admin/order-management',
44
- priority: 10,
45
- if: proc { false }
46
- management.add label: "Bill management",
47
- url: '/admin/bill-management',
48
- priority: 10,
49
- if: :admin_logged_in?
50
- end
51
-
52
- menu.add label: "Charles Smith", id: "current_user", url: -> { nil }
53
- end
54
-
55
- it "should generate a ul" do
56
- expect(html).to have_selector("ul")
57
- end
58
-
59
- it "should generate an li for each item" do
60
- expect(html).to have_selector("ul > li")
61
- end
62
-
63
- it "should generate a link for each item" do
64
- expect(html).to have_selector("a[href='/admin/posts']", text: "Blog Posts")
65
- end
66
-
67
- it "should generate a nested list for children" do
68
- expect(html).to have_selector("li > ul")
69
- end
70
-
71
- it "should generate a nested list with li for each child" do
72
- expect(html).to have_selector("ul > li#a_sub_reports")
73
- expect(html).to have_selector("ul > li#b_sub_reports")
74
- end
75
-
76
- it "should generate a valid id from a label proc" do
77
- expect(html).to have_selector("ul > li#label_proc_sub_reports")
78
- end
79
-
80
- it "should not generate a link for user administration" do
81
- expect(html).to_not have_selector("a[href='/admin/user-administration']", text: "User administration")
82
- end
83
-
84
- it "should generate the administration parent menu" do
85
- expect(html).to have_selector("a[href='/admin/administration']", text: "Administration")
86
- end
87
-
88
- it "should not generate a link for order management" do
89
- expect(html).to_not have_selector("a[href='/admin/order-management']", text: "Order management")
90
- end
91
-
92
- it "should not generate a link for bill management" do
93
- expect(html).to_not have_selector("a[href='/admin/bill-management']", text: "Bill management")
94
- end
95
-
96
- it "should not generate the management parent menu" do
97
- expect(html).to_not have_selector("a[href='#']", text: "Management")
98
- end
99
-
100
- context "when url is nil" do
101
- it "should generate a span" do
102
- selector = "li#current_user > span"
103
- expect(html).to have_selector(selector, text: "Charles Smith")
104
- end
105
- end
106
-
107
- describe "marking current item" do
108
-
109
- it "should add the 'current' class to the li" do
110
- assigns[:current_tab] = menu["Blog Posts"]
111
- expect(html).to have_selector("li.current")
112
- end
113
-
114
- it "should add the 'current' and 'has_nested' classes to the li and 'current' to the sub li" do
115
- assigns[:current_tab] = menu["Reports"]["A Sub Reports"]
116
- expect(html).to have_selector("li#reports.current")
117
- expect(html).to have_selector("li#reports.has_nested")
118
- expect(html).to have_selector("li#a_sub_reports.current")
119
- end
120
-
121
- end
122
-
123
- end
124
-
125
- describe "returning the menu items to display" do
126
-
127
- it "should return one item with no if block" do
128
- menu.add label: "Hello World", url: "/"
129
- expect(tabbed_navigation.menu_items).to eq menu.items
130
- end
131
-
132
- it "should not include menu items with an if block that returns false" do
133
- menu.add label: "Don't Show", url: "/", priority: 10, if: proc{ false }
134
- expect(tabbed_navigation.menu_items).to be_empty
135
- end
136
-
137
- it "should not include menu items with an if block that calls a method that returns false" do
138
- menu.add label: "Don't Show", url: "/", priority: 10, if: :admin_logged_in?
139
- expect(tabbed_navigation.menu_items).to be_empty
140
- end
141
-
142
- it "should not display any items that have no children to display" do
143
- menu.add label: "Parent", url: "#" do |p|
144
- p.add label: "Child", url: "/", priority: 10, if: proc{ false }
145
- end
146
- expect(tabbed_navigation.menu_items).to be_empty
147
- end
148
-
149
- it "should display a parent that has a child to display" do
150
- menu.add label: "Parent", url: "#" do |p|
151
- p.add label: "Hidden Child", url: "/", priority: 10, if: proc{ false }
152
- p.add label: "Child", url: "/"
153
- end
154
- expect(tabbed_navigation.menu_items.size).to eq(1)
155
- end
156
-
157
- end
158
- end
data/tasks/docs.rake DELETED
@@ -1,64 +0,0 @@
1
- require 'yard'
2
- require 'yard/rake/yardoc_task'
3
-
4
- namespace :docs do
5
-
6
- YARD::Rake::YardocTask.new do |t|
7
- t.files = ['lib/**/*.rb']
8
- t.options = ['--no-output']
9
- end
10
-
11
- def jekyll_redirect_string(filename)
12
- <<-EOD.strip_heredoc
13
- ---
14
- redirect_from: /docs/3-index-pages/#{filename}
15
- ---
16
-
17
- EOD
18
- end
19
-
20
- def filename_from_module(mod)
21
- mod.name.to_s.underscore.tr('_', '-')
22
- end
23
-
24
- def write_docstrings_to(path, mods)
25
- mods.each do |mod|
26
- filename = filename_from_module(mod)
27
-
28
- File.open("#{path}/#{filename}.md", 'w+') do |f|
29
- f << jekyll_redirect_string("#{filename}.html") + mod.docstring + "\n"
30
- end
31
- end
32
- end
33
-
34
- def docs_syncronized?
35
- # Do not print diff and yield whether exit code was zero
36
- sh('git diff --quiet docs/3-index-pages') do |outcome, _|
37
- return if outcome
38
-
39
- # Output diff before raising error
40
- sh('git diff docs/3-index-pages')
41
-
42
- raise <<-MSG.strip_heredoc
43
- The docs/3-index-pages directory is out of sync.
44
- Run rake generate_cops_documentation and commit the results.
45
- MSG
46
- end
47
- end
48
-
49
- desc "Update docs in the docs folder"
50
- task build: :yard do
51
- require 'yard'
52
- require 'active_support/all'
53
-
54
- YARD::Registry.load!
55
- views = YARD::Registry.at("ActiveAdmin::Views")
56
-
57
- # Index Types
58
- index_types = views.children.select{|obj| obj.name.to_s =~ /^IndexAs/ }
59
- write_docstrings_to "docs/3-index-pages", index_types
60
-
61
- docs_syncronized? if ENV["CI"]
62
- end
63
-
64
- end
data/tasks/lint.rake DELETED
@@ -1,21 +0,0 @@
1
- desc "Lints ActiveAdmin code base"
2
- task lint: ["lint:rubocop", "lint:mdl"]
3
-
4
- namespace :lint do
5
- require "rubocop/rake_task"
6
- desc "Checks ruby code style with RuboCop"
7
- RuboCop::RakeTask.new
8
-
9
- desc "Checks markdown code style with Markdownlint"
10
- task :mdl do
11
- puts "Running mdl..."
12
-
13
- targets = [
14
- *Dir.glob("docs/**/*.md"),
15
- "CONTRIBUTING.md",
16
- ".github/ISSUE_TEMPLATE.md"
17
- ]
18
-
19
- abort unless system("mdl", *targets)
20
- end
21
- end
data/tasks/local.rake DELETED
@@ -1,25 +0,0 @@
1
- desc 'Runs a command agains the local sample application'
2
- task :local do
3
- Rake::Task['setup'].invoke(false,
4
- '.test-rails-apps',
5
- 'rails_template_with_data')
6
-
7
- app_folder = ".test-rails-apps/rails-#{Rails::VERSION::STRING}"
8
-
9
- # Discard the "local" argument (name of the task)
10
- argv = ARGV[1..-1]
11
-
12
- # If it's a rails command, or we're using Rails 5, auto add the rails script
13
- rails_commands = %w(generate console server db dbconsole g c s runner)
14
-
15
- if Rails::VERSION::MAJOR >= 5 || rails_commands.include?(argv[0])
16
- argv.unshift('rails')
17
- end
18
-
19
- command = ['bundle', 'exec', *argv].join(' ')
20
- env = { 'BUNDLE_GEMFILE' => ENV['BUNDLE_GEMFILE'] }
21
-
22
- Dir.chdir(app_folder) do
23
- Bundler.with_clean_env { Kernel.exec(env, command) }
24
- end
25
- end