activeadmin 1.0.0.pre4 → 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 (542) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +529 -52
  3. data/CODE_OF_CONDUCT.md +64 -12
  4. data/CONTRIBUTING.md +129 -58
  5. data/README.md +80 -79
  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/_base.scss +2 -2
  21. data/app/assets/stylesheets/active_admin/_forms.scss +19 -26
  22. data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +0 -5
  23. data/app/assets/stylesheets/active_admin/components/_pagination.scss +11 -0
  24. data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
  25. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -4
  26. data/app/assets/stylesheets/active_admin/components/_tables.scss +4 -1
  27. data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
  28. data/app/assets/stylesheets/active_admin/mixins/_all.scss +0 -2
  29. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
  30. data/app/assets/stylesheets/active_admin/print.scss +2 -3
  31. data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
  32. data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
  33. data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
  34. data/app/views/active_admin/devise/registrations/new.html.erb +3 -4
  35. data/app/views/active_admin/devise/sessions/new.html.erb +2 -2
  36. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  37. data/app/views/active_admin/devise/shared/_links.erb +12 -6
  38. data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
  39. data/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
  40. data/app/views/kaminari/active_admin/_gap.html.erb +8 -0
  41. data/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
  42. data/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
  43. data/app/views/kaminari/active_admin/_page.html.erb +12 -0
  44. data/app/views/kaminari/active_admin/_paginator.html.erb +25 -0
  45. data/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
  46. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  47. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  48. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  49. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  50. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  51. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  52. data/app/views/layouts/active_admin_logged_out.html.erb +2 -2
  53. data/config/locales/ar.yml +4 -5
  54. data/config/locales/bg.yml +1 -3
  55. data/config/locales/bs.yml +1 -2
  56. data/config/locales/ca.yml +2 -4
  57. data/config/locales/cs.yml +1 -2
  58. data/config/locales/da.yml +45 -14
  59. data/config/locales/de-CH.yml +2 -3
  60. data/config/locales/de.yml +30 -3
  61. data/config/locales/el.yml +3 -4
  62. data/config/locales/en-CA.yml +139 -0
  63. data/config/locales/en-GB.yml +44 -3
  64. data/config/locales/en.yml +31 -5
  65. data/config/locales/eo.yml +145 -0
  66. data/config/locales/es-MX.yml +5 -3
  67. data/config/locales/es.yml +32 -6
  68. data/config/locales/fa.yml +1 -2
  69. data/config/locales/fi.yml +2 -3
  70. data/config/locales/fr.yml +27 -5
  71. data/config/locales/he.yml +53 -7
  72. data/config/locales/hr.yml +1 -2
  73. data/config/locales/hu.yml +5 -2
  74. data/config/locales/id.yml +2 -3
  75. data/config/locales/it.yml +15 -7
  76. data/config/locales/ja.yml +8 -3
  77. data/config/locales/ko.yml +1 -2
  78. data/config/locales/lt.yml +27 -6
  79. data/config/locales/lv.yml +1 -2
  80. data/config/locales/mk.yml +134 -0
  81. data/config/locales/nb.yml +16 -7
  82. data/config/locales/nl.yml +13 -3
  83. data/config/locales/pl.yml +75 -5
  84. data/config/locales/pt-BR.yml +10 -3
  85. data/config/locales/pt-PT.yml +1 -2
  86. data/config/locales/ro.yml +1 -2
  87. data/config/locales/ru.yml +5 -3
  88. data/config/locales/sk.yml +168 -0
  89. data/config/locales/sv-SE.yml +4 -3
  90. data/config/locales/tr.yml +10 -2
  91. data/config/locales/uk.yml +4 -3
  92. data/config/locales/vi.yml +48 -8
  93. data/config/locales/zh-CN.yml +38 -7
  94. data/config/locales/zh-TW.yml +2 -3
  95. data/docs/.gitignore +1 -0
  96. data/docs/0-installation.md +19 -13
  97. data/docs/1-general-configuration.md +37 -4
  98. data/docs/10-custom-pages.md +47 -3
  99. data/docs/11-decorators.md +4 -0
  100. data/docs/12-arbre-components.md +73 -9
  101. data/docs/13-authorization-adapter.md +72 -35
  102. data/docs/14-gotchas.md +57 -19
  103. data/docs/2-resource-customization.md +64 -20
  104. data/docs/3-index-pages/custom-index.md +5 -1
  105. data/docs/3-index-pages/index-as-block.md +3 -5
  106. data/docs/3-index-pages/index-as-blog.md +4 -6
  107. data/docs/3-index-pages/index-as-grid.md +3 -5
  108. data/docs/3-index-pages/index-as-table.md +33 -12
  109. data/docs/3-index-pages.md +65 -9
  110. data/docs/4-csv-format.md +16 -0
  111. data/docs/5-forms.md +78 -17
  112. data/docs/6-show-pages.md +5 -29
  113. data/docs/7-sidebars.md +5 -1
  114. data/docs/8-custom-actions.md +18 -1
  115. data/docs/9-batch-actions.md +8 -4
  116. data/docs/CNAME +1 -0
  117. data/docs/Gemfile +3 -0
  118. data/docs/Gemfile.lock +248 -0
  119. data/docs/_config.yml +4 -0
  120. data/docs/_includes/footer.html +8 -0
  121. data/docs/_includes/google-analytics.html +16 -0
  122. data/docs/_includes/head.html +7 -0
  123. data/docs/_includes/toc.html +98 -0
  124. data/docs/_includes/top-menu.html +17 -0
  125. data/docs/_layouts/default.html +21 -0
  126. data/docs/documentation.md +60 -0
  127. data/docs/images/activeadmin.png +0 -0
  128. data/docs/images/code-header.png +0 -0
  129. data/docs/images/divider.png +0 -0
  130. data/docs/images/features.png +0 -0
  131. data/docs/images/tidelift.svg +14 -0
  132. data/docs/index.html +226 -0
  133. data/docs/stylesheets/main.css +1205 -0
  134. data/lib/active_admin/abstract_view_factory.rb +13 -51
  135. data/lib/active_admin/application.rb +50 -140
  136. data/lib/active_admin/application_settings.rb +42 -0
  137. data/lib/active_admin/authorization_adapter.rb +0 -3
  138. data/lib/active_admin/base_controller/authorization.rb +4 -7
  139. data/lib/active_admin/base_controller/menu.rb +10 -14
  140. data/lib/active_admin/base_controller.rb +8 -14
  141. data/lib/active_admin/batch_actions/controller.rb +3 -3
  142. data/lib/active_admin/batch_actions/resource_extension.rb +9 -13
  143. data/lib/active_admin/batch_actions/views/batch_action_form.rb +1 -1
  144. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +1 -1
  145. data/lib/active_admin/batch_actions/views/selection_cells.rb +6 -5
  146. data/lib/active_admin/callbacks.rb +1 -1
  147. data/lib/active_admin/controller_action.rb +2 -1
  148. data/lib/active_admin/csv_builder.rb +15 -12
  149. data/lib/active_admin/dependency.rb +8 -76
  150. data/lib/active_admin/deprecation.rb +0 -25
  151. data/lib/active_admin/devise.rb +3 -3
  152. data/lib/active_admin/dsl.rb +3 -16
  153. data/lib/active_admin/dynamic_setting.rb +38 -0
  154. data/lib/active_admin/dynamic_settings_node.rb +28 -0
  155. data/lib/active_admin/engine.rb +5 -0
  156. data/lib/active_admin/error.rb +5 -3
  157. data/lib/active_admin/filters/active.rb +13 -14
  158. data/lib/active_admin/filters/active_filter.rb +124 -0
  159. data/lib/active_admin/filters/active_sidebar.rb +54 -0
  160. data/lib/active_admin/filters/forms.rb +6 -4
  161. data/lib/active_admin/filters/formtastic_addons.rb +2 -2
  162. data/lib/active_admin/filters/resource_extension.rb +28 -43
  163. data/lib/active_admin/filters.rb +2 -0
  164. data/lib/active_admin/form_builder.rb +100 -59
  165. data/lib/active_admin/generators/boilerplate.rb +12 -4
  166. data/lib/active_admin/helpers/collection.rb +2 -0
  167. data/lib/active_admin/helpers/scope_chain.rb +1 -0
  168. data/lib/active_admin/inputs/datepicker_input.rb +12 -5
  169. data/lib/active_admin/inputs/filters/base/search_method_select.rb +2 -2
  170. data/lib/active_admin/inputs/filters/date_range_input.rb +21 -8
  171. data/lib/active_admin/inputs/filters/select_input.rb +6 -3
  172. data/lib/active_admin/inputs/filters/text_input.rb +25 -0
  173. data/lib/active_admin/inputs.rb +1 -0
  174. data/lib/active_admin/localizers/resource_localizer.rb +35 -0
  175. data/lib/active_admin/localizers.rb +11 -0
  176. data/lib/active_admin/menu.rb +6 -12
  177. data/lib/active_admin/menu_collection.rb +0 -2
  178. data/lib/active_admin/menu_item.rb +4 -32
  179. data/lib/active_admin/namespace.rb +36 -17
  180. data/lib/active_admin/namespace_settings.rb +123 -0
  181. data/lib/active_admin/order_clause.rb +30 -8
  182. data/lib/active_admin/orm/active_record/comments/comment.rb +3 -17
  183. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +19 -7
  184. data/lib/active_admin/orm/active_record/comments.rb +17 -11
  185. data/lib/active_admin/page.rb +23 -4
  186. data/lib/active_admin/page_controller.rb +2 -6
  187. data/lib/active_admin/page_dsl.rb +5 -1
  188. data/lib/active_admin/page_presenter.rb +2 -1
  189. data/lib/active_admin/pundit_adapter.rb +18 -5
  190. data/lib/active_admin/resource/action_items.rb +17 -5
  191. data/lib/active_admin/resource/attributes.rb +47 -0
  192. data/lib/active_admin/resource/belongs_to.rb +10 -1
  193. data/lib/active_admin/resource/menu.rb +7 -4
  194. data/lib/active_admin/resource/model.rb +15 -0
  195. data/lib/active_admin/resource/naming.rb +3 -3
  196. data/lib/active_admin/resource/ordering.rb +11 -0
  197. data/lib/active_admin/resource/page_presenters.rb +1 -1
  198. data/lib/active_admin/resource/routes.rb +52 -20
  199. data/lib/active_admin/resource/scopes.rb +5 -3
  200. data/lib/active_admin/resource/sidebars.rb +1 -1
  201. data/lib/active_admin/resource.rb +59 -7
  202. data/lib/active_admin/resource_collection.rb +2 -2
  203. data/lib/active_admin/resource_controller/action_builder.rb +10 -0
  204. data/lib/active_admin/resource_controller/data_access.rb +32 -27
  205. data/lib/active_admin/resource_controller/decorators.rb +5 -5
  206. data/lib/active_admin/resource_controller/polymorphic_routes.rb +36 -0
  207. data/lib/active_admin/resource_controller/resource_class_methods.rb +2 -0
  208. data/lib/active_admin/resource_controller/scoping.rb +1 -1
  209. data/lib/active_admin/resource_controller.rb +15 -0
  210. data/lib/active_admin/resource_dsl.rb +58 -24
  211. data/lib/active_admin/router.rb +90 -82
  212. data/lib/active_admin/scope.rb +20 -12
  213. data/lib/active_admin/settings_node.rb +19 -0
  214. data/lib/active_admin/sidebar_section.rb +3 -1
  215. data/lib/active_admin/version.rb +1 -1
  216. data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -2
  217. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +2 -2
  218. data/lib/active_admin/view_helpers/display_helper.rb +28 -16
  219. data/lib/active_admin/view_helpers/download_format_links_helper.rb +13 -0
  220. data/lib/active_admin/view_helpers/fields_for.rb +1 -2
  221. data/lib/active_admin/view_helpers/form_helper.rb +2 -2
  222. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +8 -1
  223. data/lib/active_admin/view_helpers/scope_name_helper.rb +16 -0
  224. data/lib/active_admin/view_helpers.rb +2 -1
  225. data/lib/active_admin/views/action_items.rb +1 -1
  226. data/lib/active_admin/views/components/active_admin_form.rb +43 -11
  227. data/lib/active_admin/views/components/attributes_table.rb +4 -4
  228. data/lib/active_admin/views/components/columns.rb +3 -3
  229. data/lib/active_admin/views/components/dropdown_menu.rb +4 -4
  230. data/lib/active_admin/views/components/index_list.rb +4 -3
  231. data/lib/active_admin/views/components/menu.rb +32 -0
  232. data/lib/active_admin/views/components/menu_item.rb +58 -0
  233. data/lib/active_admin/views/components/paginated_collection.rb +7 -11
  234. data/lib/active_admin/views/components/scopes.rb +14 -8
  235. data/lib/active_admin/views/components/sidebar.rb +13 -0
  236. data/lib/active_admin/views/components/site_title.rb +5 -6
  237. data/lib/active_admin/views/components/status_tag.rb +11 -16
  238. data/lib/active_admin/views/components/table_for.rb +7 -16
  239. data/lib/active_admin/views/components/tabs.rb +15 -3
  240. data/lib/active_admin/views/footer.rb +14 -4
  241. data/lib/active_admin/views/header.rb +3 -16
  242. data/lib/active_admin/views/index_as_blog.rb +2 -3
  243. data/lib/active_admin/views/index_as_grid.rb +25 -25
  244. data/lib/active_admin/views/index_as_table.rb +39 -13
  245. data/lib/active_admin/views/pages/base.rb +36 -57
  246. data/lib/active_admin/views/pages/form.rb +2 -3
  247. data/lib/active_admin/views/pages/layout.rb +1 -1
  248. data/lib/active_admin/views/pages/show.rb +8 -2
  249. data/lib/active_admin/views/tabbed_navigation.rb +4 -59
  250. data/lib/active_admin/views/title_bar.rb +4 -4
  251. data/lib/active_admin/views.rb +1 -1
  252. data/lib/active_admin.rb +11 -7
  253. data/lib/generators/active_admin/assets/assets_generator.rb +2 -2
  254. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  255. data/lib/generators/active_admin/devise/devise_generator.rb +8 -5
  256. data/lib/generators/active_admin/install/install_generator.rb +7 -3
  257. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +60 -4
  258. data/lib/generators/active_admin/install/templates/{admin_user.rb.erb → admin_users.rb.erb} +1 -3
  259. data/lib/generators/active_admin/install/templates/dashboard.rb +2 -3
  260. data/lib/generators/active_admin/install/templates/migrations/{create_active_admin_comments.rb → create_active_admin_comments.rb.erb} +2 -5
  261. data/lib/generators/active_admin/page/page_generator.rb +1 -1
  262. data/lib/generators/active_admin/resource/resource_generator.rb +2 -2
  263. data/lib/generators/active_admin/resource/templates/admin.rb.erb +46 -0
  264. data/lib/ransack_ext.rb +5 -5
  265. data/vendor/assets/javascripts/jquery-ui/data.js +41 -0
  266. data/vendor/assets/javascripts/jquery-ui/disable-selection.js +48 -0
  267. data/vendor/assets/javascripts/jquery-ui/escape-selector.js +23 -0
  268. data/vendor/assets/javascripts/jquery-ui/focusable.js +86 -0
  269. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  270. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  271. data/vendor/assets/javascripts/jquery-ui/ie.js +17 -0
  272. data/vendor/assets/javascripts/jquery-ui/keycode.js +47 -0
  273. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  274. data/vendor/assets/javascripts/jquery-ui/plugin.js +46 -0
  275. data/vendor/assets/javascripts/jquery-ui/position.js +500 -0
  276. data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +42 -0
  277. data/vendor/assets/javascripts/jquery-ui/safe-blur.js +23 -0
  278. data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +47 -0
  279. data/vendor/assets/javascripts/jquery-ui/tabbable.js +38 -0
  280. data/vendor/assets/javascripts/jquery-ui/unique-id.js +51 -0
  281. data/vendor/assets/javascripts/jquery-ui/version.js +17 -0
  282. data/vendor/assets/javascripts/jquery-ui/widget.js +735 -0
  283. data/vendor/assets/javascripts/jquery-ui/widgets/button.js +391 -0
  284. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +291 -0
  285. data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +300 -0
  286. data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2123 -0
  287. data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +954 -0
  288. data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1259 -0
  289. data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +230 -0
  290. data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1207 -0
  291. data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1561 -0
  292. data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +931 -0
  293. data/vendor/assets/stylesheets/active_admin/_normalize.scss +447 -0
  294. metadata +190 -539
  295. data/.gitignore +0 -49
  296. data/.hound.yml +0 -14
  297. data/.travis.yml +0 -46
  298. data/.yardopts +0 -8
  299. data/Gemfile +0 -75
  300. data/Guardfile +0 -8
  301. data/Rakefile +0 -33
  302. data/activeadmin.gemspec +0 -31
  303. data/app/assets/images/active_admin/datepicker/datepicker-input-icon.png +0 -0
  304. data/app/assets/javascripts/active_admin/base.js.coffee +0 -9
  305. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  306. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  307. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -7
  308. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -10
  309. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -15
  310. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -3
  311. data/app/assets/javascripts/active_admin/jquery_ui.js.erb +0 -11
  312. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -39
  313. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -36
  314. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -101
  315. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  316. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  317. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
  318. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -31
  319. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -24
  320. data/app/assets/stylesheets/active_admin/mixins/_reset.scss +0 -165
  321. data/cucumber.yml +0 -3
  322. data/features/action_item.feature +0 -73
  323. data/features/authorization.feature +0 -64
  324. data/features/authorization_cancan.feature +0 -52
  325. data/features/authorization_pundit.feature +0 -37
  326. data/features/belongs_to.feature +0 -66
  327. data/features/breadcrumb.feature +0 -75
  328. data/features/comments/commenting.feature +0 -171
  329. data/features/comments/viewing_index.feature +0 -19
  330. data/features/dashboard.feature +0 -16
  331. data/features/decorators.feature +0 -43
  332. data/features/development_reloading.feature +0 -30
  333. data/features/edit_page.feature +0 -117
  334. data/features/favicon.feature +0 -20
  335. data/features/first_boot.feature +0 -16
  336. data/features/global_navigation.feature +0 -29
  337. data/features/i18n.feature +0 -43
  338. data/features/index/batch_actions.feature +0 -196
  339. data/features/index/filters.feature +0 -161
  340. data/features/index/format_as_csv.feature +0 -203
  341. data/features/index/formats.feature +0 -66
  342. data/features/index/index_as_block.feature +0 -15
  343. data/features/index/index_as_blog.feature +0 -69
  344. data/features/index/index_as_grid.feature +0 -45
  345. data/features/index/index_as_table.feature +0 -291
  346. data/features/index/index_blank_slate.feature +0 -83
  347. data/features/index/index_parameters.feature +0 -75
  348. data/features/index/index_scope_to.feature +0 -56
  349. data/features/index/index_scopes.feature +0 -251
  350. data/features/index/page_title.feature +0 -42
  351. data/features/index/pagination.feature +0 -63
  352. data/features/index/switch_index_view.feature +0 -73
  353. data/features/menu.feature +0 -53
  354. data/features/meta_tags.feature +0 -21
  355. data/features/new_page.feature +0 -109
  356. data/features/registering_assets.feature +0 -34
  357. data/features/registering_pages.feature +0 -148
  358. data/features/registering_resources.feature +0 -33
  359. data/features/renamed_resource.feature +0 -32
  360. data/features/root_to.feature +0 -17
  361. data/features/show/columns.feature +0 -40
  362. data/features/show/default_content.feature +0 -44
  363. data/features/show/page_title.feature +0 -59
  364. data/features/show/tabs.feature +0 -27
  365. data/features/sidebar_sections.feature +0 -210
  366. data/features/site_title.feature +0 -47
  367. data/features/specifying_actions.feature +0 -93
  368. data/features/step_definitions/action_item_steps.rb +0 -7
  369. data/features/step_definitions/action_link_steps.rb +0 -20
  370. data/features/step_definitions/additional_web_steps.rb +0 -81
  371. data/features/step_definitions/asset_steps.rb +0 -15
  372. data/features/step_definitions/attribute_steps.rb +0 -18
  373. data/features/step_definitions/batch_action_steps.rb +0 -81
  374. data/features/step_definitions/blog_steps.rb +0 -3
  375. data/features/step_definitions/breadcrumb_steps.rb +0 -3
  376. data/features/step_definitions/column_steps.rb +0 -8
  377. data/features/step_definitions/comment_steps.rb +0 -12
  378. data/features/step_definitions/configuration_steps.rb +0 -100
  379. data/features/step_definitions/dashboard_steps.rb +0 -15
  380. data/features/step_definitions/factory_steps.rb +0 -35
  381. data/features/step_definitions/filter_steps.rb +0 -39
  382. data/features/step_definitions/flash_steps.rb +0 -11
  383. data/features/step_definitions/format_steps.rb +0 -52
  384. data/features/step_definitions/i18n_steps.rb +0 -3
  385. data/features/step_definitions/index_scope_steps.rb +0 -21
  386. data/features/step_definitions/index_views_steps.rb +0 -3
  387. data/features/step_definitions/layout_steps.rb +0 -3
  388. data/features/step_definitions/member_link_steps.rb +0 -7
  389. data/features/step_definitions/menu_steps.rb +0 -11
  390. data/features/step_definitions/meta_tag_steps.rb +0 -3
  391. data/features/step_definitions/pagination_steps.rb +0 -15
  392. data/features/step_definitions/sidebar_steps.rb +0 -13
  393. data/features/step_definitions/site_title_steps.rb +0 -17
  394. data/features/step_definitions/symbol_leak_steps.rb +0 -3
  395. data/features/step_definitions/tab_steps.rb +0 -8
  396. data/features/step_definitions/table_steps.rb +0 -120
  397. data/features/step_definitions/user_steps.rb +0 -45
  398. data/features/step_definitions/web_steps.rb +0 -85
  399. data/features/sti_resource.feature +0 -65
  400. data/features/strong_parameters.feature +0 -73
  401. data/features/support/env.rb +0 -162
  402. data/features/support/paths.rb +0 -71
  403. data/features/support/selectors.rb +0 -45
  404. data/features/symbol_leak.feature +0 -35
  405. data/features/users/logging_in.feature +0 -34
  406. data/features/users/logging_out.feature +0 -13
  407. data/features/users/resetting_password.feature +0 -34
  408. data/lib/active_admin/event.rb +0 -24
  409. data/lib/active_admin/filters/humanized.rb +0 -68
  410. data/lib/active_admin/helpers/settings.rb +0 -115
  411. data/lib/active_admin/reloader.rb +0 -25
  412. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  413. data/lib/generators/active_admin/resource/templates/admin.rb +0 -45
  414. data/script/local +0 -53
  415. data/script/travis_cache +0 -107
  416. data/script/use_rails +0 -53
  417. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  418. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  419. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  420. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  421. data/spec/javascripts/fixtures/flashes.html +0 -2
  422. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  423. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  424. data/spec/javascripts/support/jasmine.yml +0 -74
  425. data/spec/javascripts/support/jasmine_config.rb +0 -23
  426. data/spec/javascripts/support/jasmine_runner.rb +0 -32
  427. data/spec/rails_helper.rb +0 -169
  428. data/spec/requests/default_namespace_spec.rb +0 -61
  429. data/spec/requests/javascript_spec.rb +0 -22
  430. data/spec/requests/memory_spec.rb +0 -21
  431. data/spec/requests/stylesheets_spec.rb +0 -18
  432. data/spec/spec_helper.rb +0 -17
  433. data/spec/support/active_admin_request_helpers.rb +0 -27
  434. data/spec/support/deferred_garbage_collection.rb +0 -19
  435. data/spec/support/detect_rails_version.rb +0 -34
  436. data/spec/support/jslint.yml +0 -80
  437. data/spec/support/rails_template.rb +0 -158
  438. data/spec/support/rails_template_with_data.rb +0 -55
  439. data/spec/support/templates/admin/stores.rb +0 -9
  440. data/spec/support/templates/en.yml +0 -8
  441. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  442. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  443. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  444. data/spec/support/templates/policies/application_policy.rb +0 -45
  445. data/spec/support/templates/policies/category_policy.rb +0 -7
  446. data/spec/support/templates/policies/post_policy.rb +0 -15
  447. data/spec/support/templates/policies/store_policy.rb +0 -11
  448. data/spec/support/templates/policies/user_policy.rb +0 -11
  449. data/spec/support/templates/post_decorator.rb +0 -11
  450. data/spec/unit/abstract_view_factory_spec.rb +0 -79
  451. data/spec/unit/action_builder_spec.rb +0 -134
  452. data/spec/unit/active_admin_spec.rb +0 -11
  453. data/spec/unit/application_spec.rb +0 -165
  454. data/spec/unit/asset_registration_spec.rb +0 -52
  455. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  456. data/spec/unit/authorization/controller_authorization_spec.rb +0 -39
  457. data/spec/unit/authorization/index_overriding_spec.rb +0 -23
  458. data/spec/unit/auto_link_spec.rb +0 -69
  459. data/spec/unit/batch_actions/resource_spec.rb +0 -97
  460. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  461. data/spec/unit/belongs_to_spec.rb +0 -65
  462. data/spec/unit/cancan_adapter_spec.rb +0 -43
  463. data/spec/unit/comments_spec.rb +0 -188
  464. data/spec/unit/component_spec.rb +0 -18
  465. data/spec/unit/config_shared_examples.rb +0 -59
  466. data/spec/unit/controller_filters_spec.rb +0 -41
  467. data/spec/unit/csv_builder_spec.rb +0 -303
  468. data/spec/unit/dependency_spec.rb +0 -135
  469. data/spec/unit/devise_spec.rb +0 -96
  470. data/spec/unit/dsl_spec.rb +0 -122
  471. data/spec/unit/filters/filter_form_builder_spec.rb +0 -434
  472. data/spec/unit/filters/humanized_spec.rb +0 -56
  473. data/spec/unit/filters/resource_spec.rb +0 -128
  474. data/spec/unit/form_builder_spec.rb +0 -815
  475. data/spec/unit/generators/install_spec.rb +0 -24
  476. data/spec/unit/helpers/collection_spec.rb +0 -65
  477. data/spec/unit/helpers/scope_chain_spec.rb +0 -36
  478. data/spec/unit/helpers/settings_spec.rb +0 -30
  479. data/spec/unit/i18n_spec.rb +0 -12
  480. data/spec/unit/menu_collection_spec.rb +0 -62
  481. data/spec/unit/menu_item_spec.rb +0 -143
  482. data/spec/unit/menu_spec.rb +0 -71
  483. data/spec/unit/namespace/authorization_spec.rb +0 -27
  484. data/spec/unit/namespace/register_page_spec.rb +0 -73
  485. data/spec/unit/namespace/register_resource_spec.rb +0 -160
  486. data/spec/unit/namespace_spec.rb +0 -103
  487. data/spec/unit/order_clause_spec.rb +0 -81
  488. data/spec/unit/page_controller_spec.rb +0 -5
  489. data/spec/unit/page_spec.rb +0 -78
  490. data/spec/unit/pretty_format_spec.rb +0 -77
  491. data/spec/unit/pundit_adapter_spec.rb +0 -98
  492. data/spec/unit/resource/action_items_spec.rb +0 -65
  493. data/spec/unit/resource/includes_spec.rb +0 -21
  494. data/spec/unit/resource/menu_spec.rb +0 -18
  495. data/spec/unit/resource/naming_spec.rb +0 -122
  496. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  497. data/spec/unit/resource/pagination_spec.rb +0 -38
  498. data/spec/unit/resource/routes_spec.rb +0 -77
  499. data/spec/unit/resource/scopes_spec.rb +0 -50
  500. data/spec/unit/resource/sidebars_spec.rb +0 -43
  501. data/spec/unit/resource_collection_spec.rb +0 -175
  502. data/spec/unit/resource_controller/data_access_spec.rb +0 -140
  503. data/spec/unit/resource_controller/decorators_spec.rb +0 -94
  504. data/spec/unit/resource_controller/sidebars_spec.rb +0 -38
  505. data/spec/unit/resource_controller_spec.rb +0 -269
  506. data/spec/unit/resource_registration_spec.rb +0 -56
  507. data/spec/unit/resource_spec.rb +0 -331
  508. data/spec/unit/routing_spec.rb +0 -185
  509. data/spec/unit/scope_spec.rb +0 -185
  510. data/spec/unit/settings_spec.rb +0 -118
  511. data/spec/unit/view_factory_spec.rb +0 -19
  512. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -217
  513. data/spec/unit/view_helpers/display_helper_spec.rb +0 -165
  514. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  515. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  516. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -25
  517. data/spec/unit/view_helpers/form_helper_spec.rb +0 -43
  518. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -139
  519. data/spec/unit/views/components/attributes_table_spec.rb +0 -272
  520. data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
  521. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  522. data/spec/unit/views/components/columns_spec.rb +0 -189
  523. data/spec/unit/views/components/index_list_spec.rb +0 -35
  524. data/spec/unit/views/components/index_table_for_spec.rb +0 -127
  525. data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
  526. data/spec/unit/views/components/panel_spec.rb +0 -58
  527. data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
  528. data/spec/unit/views/components/site_title_spec.rb +0 -78
  529. data/spec/unit/views/components/status_tag_spec.rb +0 -249
  530. data/spec/unit/views/components/table_for_spec.rb +0 -434
  531. data/spec/unit/views/components/tabs_spec.rb +0 -39
  532. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
  533. data/spec/unit/views/index_as_blog_spec.rb +0 -76
  534. data/spec/unit/views/pages/form_spec.rb +0 -51
  535. data/spec/unit/views/pages/index_spec.rb +0 -60
  536. data/spec/unit/views/pages/layout_spec.rb +0 -59
  537. data/spec/unit/views/pages/show_spec.rb +0 -33
  538. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  539. data/tasks/docs.rake +0 -37
  540. data/tasks/parallel_tests.rake +0 -66
  541. data/tasks/test.rake +0 -91
  542. data/tasks/yard.rake +0 -9
