activeadmin 1.0.0.pre1 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (595) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +587 -939
  3. data/CODE_OF_CONDUCT.md +74 -0
  4. data/CONTRIBUTING.md +110 -59
  5. data/LICENSE +0 -5
  6. data/README.md +80 -61
  7. data/app/assets/javascripts/active_admin/base.js +517 -0
  8. data/app/assets/stylesheets/active_admin/_base.scss +31 -34
  9. data/app/assets/stylesheets/active_admin/_forms.scss +33 -35
  10. data/app/assets/stylesheets/active_admin/_header.scss +40 -8
  11. data/app/assets/stylesheets/active_admin/_mixins.scss +1 -1
  12. data/app/assets/stylesheets/active_admin/_normalize.scss +447 -0
  13. data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +0 -5
  14. data/app/assets/stylesheets/active_admin/components/_buttons.scss +0 -5
  15. data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
  16. data/app/assets/stylesheets/active_admin/components/_pagination.scss +11 -0
  17. data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
  18. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -4
  19. data/app/assets/stylesheets/active_admin/components/_tables.scss +5 -3
  20. data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
  21. data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -11
  22. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
  23. data/app/assets/stylesheets/active_admin/mixins/_sections.scss +0 -1
  24. data/app/assets/stylesheets/active_admin/mixins/_typography.scss +1 -1
  25. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +9 -1
  26. data/app/assets/stylesheets/active_admin/print.scss +3 -4
  27. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +1 -1
  28. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -5
  29. data/app/javascript/active_admin/base.js +28 -0
  30. data/app/javascript/active_admin/ext/jquery-ui.js +7 -0
  31. data/app/javascript/active_admin/ext/jquery.js +9 -0
  32. data/app/javascript/active_admin/initializers/batch-actions.js +61 -0
  33. data/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
  34. data/app/javascript/active_admin/initializers/datepicker.js +16 -0
  35. data/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
  36. data/app/javascript/active_admin/initializers/filters.js +10 -0
  37. data/app/javascript/active_admin/initializers/has-many.js +95 -0
  38. data/app/javascript/active_admin/initializers/per-page.js +13 -0
  39. data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
  40. data/app/javascript/active_admin/initializers/tabs.js +6 -0
  41. data/app/javascript/active_admin/lib/checkbox-toggler.js +49 -0
  42. data/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
  43. data/app/javascript/active_admin/lib/filters.js +39 -0
  44. data/app/javascript/active_admin/lib/modal-dialog.js +63 -0
  45. data/app/javascript/active_admin/lib/per-page.js +38 -0
  46. data/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
  47. data/app/javascript/active_admin/lib/utils.js +40 -0
  48. data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
  49. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
  50. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
  51. data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
  52. data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
  53. data/app/views/active_admin/devise/registrations/new.html.erb +3 -4
  54. data/app/views/active_admin/devise/sessions/new.html.erb +2 -2
  55. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  56. data/app/views/active_admin/devise/shared/_links.erb +12 -6
  57. data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
  58. data/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
  59. data/app/views/kaminari/active_admin/_gap.html.erb +8 -0
  60. data/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
  61. data/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
  62. data/app/views/kaminari/active_admin/_page.html.erb +12 -0
  63. data/app/views/kaminari/active_admin/_paginator.html.erb +25 -0
  64. data/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
  65. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  66. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  67. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  68. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  69. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  70. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  71. data/app/views/layouts/active_admin_logged_out.html.erb +21 -7
  72. data/config/locales/ar.yml +62 -47
  73. data/config/locales/az.yml +138 -0
  74. data/config/locales/bg.yml +1 -3
  75. data/config/locales/bs.yml +1 -2
  76. data/config/locales/ca.yml +2 -4
  77. data/config/locales/cs.yml +1 -2
  78. data/config/locales/da.yml +45 -14
  79. data/config/locales/de-CH.yml +4 -3
  80. data/config/locales/de.yml +46 -3
  81. data/config/locales/el.yml +3 -4
  82. data/config/locales/en-CA.yml +139 -0
  83. data/config/locales/en-GB.yml +46 -5
  84. data/config/locales/en.yml +44 -9
  85. data/config/locales/eo.yml +145 -0
  86. data/config/locales/es-MX.yml +9 -6
  87. data/config/locales/es.yml +63 -14
  88. data/config/locales/fa.yml +1 -2
  89. data/config/locales/fi.yml +2 -3
  90. data/config/locales/fr.yml +36 -8
  91. data/config/locales/he.yml +53 -7
  92. data/config/locales/hr.yml +1 -2
  93. data/config/locales/hu.yml +6 -3
  94. data/config/locales/id.yml +135 -0
  95. data/config/locales/it.yml +49 -4
  96. data/config/locales/ja.yml +31 -7
  97. data/config/locales/ko.yml +66 -36
  98. data/config/locales/lt.yml +27 -6
  99. data/config/locales/lv.yml +3 -4
  100. data/config/locales/mk.yml +134 -0
  101. data/config/locales/nb.yml +22 -8
  102. data/config/locales/nl.yml +26 -3
  103. data/config/locales/pl.yml +75 -5
  104. data/config/locales/pt-BR.yml +24 -2
  105. data/config/locales/pt-PT.yml +1 -2
  106. data/config/locales/ro.yml +1 -2
  107. data/config/locales/ru.yml +21 -4
  108. data/config/locales/sk.yml +168 -0
  109. data/config/locales/sv-SE.yml +50 -8
  110. data/config/locales/tr.yml +92 -45
  111. data/config/locales/uk.yml +30 -16
  112. data/config/locales/vi.yml +53 -12
  113. data/config/locales/zh-CN.yml +44 -7
  114. data/config/locales/zh-TW.yml +42 -3
  115. data/docs/.gitignore +1 -0
  116. data/docs/0-installation.md +68 -18
  117. data/docs/1-general-configuration.md +88 -4
  118. data/docs/10-custom-pages.md +56 -2
  119. data/docs/11-decorators.md +20 -5
  120. data/docs/12-arbre-components.md +75 -11
  121. data/docs/13-authorization-adapter.md +73 -36
  122. data/docs/14-gotchas.md +64 -18
  123. data/docs/2-resource-customization.md +91 -23
  124. data/docs/3-index-pages/custom-index.md +5 -1
  125. data/docs/3-index-pages/index-as-block.md +3 -5
  126. data/docs/3-index-pages/index-as-blog.md +4 -6
  127. data/docs/3-index-pages/index-as-grid.md +3 -5
  128. data/docs/3-index-pages/index-as-table.md +46 -9
  129. data/docs/3-index-pages.md +73 -10
  130. data/docs/4-csv-format.md +35 -0
  131. data/docs/5-forms.md +96 -18
  132. data/docs/6-show-pages.md +13 -25
  133. data/docs/7-sidebars.md +13 -1
  134. data/docs/8-custom-actions.md +18 -1
  135. data/docs/9-batch-actions.md +9 -5
  136. data/docs/CNAME +1 -0
  137. data/docs/Gemfile +3 -0
  138. data/docs/Gemfile.lock +259 -0
  139. data/docs/_config.yml +4 -0
  140. data/docs/_includes/footer.html +8 -0
  141. data/docs/_includes/google-analytics.html +16 -0
  142. data/docs/_includes/head.html +7 -0
  143. data/docs/_includes/toc.html +98 -0
  144. data/docs/_includes/top-menu.html +17 -0
  145. data/docs/_layouts/default.html +21 -0
  146. data/docs/documentation.md +60 -0
  147. data/docs/images/activeadmin.png +0 -0
  148. data/docs/images/code-header.png +0 -0
  149. data/docs/images/divider.png +0 -0
  150. data/docs/images/features.png +0 -0
  151. data/docs/images/tidelift.svg +14 -0
  152. data/docs/index.html +226 -0
  153. data/docs/stylesheets/main.css +1205 -0
  154. data/lib/active_admin/abstract_view_factory.rb +13 -51
  155. data/lib/active_admin/application.rb +105 -138
  156. data/lib/active_admin/application_settings.rb +42 -0
  157. data/lib/active_admin/authorization_adapter.rb +4 -7
  158. data/lib/active_admin/base_controller/authorization.rb +16 -21
  159. data/lib/active_admin/base_controller/menu.rb +10 -10
  160. data/lib/active_admin/base_controller.rb +15 -11
  161. data/lib/active_admin/batch_actions/controller.rb +6 -7
  162. data/lib/active_admin/batch_actions/resource_extension.rb +15 -15
  163. data/lib/active_admin/batch_actions/views/batch_action_form.rb +4 -4
  164. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +8 -7
  165. data/lib/active_admin/batch_actions/views/selection_cells.rb +7 -6
  166. data/lib/active_admin/batch_actions.rb +0 -1
  167. data/lib/active_admin/callbacks.rb +2 -2
  168. data/lib/active_admin/cancan_adapter.rb +1 -1
  169. data/lib/active_admin/collection_decorator.rb +31 -0
  170. data/lib/active_admin/controller_action.rb +2 -1
  171. data/lib/active_admin/csv_builder.rb +30 -20
  172. data/lib/active_admin/dependency.rb +36 -29
  173. data/lib/active_admin/deprecation.rb +0 -25
  174. data/lib/active_admin/devise.rb +9 -9
  175. data/lib/active_admin/dsl.rb +5 -18
  176. data/lib/active_admin/dynamic_setting.rb +38 -0
  177. data/lib/active_admin/dynamic_settings_node.rb +28 -0
  178. data/lib/active_admin/engine.rb +14 -7
  179. data/lib/active_admin/error.rb +6 -6
  180. data/lib/active_admin/filters/active.rb +29 -0
  181. data/lib/active_admin/filters/active_filter.rb +123 -0
  182. data/lib/active_admin/filters/active_sidebar.rb +54 -0
  183. data/lib/active_admin/filters/forms.rb +17 -10
  184. data/lib/active_admin/filters/formtastic_addons.rb +2 -7
  185. data/lib/active_admin/filters/resource_extension.rb +50 -14
  186. data/lib/active_admin/filters.rb +7 -5
  187. data/lib/active_admin/form_builder.rb +112 -67
  188. data/lib/active_admin/generators/boilerplate.rb +53 -0
  189. data/lib/active_admin/helpers/collection.rb +2 -0
  190. data/lib/active_admin/helpers/optional_display.rb +2 -2
  191. data/lib/active_admin/helpers/routes/url_helpers.rb +1 -1
  192. data/lib/active_admin/helpers/scope_chain.rb +1 -0
  193. data/lib/active_admin/inputs/datepicker_input.rb +13 -6
  194. data/lib/active_admin/inputs/filters/base/search_method_select.rb +9 -9
  195. data/lib/active_admin/inputs/filters/base.rb +3 -1
  196. data/lib/active_admin/inputs/filters/boolean_input.rb +1 -1
  197. data/lib/active_admin/inputs/filters/check_boxes_input.rb +1 -1
  198. data/lib/active_admin/inputs/filters/date_picker_input.rb +13 -0
  199. data/lib/active_admin/inputs/filters/date_range_input.rb +25 -9
  200. data/lib/active_admin/inputs/filters/select_input.rb +8 -4
  201. data/lib/active_admin/inputs/filters/text_input.rb +25 -0
  202. data/lib/active_admin/inputs.rb +2 -0
  203. data/lib/active_admin/localizers/resource_localizer.rb +35 -0
  204. data/lib/active_admin/localizers.rb +11 -0
  205. data/lib/active_admin/menu.rb +13 -15
  206. data/lib/active_admin/menu_collection.rb +0 -2
  207. data/lib/active_admin/menu_item.rb +10 -38
  208. data/lib/active_admin/namespace.rb +51 -32
  209. data/lib/active_admin/namespace_settings.rb +126 -0
  210. data/lib/active_admin/order_clause.rb +30 -8
  211. data/lib/active_admin/orm/active_record/comments/comment.rb +6 -20
  212. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +44 -21
  213. data/lib/active_admin/orm/active_record/comments/views.rb +2 -2
  214. data/lib/active_admin/orm/active_record/comments.rb +49 -29
  215. data/lib/active_admin/orm/active_record.rb +1 -1
  216. data/lib/active_admin/page.rb +24 -5
  217. data/lib/active_admin/page_controller.rb +2 -2
  218. data/lib/active_admin/page_dsl.rb +5 -1
  219. data/lib/active_admin/page_presenter.rb +2 -1
  220. data/lib/active_admin/pundit_adapter.rb +22 -9
  221. data/lib/active_admin/resource/action_items.rb +34 -12
  222. data/lib/active_admin/resource/attributes.rb +47 -0
  223. data/lib/active_admin/resource/belongs_to.rb +17 -4
  224. data/lib/active_admin/resource/controllers.rb +1 -1
  225. data/lib/active_admin/resource/menu.rb +9 -6
  226. data/lib/active_admin/resource/model.rb +15 -0
  227. data/lib/active_admin/resource/naming.rb +5 -5
  228. data/lib/active_admin/resource/ordering.rb +11 -0
  229. data/lib/active_admin/resource/page_presenters.rb +1 -1
  230. data/lib/active_admin/resource/pagination.rb +4 -0
  231. data/lib/active_admin/resource/routes.rb +56 -26
  232. data/lib/active_admin/resource/scope_to.rb +7 -7
  233. data/lib/active_admin/resource/scopes.rb +5 -3
  234. data/lib/active_admin/resource/sidebars.rb +2 -2
  235. data/lib/active_admin/resource.rb +80 -22
  236. data/lib/active_admin/resource_collection.rb +5 -3
  237. data/lib/active_admin/resource_controller/action_builder.rb +10 -0
  238. data/lib/active_admin/resource_controller/data_access.rb +56 -43
  239. data/lib/active_admin/resource_controller/decorators.rb +9 -31
  240. data/lib/active_admin/resource_controller/polymorphic_routes.rb +37 -0
  241. data/lib/active_admin/resource_controller/resource_class_methods.rb +2 -0
  242. data/lib/active_admin/resource_controller/scoping.rb +1 -1
  243. data/lib/active_admin/resource_controller/streaming.rb +12 -5
  244. data/lib/active_admin/resource_controller.rb +26 -10
  245. data/lib/active_admin/resource_dsl.rb +67 -21
  246. data/lib/active_admin/router.rb +90 -82
  247. data/lib/active_admin/scope.rb +21 -14
  248. data/lib/active_admin/settings_node.rb +19 -0
  249. data/lib/active_admin/sidebar_section.rb +6 -12
  250. data/lib/active_admin/version.rb +1 -1
  251. data/lib/active_admin/view_factory.rb +17 -18
  252. data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -2
  253. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +5 -5
  254. data/lib/active_admin/view_helpers/display_helper.rb +51 -9
  255. data/lib/active_admin/view_helpers/download_format_links_helper.rb +14 -1
  256. data/lib/active_admin/view_helpers/fields_for.rb +4 -4
  257. data/lib/active_admin/view_helpers/form_helper.rb +2 -2
  258. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +11 -4
  259. data/lib/active_admin/view_helpers/scope_name_helper.rb +16 -0
  260. data/lib/active_admin/view_helpers.rb +2 -2
  261. data/lib/active_admin/views/action_items.rb +1 -1
  262. data/lib/active_admin/views/components/active_admin_form.rb +45 -13
  263. data/lib/active_admin/views/components/attributes_table.rb +11 -29
  264. data/lib/active_admin/views/components/blank_slate.rb +1 -1
  265. data/lib/active_admin/views/components/columns.rb +12 -7
  266. data/lib/active_admin/views/components/dropdown_menu.rb +11 -13
  267. data/lib/active_admin/views/components/index_list.rb +6 -5
  268. data/lib/active_admin/views/components/menu.rb +32 -0
  269. data/lib/active_admin/views/components/menu_item.rb +58 -0
  270. data/lib/active_admin/views/components/paginated_collection.rb +52 -33
  271. data/lib/active_admin/views/components/panel.rb +2 -4
  272. data/lib/active_admin/views/components/scopes.rb +20 -12
  273. data/lib/active_admin/views/components/sidebar.rb +13 -0
  274. data/lib/active_admin/views/components/sidebar_section.rb +6 -1
  275. data/lib/active_admin/views/components/site_title.rb +6 -7
  276. data/lib/active_admin/views/components/status_tag.rb +19 -23
  277. data/lib/active_admin/views/components/table_for.rb +31 -57
  278. data/lib/active_admin/views/components/tabs.rb +17 -5
  279. data/lib/active_admin/views/footer.rb +15 -4
  280. data/lib/active_admin/views/header.rb +3 -16
  281. data/lib/active_admin/views/index_as_blog.rb +3 -4
  282. data/lib/active_admin/views/index_as_grid.rb +28 -28
  283. data/lib/active_admin/views/index_as_table.rb +76 -28
  284. data/lib/active_admin/views/pages/base.rb +45 -58
  285. data/lib/active_admin/views/pages/form.rb +5 -2
  286. data/lib/active_admin/views/pages/index.rb +15 -13
  287. data/lib/active_admin/views/pages/layout.rb +1 -1
  288. data/lib/active_admin/views/pages/show.rb +9 -3
  289. data/lib/active_admin/views/tabbed_navigation.rb +4 -59
  290. data/lib/active_admin/views/title_bar.rb +6 -6
  291. data/lib/active_admin/views.rb +1 -1
  292. data/lib/active_admin.rb +69 -67
  293. data/lib/activeadmin.rb +1 -1
  294. data/lib/generators/active_admin/assets/assets_generator.rb +3 -3
  295. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  296. data/lib/generators/active_admin/assets/templates/{active_admin.css.scss → active_admin.scss} +3 -3
  297. data/lib/generators/active_admin/devise/devise_generator.rb +17 -26
  298. data/lib/generators/active_admin/install/install_generator.rb +18 -8
  299. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +107 -5
  300. data/lib/generators/active_admin/install/templates/{admin_user.rb.erb → admin_users.rb.erb} +1 -3
  301. data/lib/generators/active_admin/install/templates/dashboard.rb +2 -3
  302. data/lib/generators/active_admin/install/templates/migrations/{create_active_admin_comments.rb → create_active_admin_comments.rb.erb} +2 -5
  303. data/lib/generators/active_admin/page/page_generator.rb +1 -1
  304. data/lib/generators/active_admin/page/templates/page.rb +1 -1
  305. data/lib/generators/active_admin/resource/resource_generator.rb +8 -2
  306. data/lib/generators/active_admin/resource/templates/admin.rb.erb +46 -0
  307. data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
  308. data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
  309. data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
  310. data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
  311. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +26 -0
  312. data/lib/ransack_ext.rb +11 -3
  313. data/vendor/assets/javascripts/jquery-ui/data.js +41 -0
  314. data/vendor/assets/javascripts/jquery-ui/disable-selection.js +48 -0
  315. data/vendor/assets/javascripts/jquery-ui/escape-selector.js +23 -0
  316. data/vendor/assets/javascripts/jquery-ui/focusable.js +86 -0
  317. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  318. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  319. data/vendor/assets/javascripts/jquery-ui/ie.js +17 -0
  320. data/vendor/assets/javascripts/jquery-ui/keycode.js +47 -0
  321. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  322. data/vendor/assets/javascripts/jquery-ui/plugin.js +46 -0
  323. data/vendor/assets/javascripts/jquery-ui/position.js +500 -0
  324. data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +42 -0
  325. data/vendor/assets/javascripts/jquery-ui/safe-blur.js +23 -0
  326. data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +47 -0
  327. data/vendor/assets/javascripts/jquery-ui/tabbable.js +38 -0
  328. data/vendor/assets/javascripts/jquery-ui/unique-id.js +51 -0
  329. data/vendor/assets/javascripts/jquery-ui/version.js +17 -0
  330. data/vendor/assets/javascripts/jquery-ui/widget.js +735 -0
  331. data/vendor/assets/javascripts/jquery-ui/widgets/button.js +391 -0
  332. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +291 -0
  333. data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +300 -0
  334. data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2123 -0
  335. data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +954 -0
  336. data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1259 -0
  337. data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +230 -0
  338. data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1207 -0
  339. data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1561 -0
  340. data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +931 -0
  341. metadata +182 -553
  342. data/.gitignore +0 -49
  343. data/.hound.yml +0 -11
  344. data/.travis.yml +0 -42
  345. data/.yardopts +0 -8
  346. data/Gemfile +0 -54
  347. data/Guardfile +0 -8
  348. data/Rakefile +0 -33
  349. data/activeadmin.gemspec +0 -28
  350. data/app/assets/images/active_admin/datepicker/datepicker-input-icon.png +0 -0
  351. data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
  352. data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
  353. data/app/assets/images/active_admin/orderable.png +0 -0
  354. data/app/assets/javascripts/active_admin/application.js.coffee +0 -32
  355. data/app/assets/javascripts/active_admin/base.js.coffee +0 -14
  356. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  357. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  358. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -39
  359. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -36
  360. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -101
  361. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  362. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  363. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -37
  364. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -27
  365. data/app/assets/javascripts/active_admin/lib/popover.js.coffee +0 -68
  366. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -24
  367. data/app/assets/stylesheets/active_admin/components/_popovers.scss +0 -122
  368. data/app/assets/stylesheets/active_admin/mixins/_icons.scss +0 -20
  369. data/app/assets/stylesheets/active_admin/mixins/_reset.scss +0 -165
  370. data/cucumber.yml +0 -3
  371. data/features/action_item.feature +0 -73
  372. data/features/authorization.feature +0 -64
  373. data/features/authorization_cancan.feature +0 -52
  374. data/features/authorization_pundit.feature +0 -37
  375. data/features/belongs_to.feature +0 -66
  376. data/features/breadcrumb.feature +0 -75
  377. data/features/comments/commenting.feature +0 -171
  378. data/features/comments/viewing_index.feature +0 -19
  379. data/features/dashboard.feature +0 -16
  380. data/features/decorators.feature +0 -41
  381. data/features/development_reloading.feature +0 -30
  382. data/features/edit_page.feature +0 -117
  383. data/features/favicon.feature +0 -20
  384. data/features/first_boot.feature +0 -16
  385. data/features/global_navigation.feature +0 -29
  386. data/features/i18n.feature +0 -43
  387. data/features/index/batch_actions.feature +0 -164
  388. data/features/index/filters.feature +0 -161
  389. data/features/index/format_as_csv.feature +0 -203
  390. data/features/index/formats.feature +0 -66
  391. data/features/index/index_as_block.feature +0 -15
  392. data/features/index/index_as_blog.feature +0 -69
  393. data/features/index/index_as_grid.feature +0 -45
  394. data/features/index/index_as_table.feature +0 -291
  395. data/features/index/index_blank_slate.feature +0 -83
  396. data/features/index/index_parameters.feature +0 -75
  397. data/features/index/index_scope_to.feature +0 -56
  398. data/features/index/index_scopes.feature +0 -251
  399. data/features/index/page_title.feature +0 -41
  400. data/features/index/pagination.feature +0 -59
  401. data/features/index/switch_index_view.feature +0 -73
  402. data/features/menu.feature +0 -53
  403. data/features/new_page.feature +0 -109
  404. data/features/registering_assets.feature +0 -35
  405. data/features/registering_pages.feature +0 -148
  406. data/features/registering_resources.feature +0 -33
  407. data/features/renamed_resource.feature +0 -32
  408. data/features/root_to.feature +0 -17
  409. data/features/show/default_content.feature +0 -43
  410. data/features/show/page_title.feature +0 -58
  411. data/features/show/tabs.feature +0 -27
  412. data/features/sidebar_sections.feature +0 -210
  413. data/features/site_title.feature +0 -47
  414. data/features/specifying_actions.feature +0 -93
  415. data/features/step_definitions/action_item_steps.rb +0 -7
  416. data/features/step_definitions/action_link_steps.rb +0 -20
  417. data/features/step_definitions/additional_web_steps.rb +0 -81
  418. data/features/step_definitions/asset_steps.rb +0 -15
  419. data/features/step_definitions/attribute_steps.rb +0 -18
  420. data/features/step_definitions/batch_action_steps.rb +0 -72
  421. data/features/step_definitions/blog_steps.rb +0 -3
  422. data/features/step_definitions/breadcrumb_steps.rb +0 -3
  423. data/features/step_definitions/comment_steps.rb +0 -12
  424. data/features/step_definitions/configuration_steps.rb +0 -100
  425. data/features/step_definitions/dashboard_steps.rb +0 -15
  426. data/features/step_definitions/factory_steps.rb +0 -34
  427. data/features/step_definitions/filter_steps.rb +0 -39
  428. data/features/step_definitions/flash_steps.rb +0 -11
  429. data/features/step_definitions/format_steps.rb +0 -52
  430. data/features/step_definitions/i18n_steps.rb +0 -3
  431. data/features/step_definitions/index_scope_steps.rb +0 -21
  432. data/features/step_definitions/index_views_steps.rb +0 -3
  433. data/features/step_definitions/layout_steps.rb +0 -3
  434. data/features/step_definitions/member_link_steps.rb +0 -7
  435. data/features/step_definitions/menu_steps.rb +0 -11
  436. data/features/step_definitions/pagination_steps.rb +0 -7
  437. data/features/step_definitions/sidebar_steps.rb +0 -13
  438. data/features/step_definitions/site_title_steps.rb +0 -17
  439. data/features/step_definitions/symbol_leak_steps.rb +0 -3
  440. data/features/step_definitions/tab_steps.rb +0 -8
  441. data/features/step_definitions/table_steps.rb +0 -119
  442. data/features/step_definitions/user_steps.rb +0 -45
  443. data/features/step_definitions/web_steps.rb +0 -85
  444. data/features/sti_resource.feature +0 -65
  445. data/features/strong_parameters.feature +0 -73
  446. data/features/support/env.rb +0 -145
  447. data/features/support/paths.rb +0 -71
  448. data/features/support/selectors.rb +0 -45
  449. data/features/symbol_leak.feature +0 -35
  450. data/features/users/logging_in.feature +0 -34
  451. data/features/users/logging_out.feature +0 -13
  452. data/features/users/resetting_password.feature +0 -34
  453. data/lib/active_admin/batch_actions/views/batch_action_popover.rb +0 -28
  454. data/lib/active_admin/event.rb +0 -33
  455. data/lib/active_admin/helpers/settings.rb +0 -115
  456. data/lib/active_admin/iconic/icons.rb +0 -142
  457. data/lib/active_admin/iconic.rb +0 -53
  458. data/lib/active_admin/view_helpers/icon_helper.rb +0 -12
  459. data/lib/active_admin/views/components/action_list_popover.rb +0 -29
  460. data/lib/active_admin/views/components/popover.rb +0 -27
  461. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  462. data/lib/generators/active_admin/resource/templates/admin.rb +0 -18
  463. data/script/local +0 -44
  464. data/script/travis_cache +0 -107
  465. data/script/use_rails +0 -53
  466. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  467. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  468. data/spec/javascripts/coffeescripts/jquery.aa.popover-spec.js.coffee +0 -82
  469. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  470. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  471. data/spec/javascripts/fixtures/flashes.html +0 -2
  472. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  473. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  474. data/spec/javascripts/support/jasmine.yml +0 -74
  475. data/spec/javascripts/support/jasmine_config.rb +0 -23
  476. data/spec/javascripts/support/jasmine_runner.rb +0 -32
  477. data/spec/rails_helper.rb +0 -154
  478. data/spec/requests/default_namespace_spec.rb +0 -61
  479. data/spec/requests/javascript_spec.rb +0 -20
  480. data/spec/requests/memory_spec.rb +0 -23
  481. data/spec/requests/stylesheets_spec.rb +0 -18
  482. data/spec/spec_helper.rb +0 -17
  483. data/spec/support/deferred_garbage_collection.rb +0 -19
  484. data/spec/support/detect_rails_version.rb +0 -34
  485. data/spec/support/integration_example_group.rb +0 -31
  486. data/spec/support/jslint.yml +0 -80
  487. data/spec/support/rails_template.rb +0 -138
  488. data/spec/support/rails_template_with_data.rb +0 -59
  489. data/spec/support/templates/admin/stores.rb +0 -9
  490. data/spec/support/templates/cucumber.rb +0 -24
  491. data/spec/support/templates/cucumber_with_reloading.rb +0 -5
  492. data/spec/support/templates/en.yml +0 -8
  493. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  494. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  495. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  496. data/spec/support/templates/policies/application_policy.rb +0 -45
  497. data/spec/support/templates/policies/category_policy.rb +0 -7
  498. data/spec/support/templates/policies/post_policy.rb +0 -15
  499. data/spec/support/templates/policies/store_policy.rb +0 -11
  500. data/spec/support/templates/policies/user_policy.rb +0 -11
  501. data/spec/support/templates/post_decorator.rb +0 -11
  502. data/spec/unit/abstract_view_factory_spec.rb +0 -79
  503. data/spec/unit/action_builder_spec.rb +0 -132
  504. data/spec/unit/active_admin_spec.rb +0 -11
  505. data/spec/unit/application_spec.rb +0 -140
  506. data/spec/unit/asset_registration_spec.rb +0 -52
  507. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  508. data/spec/unit/authorization/controller_authorization_spec.rb +0 -39
  509. data/spec/unit/authorization/index_overriding_spec.rb +0 -22
  510. data/spec/unit/auto_link_spec.rb +0 -69
  511. data/spec/unit/batch_actions/resource_spec.rb +0 -92
  512. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  513. data/spec/unit/belongs_to_spec.rb +0 -51
  514. data/spec/unit/cancan_adapter_spec.rb +0 -43
  515. data/spec/unit/comments_spec.rb +0 -166
  516. data/spec/unit/component_spec.rb +0 -18
  517. data/spec/unit/config_shared_examples.rb +0 -59
  518. data/spec/unit/controller_filters_spec.rb +0 -44
  519. data/spec/unit/csv_builder_spec.rb +0 -244
  520. data/spec/unit/dependency_spec.rb +0 -135
  521. data/spec/unit/devise_spec.rb +0 -96
  522. data/spec/unit/dsl_spec.rb +0 -122
  523. data/spec/unit/event_spec.rb +0 -47
  524. data/spec/unit/filters/filter_form_builder_spec.rb +0 -433
  525. data/spec/unit/filters/resource_spec.rb +0 -121
  526. data/spec/unit/form_builder_spec.rb +0 -752
  527. data/spec/unit/generators/install_spec.rb +0 -23
  528. data/spec/unit/helpers/collection_spec.rb +0 -65
  529. data/spec/unit/helpers/scope_chain_spec.rb +0 -36
  530. data/spec/unit/helpers/settings_spec.rb +0 -30
  531. data/spec/unit/i18n_spec.rb +0 -12
  532. data/spec/unit/menu_collection_spec.rb +0 -62
  533. data/spec/unit/menu_item_spec.rb +0 -143
  534. data/spec/unit/menu_spec.rb +0 -71
  535. data/spec/unit/namespace/authorization_spec.rb +0 -27
  536. data/spec/unit/namespace/register_page_spec.rb +0 -74
  537. data/spec/unit/namespace/register_resource_spec.rb +0 -161
  538. data/spec/unit/namespace_spec.rb +0 -103
  539. data/spec/unit/order_clause_spec.rb +0 -81
  540. data/spec/unit/page_controller_spec.rb +0 -5
  541. data/spec/unit/page_spec.rb +0 -78
  542. data/spec/unit/pretty_format_spec.rb +0 -63
  543. data/spec/unit/pundit_adapter_spec.rb +0 -98
  544. data/spec/unit/resource/action_items_spec.rb +0 -65
  545. data/spec/unit/resource/includes_spec.rb +0 -21
  546. data/spec/unit/resource/menu_spec.rb +0 -18
  547. data/spec/unit/resource/naming_spec.rb +0 -122
  548. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  549. data/spec/unit/resource/pagination_spec.rb +0 -38
  550. data/spec/unit/resource/routes_spec.rb +0 -73
  551. data/spec/unit/resource/scopes_spec.rb +0 -50
  552. data/spec/unit/resource/sidebars_spec.rb +0 -43
  553. data/spec/unit/resource_collection_spec.rb +0 -158
  554. data/spec/unit/resource_controller/data_access_spec.rb +0 -140
  555. data/spec/unit/resource_controller/decorators_spec.rb +0 -83
  556. data/spec/unit/resource_controller/sidebars_spec.rb +0 -45
  557. data/spec/unit/resource_controller_spec.rb +0 -269
  558. data/spec/unit/resource_registration_spec.rb +0 -56
  559. data/spec/unit/resource_spec.rb +0 -278
  560. data/spec/unit/routing_spec.rb +0 -180
  561. data/spec/unit/scope_spec.rb +0 -190
  562. data/spec/unit/settings_spec.rb +0 -118
  563. data/spec/unit/view_factory_spec.rb +0 -21
  564. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -217
  565. data/spec/unit/view_helpers/display_name_spec.rb +0 -69
  566. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  567. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  568. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -25
  569. data/spec/unit/view_helpers/form_helper_spec.rb +0 -43
  570. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -139
  571. data/spec/unit/views/components/action_list_popover_spec.rb +0 -40
  572. data/spec/unit/views/components/attributes_table_spec.rb +0 -272
  573. data/spec/unit/views/components/batch_action_popover_spec.rb +0 -47
  574. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  575. data/spec/unit/views/components/columns_spec.rb +0 -172
  576. data/spec/unit/views/components/index_list_spec.rb +0 -35
  577. data/spec/unit/views/components/index_table_for_spec.rb +0 -46
  578. data/spec/unit/views/components/paginated_collection_spec.rb +0 -236
  579. data/spec/unit/views/components/panel_spec.rb +0 -62
  580. data/spec/unit/views/components/popover_spec.rb +0 -33
  581. data/spec/unit/views/components/sidebar_section_spec.rb +0 -47
  582. data/spec/unit/views/components/site_title_spec.rb +0 -78
  583. data/spec/unit/views/components/status_tag_spec.rb +0 -235
  584. data/spec/unit/views/components/table_for_spec.rb +0 -384
  585. data/spec/unit/views/components/tabs_spec.rb +0 -39
  586. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -47
  587. data/spec/unit/views/pages/form_spec.rb +0 -42
  588. data/spec/unit/views/pages/index_spec.rb +0 -60
  589. data/spec/unit/views/pages/layout_spec.rb +0 -59
  590. data/spec/unit/views/pages/show_spec.rb +0 -33
  591. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  592. data/tasks/docs.rake +0 -37
  593. data/tasks/parallel_tests.rake +0 -66
  594. data/tasks/test.rake +0 -83
  595. data/tasks/yard.rake +0 -9
@@ -1,42 +0,0 @@
1
- require 'rails_helper'
2
-
3
- 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!(:params){ { 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 page_title is assigned" do
20
- it "should show the set page title" do
21
- arbre_context.assigns[:page_title] = "My Page Title"
22
- page = ActiveAdmin::Views::Pages::Form.new(arbre_context)
23
- expect(page.title).to eq "My Page Title"
24
- end
25
- end
26
-
27
- context "when page_title is not assigned" do
28
- {
29
- "new" => "New Post",
30
- "create" => "New Post",
31
- "edit" => "Edit Post",
32
- "update" => "Edit Post"
33
- }.each do |action, title|
34
- it "should show the correct I18n text on the #{action} action" do
35
- params[:action] = action
36
- page = ActiveAdmin::Views::Pages::Form.new(arbre_context)
37
- expect(page.title).to eq title
38
- end
39
- end
40
- end
41
- end
42
- end
@@ -1,60 +0,0 @@
1
- require 'rails_helper'
2
-
3
- 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){ { 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
- 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,33 +0,0 @@
1
- require 'rails_helper'
2
-
3
- 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_class) { double(columns: [double('column', name: 'field')]) }
21
- let(:resource) { double('resource', class: resource_class) }
22
-
23
- before { allow(page).to receive(:active_admin_config).and_return(double(comments?: false))}
24
-
25
- it 'appends it to the output' do
26
- expect(page).to receive(:attributes_table).with(:field).and_yield
27
- page.default_main_content(&block)
28
- end
29
- end
30
-
31
- end
32
-
33
- end
@@ -1,158 +0,0 @@
1
- require 'rails_helper'
2
-
3
- include ActiveAdmin
4
- describe ActiveAdmin::Views::TabbedNavigation do
5
-
6
- let(:menu){ ActiveAdmin::Menu.new }
7
-
8
- let(:assigns){ { active_admin_menu: menu } }
9
- let(:helpers){ mock_action_view }
10
-
11
- let(:tabbed_navigation) do
12
- arbre(assigns, helpers) {
13
- insert_tag(ActiveAdmin::Views::TabbedNavigation, active_admin_menu)
14
- }.children.first
15
- end
16
-
17
- let(:html) { Capybara.string(tabbed_navigation.to_s) }
18
-
19
- before do
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,37 +0,0 @@
1
- namespace :docs do
2
-
3
- AUTOGEN_WARNING = <<-EOD
4
- <!--
5
- WARNING: Please DO NOT edit this file! Update
6
- source documentation in lib/active_admin/views
7
- and execute rake yard to regenerate it.
8
- -->
9
-
10
- EOD
11
-
12
- def filename_from_module(mod)
13
- mod.name.to_s.underscore.tr('_', '-')
14
- end
15
-
16
- def write_docstrings_to(path, mods)
17
- mods.each do |mod|
18
- File.open("#{path}/#{filename_from_module(mod)}.md", 'w+') do |f|
19
- f << AUTOGEN_WARNING + mod.docstring + "\n"
20
- end
21
- end
22
- end
23
-
24
- desc "Update docs in the docs folder"
25
- task :build do
26
- require 'yard'
27
- require 'active_support/all'
28
-
29
- YARD::Registry.load!
30
- views = YARD::Registry.at("ActiveAdmin::Views")
31
-
32
- # Index Types
33
- index_types = views.children.select{|obj| obj.name.to_s =~ /^IndexAs/ }
34
- write_docstrings_to "docs/3-index-pages", index_types
35
- end
36
-
37
- end
@@ -1,66 +0,0 @@
1
- require 'parallel'
2
- require 'shellwords'
3
-
4
- desc "Run the full suite using parallel_tests to run on multiple cores"
5
- task :parallel_tests => ['parallel:setup_parallel_tests', 'parallel:spec', 'parallel:features', 'cucumber:class_reloading']
6
-
7
- namespace :parallel do
8
-
9
- def rails_app_rake(task)
10
- require 'rails/version'
11
- system "cd spec/rails/rails-#{Rails::VERSION::STRING}; rake #{task}"
12
- end
13
-
14
- task :after_setup_hook do
15
- rails_app_rake "parallel:load_schema"
16
- rails_app_rake "parallel:create_cucumber_db"
17
- rails_app_rake "parallel:load_schema_cucumber_db"
18
- end
19
-
20
- def parallel_tests_setup?
21
- require 'rails/version'
22
- database_config = File.join "spec", "rails", "rails-#{Rails::VERSION::STRING}", "config", "database.yml"
23
- File.exists?(database_config) && File.read(database_config).include?("TEST_ENV_NUMBER")
24
- end
25
-
26
- desc "Setup parallel_tests DBs"
27
- task :setup_parallel_tests do
28
- unless parallel_tests_setup?
29
- puts "parallel_tests is not set up. (Re)building spec/rails/rails-#{Rails::VERSION::STRING} App. Please wait."
30
- require 'rails/version'
31
- system("rm -Rf spec/rails/rails-#{Rails::VERSION::STRING}")
32
- Rake::Task['setup'].invoke true
33
- end
34
- end
35
-
36
- def run_in_parallel(command)
37
- bash("ENV['TEST_ENV_NUMBER']=#{Parallel.processor_count} #{command}")
38
- end
39
-
40
- def bash(command)
41
- escaped_command = Shellwords.escape(command)
42
- system("bash -c #{escaped_command}")
43
- end
44
-
45
- desc "Run the specs in parallel"
46
- task :spec => :setup_parallel_tests do
47
- run_in_parallel "parallel_rspec spec/"
48
- end
49
-
50
- namespace :spec do
51
-
52
- %w(unit integration).each do |type|
53
- desc "Run the #{type} specs in parallel"
54
- task type => :setup_parallel_tests do
55
- run_in_parallel "parallel_rspec spec/#{type}"
56
- end
57
- end
58
-
59
- end
60
-
61
- desc "Run the cucumber features in parallel"
62
- task :features => :setup_parallel_tests do
63
- run_in_parallel "parallel_cucumber features/"
64
- end
65
-
66
- end
data/tasks/test.rake DELETED
@@ -1,83 +0,0 @@
1
- desc "Creates a test rails app for the specs to run against"
2
- task :setup, :parallel do |t, args|
3
- require 'rails/version'
4
- if File.exists? dir = "spec/rails/rails-#{Rails::VERSION::STRING}"
5
- puts "test app #{dir} already exists; skipping"
6
- else
7
- system("mkdir spec/rails") unless File.exists?("spec/rails")
8
- system "#{'INSTALL_PARALLEL=yes' if args[:parallel]} bundle exec rails new #{dir} -m spec/support/rails_template.rb --skip-bundle"
9
- Rake::Task['parallel:after_setup_hook'].invoke if args[:parallel]
10
- end
11
- end
12
-
13
- desc "Run the full suite using 1 core"
14
- task test: ['spec:unit', 'spec:integration', 'cucumber', 'cucumber:class_reloading']
15
-
16
- require 'coveralls/rake/task'
17
- Coveralls::RakeTask.new
18
- task test_with_coveralls: [:test, 'coveralls:push']
19
-
20
- namespace :test do
21
-
22
- def run_tests_against(*versions)
23
- current_version = detect_rails_version if File.exists?("Gemfile.lock")
24
-
25
- versions.each do |version|
26
- puts
27
- puts "== Using Rails #{version}"
28
-
29
- cmd "./script/use_rails #{version}"
30
- cmd "bundle exec rspec spec"
31
- cmd "bundle exec cucumber features"
32
- cmd "bundle exec cucumber -p class-reloading features"
33
- end
34
-
35
- cmd "./script/use_rails #{current_version}" if current_version
36
- end
37
-
38
- desc "Run the full suite against the important versions of rails"
39
- task :major_supported_rails do
40
- run_tests_against *TRAVIS_RAILS_VERSIONS
41
- end
42
-
43
- desc "Alias for major_supported_rails"
44
- task :all => :major_supported_rails
45
-
46
- end
47
-
48
- require 'rspec/core/rake_task'
49
-
50
- RSpec::Core::RakeTask.new(:spec)
51
-
52
- namespace :spec do
53
-
54
- desc "Run the unit specs"
55
- RSpec::Core::RakeTask.new(:unit) do |t|
56
- t.pattern = "spec/unit/**/*_spec.rb"
57
- end
58
-
59
- desc "Run the integration specs"
60
- RSpec::Core::RakeTask.new(:integration) do |t|
61
- t.pattern = "spec/integration/**/*_spec.rb"
62
- end
63
-
64
- end
65
-
66
-
67
- require 'cucumber/rake/task'
68
-
69
- Cucumber::Rake::Task.new(:cucumber) do |t|
70
- t.profile = 'default'
71
- end
72
-
73
- namespace :cucumber do
74
-
75
- Cucumber::Rake::Task.new(:wip, "Run the cucumber scenarios with the @wip tag") do |t|
76
- t.profile = 'wip'
77
- end
78
-
79
- Cucumber::Rake::Task.new(:class_reloading, "Run the cucumber scenarios that test reloading") do |t|
80
- t.profile = 'class-reloading'
81
- end
82
-
83
- end
data/tasks/yard.rake DELETED
@@ -1,9 +0,0 @@
1
- if Gem.loaded_specs['yard']
2
- require 'yard'
3
- require 'yard/rake/yardoc_task'
4
-
5
- YARD::Rake::YardocTask.new do |t|
6
- t.after = ->{ Rake::Task['docs:build'].invoke }
7
- t.files = ['lib/**/*.rb']
8
- end
9
- end