@@ -1,134 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe 'defining actions from registration blocks', type: :controller do
4
- let(:klass){ Admin::PostsController }
5
- render_views # https://github.com/rspec/rspec-rails/issues/860
6
-
7
- before do
8
- @controller = klass.new
9
- end
10
-
11
- describe 'creates a member action' do
12
- before do
13
- action!
14
- reload_routes!
15
- end
16
-
17
- after(:each) do
18
- klass.clear_member_actions!
19
- end
20
-
21
- context 'with a block' do
22
- let(:action!) do
23
- ActiveAdmin.register Post do
24
- member_action :comment do
25
- # Do nothing
26
- end
27
- end
28
- end
29
-
30
- it 'should create a new public instance method' do
31
- expect(klass.public_instance_methods.collect(&:to_s)).to include('comment')
32
- end
33
-
34
- it 'should add itself to the member actions config' do
35
- expect(klass.active_admin_config.member_actions.size).to eq 1
36
- end
37
-
38
- it 'should create a new named route' do
39
- expect(Rails.application.routes.url_helpers.methods.collect(&:to_s)).to include('comment_admin_post_path')
40
- end
41
- end
42
-
43
- context 'without a block' do
44
- let(:action!) do
45
- ActiveAdmin.register Post do
46
- member_action :comment
47
- end
48
- end
49
-
50
- it 'should still generate a new empty action' do
51
- expect(klass.public_instance_methods.collect(&:to_s)).to include('comment')
52
- end
53
- end
54
-
55
- context 'with :title' do
56
- let(:action!) do
57
- ActiveAdmin.register Post do
58
- member_action :comment, title: 'My Awesome Comment' do
59
- render json: {a: 2}
60
- end
61
- end
62
- end
63
-
64
- it 'sets the page title' do
65
- params = {id: 1}
66
- params = {params: params} if ActiveAdmin::Dependency.rails5?
67
- get :comment, params
68
-
69
- expect(controller.instance_variable_get(:@page_title)).to eq 'My Awesome Comment'
70
- end
71
- end
72
- end
73
-
74
- describe 'creates a collection action' do
75
- before do
76
- action!
77
- reload_routes!
78
- end
79
-
80
- after(:each) do
81
- klass.clear_collection_actions!
82
- end
83
-
84
- context 'with a block' do
85
- let(:action!) do
86
- ActiveAdmin.register Post do
87
- collection_action :comments do
88
- # Do nothing
89
- end
90
- end
91
- end
92
-
93
- it 'should create a public instance method' do
94
- expect(klass.public_instance_methods.collect(&:to_s)).to include('comments')
95
- end
96
-
97
- it 'should add itself to the member actions config' do
98
- expect(klass.active_admin_config.collection_actions.size).to eq 1
99
- end
100
-
101
- it 'should create a named route' do
102
- expect(Rails.application.routes.url_helpers.methods.collect(&:to_s)).to include('comments_admin_posts_path')
103
- end
104
- end
105
-
106
- context 'without a block' do
107
- let(:action!) do
108
- ActiveAdmin.register Post do
109
- collection_action :comments
110
- end
111
- end
112
-
113
- it 'should still generate a new empty action' do
114
- expect(klass.public_instance_methods.collect(&:to_s)).to include('comments')
115
- end
116
- end
117
-
118
- context 'with :title' do
119
- let(:action!) do
120
- ActiveAdmin.register Post do
121
- collection_action :comments, title: 'My Awesome Comments' do
122
- render json: {a: 2}
123
- end
124
- end
125
- end
126
-
127
- it 'sets the page title' do
128
- get :comments
129
-
130
- expect(controller.instance_variable_get(:@page_title)).to eq 'My Awesome Comments'
131
- end
132
- end
133
- end
134
- end
@@ -1,11 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe ActiveAdmin do
4
- %w(register register_page unload! load! routes).each do |method|
5
- it "delegates ##{method} to application" do
6
- expect(ActiveAdmin.application).to receive(method)
7
-
8
- ActiveAdmin.send(method)
9
- end
10
- end
11
- end
@@ -1,165 +0,0 @@
1
- require 'rails_helper'
2
- require 'fileutils'
3
-
4
- describe ActiveAdmin::Application do
5
-
6
- let(:application) do
7
- ActiveAdmin::Application.new.tap do |app|
8
- # Manually override the load paths becuase RSpec messes these up
9
- app.load_paths = [File.expand_path('app/admin', Rails.root)]
10
- end
11
- end
12
-
13
- it "should have a default load path of ['app/admin']" do
14
- expect(application.load_paths).to eq [File.expand_path('app/admin', Rails.root)]
15
- end
16
-
17
- it "should remove app/admin from the autoload paths (Active Admin deals with loading)" do
18
- expect(ActiveSupport::Dependencies.autoload_paths).to_not include(File.join(Rails.root, "app/admin"))
19
- end
20
-
21
- it "should store the site's title" do
22
- expect(application.site_title).to eq ""
23
- end
24
-
25
- it "should set the site title" do
26
- application.site_title = "New Title"
27
- expect(application.site_title).to eq "New Title"
28
- end
29
-
30
- it "should store the site's title link" do
31
- expect(application.site_title_link).to eq ""
32
- end
33
-
34
- it "should set the site's title link" do
35
- application.site_title_link = "http://www.mygreatsite.com"
36
- expect(application.site_title_link).to eq "http://www.mygreatsite.com"
37
- end
38
-
39
- it "should store the site's title image" do
40
- expect(application.site_title_image).to eq ""
41
- end
42
-
43
- it "should set the site's title image" do
44
- application.site_title_image = "http://railscasts.com/assets/episodes/stills/284-active-admin.png?1316476106"
45
- expect(application.site_title_image).to eq "http://railscasts.com/assets/episodes/stills/284-active-admin.png?1316476106"
46
- end
47
-
48
- it "should store the site's favicon" do
49
- expect(application.favicon).to eq false
50
- end
51
-
52
- it "should return default localize format" do
53
- expect(application.localize_format).to eq :long
54
- end
55
-
56
- it "should set localize format" do
57
- application.localize_format = :default
58
- expect(application.localize_format).to eq :default
59
- end
60
-
61
- it "should set the site's favicon" do
62
- application.favicon = "/a/favicon.ico"
63
- expect(application.favicon).to eq "/a/favicon.ico"
64
- end
65
-
66
- it "should store meta tags" do
67
- expect(application.meta_tags).to eq({})
68
- end
69
-
70
- it "should set meta tags" do
71
- application.meta_tags = { author: "My Company" }
72
- expect(application.meta_tags).to eq(author: "My Company")
73
- end
74
-
75
- it "should contains robots meta tags by default" do
76
- result = application.meta_tags_for_logged_out_pages
77
- expect(result).to eq(robots: "noindex, nofollow")
78
- end
79
-
80
- it "should set meta tags for logged out pages" do
81
- value = { author: "My Company" }
82
- application.meta_tags_for_logged_out_pages = value
83
- expect(application.meta_tags_for_logged_out_pages).to eq value
84
- end
85
-
86
- it "should have a view factory" do
87
- expect(application.view_factory).to be_an_instance_of(ActiveAdmin::ViewFactory)
88
- end
89
-
90
- it "should allow comments by default" do
91
- expect(application.comments).to eq true
92
- end
93
-
94
- describe "authentication settings" do
95
-
96
- it "should have no default current_user_method" do
97
- expect(application.current_user_method).to eq false
98
- end
99
-
100
- it "should have no default authentication method" do
101
- expect(application.authentication_method).to eq false
102
- end
103
-
104
- it "should have a logout link path (Devise's default)" do
105
- expect(application.logout_link_path).to eq :destroy_admin_user_session_path
106
- end
107
-
108
- it "should have a logout link method (Devise's default)" do
109
- expect(application.logout_link_method).to eq :get
110
- end
111
- end
112
-
113
- describe "files in load path" do
114
- it "should load files in the first level directory" do
115
- expect(application.files).to include(File.expand_path("app/admin/dashboard.rb", Rails.root))
116
- end
117
-
118
- it "should load files from subdirectories" do
119
- FileUtils.mkdir_p(File.expand_path("app/admin/public", Rails.root))
120
- test_file = File.expand_path("app/admin/public/posts.rb", Rails.root)
121
- FileUtils.touch(test_file)
122
- expect(application.files).to include(test_file)
123
- end
124
- end
125
-
126
- describe "#namespace" do
127
-
128
- it "should yield a new namespace" do
129
- application.namespace :new_namespace do |ns|
130
- expect(ns.name).to eq :new_namespace
131
- end
132
- end
133
-
134
- it "should return an instantiated namespace" do
135
- admin = application.namespace :admin
136
- expect(admin).to eq application.namespaces[:admin]
137
- end
138
-
139
- it "should yield an existing namespace" do
140
- expect {
141
- application.namespace :admin do |ns|
142
- expect(ns).to eq application.namespaces[:admin]
143
- raise "found"
144
- end
145
- }.to raise_error("found")
146
- end
147
-
148
- it "should not pollute the global app" do
149
- expect(application.namespaces).to be_empty
150
- application.namespace(:brand_new_ns)
151
- expect(application.namespaces.names).to eq [:brand_new_ns]
152
- expect(ActiveAdmin.application.namespaces.names).to eq [:admin]
153
- end
154
- end
155
-
156
- describe "#register_page" do
157
- it "finds or create the namespace and register the page to it" do
158
- namespace = double
159
- expect(application).to receive(:namespace).with("public").and_return namespace
160
- expect(namespace).to receive(:register_page).with("My Page", {namespace: "public"})
161
- application.register_page("My Page", namespace: "public")
162
- end
163
- end
164
-
165
- end
@@ -1,52 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe ActiveAdmin::AssetRegistration do
4
- include ActiveAdmin::AssetRegistration
5
-
6
- before do
7
- clear_stylesheets!
8
- clear_javascripts!
9
- end
10
-
11
- it "should register a stylesheet file" do
12
- register_stylesheet "active_admin.css"
13
- expect(stylesheets.length).to eq 1
14
- expect(stylesheets.keys.first).to eq "active_admin.css"
15
- end
16
-
17
- it "should clear all existing stylesheets" do
18
- register_stylesheet "active_admin.css"
19
- expect(stylesheets.length).to eq 1
20
- clear_stylesheets!
21
- expect(stylesheets).to be_empty
22
- end
23
-
24
- it "should allow media option when registering stylesheet" do
25
- register_stylesheet "active_admin.css", media: :print
26
- expect(stylesheets.values.first[:media]).to eq :print
27
- end
28
-
29
- it "shouldn't register a stylesheet twice" do
30
- register_stylesheet "active_admin.css"
31
- register_stylesheet "active_admin.css"
32
- expect(stylesheets.length).to eq 1
33
- end
34
-
35
- it "should register a javascript file" do
36
- register_javascript "active_admin.js"
37
- expect(javascripts).to eq ["active_admin.js"].to_set
38
- end
39
-
40
- it "should clear all existing javascripts" do
41
- register_javascript "active_admin.js"
42
- expect(javascripts).to eq ["active_admin.js"].to_set
43
- clear_javascripts!
44
- expect(javascripts).to be_empty
45
- end
46
-
47
- it "shouldn't register a javascript twice" do
48
- register_javascript "active_admin.js"
49
- register_javascript "active_admin.js"
50
- expect(javascripts.length).to eq 1
51
- end
52
- end
@@ -1,61 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe ActiveAdmin::AuthorizationAdapter do
4
-
5
- let(:adapter) { ActiveAdmin::AuthorizationAdapter.new(double, double) }
6
-
7
- describe "#authorized?" do
8
-
9
- it "should always return true" do
10
- expect(adapter.authorized?(:read, "Resource")).to eq true
11
- end
12
-
13
- end
14
-
15
- describe "#scope_collection" do
16
-
17
- it "should return the collection unscoped" do
18
- collection = double
19
- expect(adapter.scope_collection(collection, ActiveAdmin::Auth::READ)).to eq collection
20
- end
21
-
22
- end
23
-
24
- describe "using #normalized in a subclass" do
25
-
26
- let(:auth_class) do
27
- Class.new(ActiveAdmin::AuthorizationAdapter) do
28
-
29
- def authorized?(action, subject = nil)
30
- case subject
31
- when normalized(String)
32
- true
33
- else
34
- false
35
- end
36
- end
37
-
38
- end
39
- end
40
-
41
- let(:adapter) { auth_class.new(double, double) }
42
-
43
- it "should match against a class" do
44
- expect(adapter.authorized?(:read, String)).to eq true
45
- end
46
-
47
- it 'should match against an instance' do
48
- expect(adapter.authorized?(:read, "String")).to eq true
49
- end
50
-
51
- it 'should not match a different class' do
52
- expect(adapter.authorized?(:read, Hash)).to eq false
53
- end
54
-
55
- it 'should not match a different instance' do
56
- expect(adapter.authorized?(:read, {})).to eq false
57
- end
58
-
59
- end
60
-
61
- end
@@ -1,39 +0,0 @@
1
- require 'rails_helper'
2
- Auth = ActiveAdmin::Authorization
3
-
4
- describe Admin::PostsController, "Controller Authorization", type: :controller do
5
-
6
- let(:authorization){ controller.send(:active_admin_authorization) }
7
-
8
- before do
9
- load_defaults!
10
- # HACK: the AA config is missing, so we throw it in here
11
- controller.class.active_admin_config = ActiveAdmin.application.namespace(:admin).resources['Post'].controller.active_admin_config
12
- end
13
-
14
- it "should authorize the index action" do
15
- expect(authorization).to receive(:authorized?).with(Auth::READ, Post).and_return true
16
- get :index
17
- expect(response).to be_success
18
- end
19
-
20
- it "should authorize the new action" do
21
- expect(authorization).to receive(:authorized?).with(Auth::CREATE, an_instance_of(Post)).and_return true
22
- get :new
23
- expect(response).to be_success
24
- end
25
-
26
- it "should authorize the create action with the new resource" do
27
- expect(authorization).to receive(:authorized?).with(Auth::CREATE, an_instance_of(Post)).and_return true
28
- post :create
29
- expect(response).to redirect_to action: 'show', id: Post.last.id
30
- end
31
-
32
- it "should redirect when the user isn't authorized" do
33
- expect(authorization).to receive(:authorized?).with(Auth::READ, Post).and_return false
34
- get :index
35
- expect(response.body).to eq '<html><body>You are being <a href="http://test.host/admin">redirected</a>.</body></html>'
36
- expect(response).to redirect_to '/admin'
37
- end
38
-
39
- end
@@ -1,23 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe Admin::PostsController, 'Index overriding', type: :controller do
4
- before do
5
- controller.instance_eval do
6
- def index
7
- super do
8
- render Dependency.rails.render_key => 'Rendered from passed block'
9
- return
10
- end
11
- end
12
- end
13
- load_defaults!
14
- # HACK: the AA config is missing, so we throw it in here
15
- controller.class.active_admin_config = ActiveAdmin.application.namespace(:admin).resources['Post'].controller.active_admin_config
16
- end
17
-
18
- it 'should call block passed to overridden index' do
19
- get :index
20
- expect(response.body).to eq 'Rendered from passed block'
21
- end
22
-
23
- end
@@ -1,69 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe "auto linking resources" do
4
- include ActiveAdmin::ViewHelpers::ActiveAdminApplicationHelper
5
- include ActiveAdmin::ViewHelpers::AutoLinkHelper
6
- include ActiveAdmin::ViewHelpers::DisplayHelper
7
- include MethodOrProcHelper
8
-
9
- let(:active_admin_config) { double namespace: namespace }
10
- let(:active_admin_namespace){ ActiveAdmin::Namespace.new(ActiveAdmin::Application.new, :admin) }
11
- let(:post){ Post.create! title: "Hello World" }
12
-
13
- def admin_post_path(post)
14
- "/admin/posts/#{post.id}"
15
- end
16
-
17
- def authorized?(*)
18
- true
19
- end
20
-
21
- context "when the resource is not registered" do
22
- it "should return the display name of the object" do
23
- expect(auto_link(post)).to eq "Hello World"
24
- end
25
- end
26
-
27
- context "when the resource is registered" do
28
- before do
29
- active_admin_namespace.register Post
30
- end
31
- it "should return a link with the display name of the object" do
32
- expect(self).to receive(:url_for) { |url| url }
33
- expect(self).to receive(:link_to).with "Hello World", admin_post_path(post)
34
- auto_link(post)
35
- end
36
-
37
- context "but the user doesn't have access" do
38
- it "should return the display name of the object" do
39
- expect(self).to receive(:authorized?).twice.and_return(false)
40
- expect(auto_link(post)).to eq "Hello World"
41
- end
42
- end
43
-
44
- context "but the show action is disabled" do
45
- before do
46
- active_admin_namespace.register(Post) { actions :all, except: :show }
47
- end
48
-
49
- it "should fallback to edit" do
50
- url_path = "/admin/posts/#{post.id}/edit"
51
- expect(self).to receive(:url_for) { |url| url }
52
- expect(self).to receive(:link_to).with "Hello World", url_path
53
- auto_link(post)
54
- end
55
- end
56
-
57
- context "but the show and edit actions are disabled" do
58
- before do
59
- active_admin_namespace.register(Post) do
60
- actions :all, except: [:show, :edit]
61
- end
62
- end
63
-
64
- it "should return the display name of the object" do
65
- expect(auto_link(post)).to eq "Hello World"
66
- end
67
- end
68
- end
69
- end
@@ -1,97 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe ActiveAdmin::BatchActions::ResourceExtension do
4
-
5
- let(:resource) do
6
- namespace = ActiveAdmin::Namespace.new(ActiveAdmin::Application.new, :admin)
7
- namespace.batch_actions = true
8
- namespace.register(Post)
9
- end
10
-
11
- describe "default action" do
12
-
13
- it "should have the default action by default" do
14
- expect(resource.batch_actions.size).to eq 1
15
- expect(resource.batch_actions.first.sym == :destroy).to eq true
16
- end
17
-
18
- end
19
-
20
- describe "adding a new batch action" do
21
-
22
- before do
23
- resource.clear_batch_actions!
24
- resource.add_batch_action :flag, "Flag" do
25
- # Empty
26
- end
27
- end
28
-
29
- it "should add an batch action" do
30
- expect(resource.batch_actions.size).to eq 1
31
- end
32
-
33
- it "should store an instance of BatchAction" do
34
- expect(resource.batch_actions.first).to be_an_instance_of(ActiveAdmin::BatchAction)
35
- end
36
-
37
- it "should store the block in the batch action" do
38
- expect(resource.batch_actions.first.block).to_not eq nil
39
- end
40
-
41
- end
42
-
43
- describe "removing batch action" do
44
-
45
- before do
46
- resource.remove_batch_action :destroy
47
- end
48
-
49
- it "should allow for batch action removal" do
50
- expect(resource.batch_actions.size).to eq 0
51
- end
52
-
53
- end
54
-
55
- describe "#batch_action_path" do
56
-
57
- it "returns the path as a symbol" do
58
- expect(resource.batch_action_path).to eq "/admin/posts/batch_action"
59
- end
60
-
61
- it "includes :scope and :q params" do
62
- params = { q: { name_equals: "Any" }, scope: :all }
63
- batch_action_path = "/admin/posts/batch_action?q%5Bname_equals%5D=Any&scope=all"
64
- expect(resource.batch_action_path(params)).to eq(batch_action_path)
65
- end
66
- end
67
-
68
- describe "#display_if_block" do
69
-
70
- it "should return true by default" do
71
- action = ActiveAdmin::BatchAction.new :default, "Default"
72
- expect(action.display_if_block.call).to eq true
73
- end
74
-
75
- it "should return the :if block if set" do
76
- action = ActiveAdmin::BatchAction.new :with_block, "With Block", if: proc { false }
77
- expect(action.display_if_block.call).to eq false
78
- end
79
-
80
- end
81
-
82
- describe "batch action priority" do
83
-
84
- it "should have a default priority" do
85
- action = ActiveAdmin::BatchAction.new :default, "Default"
86
- expect(action.priority).to eq 10
87
- end
88
-
89
- it "should correctly order two actions" do
90
- priority_one = ActiveAdmin::BatchAction.new :one, "One", priority: 1
91
- priority_ten = ActiveAdmin::BatchAction.new :ten, "Ten", priority: 10
92
- expect(priority_one).to be < priority_ten
93
- end
94
-
95
- end
96
-
97
- end