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,303 +0,0 @@
1
- # Encoding: UTF-8
2
-
3
- require 'rails_helper'
4
-
5
- describe ActiveAdmin::CSVBuilder do
6
-
7
- describe '.default_for_resource using Post' do
8
- let(:csv_builder) { ActiveAdmin::CSVBuilder.default_for_resource(Post).tap(&:exec_columns) }
9
-
10
- it 'returns a default csv_builder for Post' do
11
- expect(csv_builder).to be_a(ActiveAdmin::CSVBuilder)
12
- end
13
-
14
- it 'defines Id as the first column' do
15
- expect(csv_builder.columns.first.name).to eq 'Id'
16
- expect(csv_builder.columns.first.data).to eq :id
17
- end
18
-
19
- it "has Post's content_columns" do
20
- csv_builder.columns[1..-1].each_with_index do |column, index|
21
- expect(column.name).to eq Post.content_columns[index].name.humanize
22
- expect(column.data).to eq Post.content_columns[index].name.to_sym
23
- end
24
- end
25
-
26
- context 'when column has a localized name' do
27
- let(:localized_name) { 'Titulo' }
28
-
29
- before do
30
- allow(Post).to receive(:human_attribute_name).and_call_original
31
- allow(Post).to receive(:human_attribute_name).with(:title){ localized_name }
32
- end
33
-
34
- it 'gets name from I18n' do
35
- title_index = Post.content_columns.map(&:name).index('title') + 1 # First col is always id
36
- expect(csv_builder.columns[title_index].name).to eq localized_name
37
- end
38
- end
39
- end
40
-
41
- context 'when empty' do
42
- let(:builder){ ActiveAdmin::CSVBuilder.new.tap(&:exec_columns) }
43
-
44
- it "should have no columns" do
45
- expect(builder.columns).to eq []
46
- end
47
- end
48
-
49
- context "with a symbol column (:title)" do
50
- let(:builder) do
51
- ActiveAdmin::CSVBuilder.new do
52
- column :title
53
- end.tap(&:exec_columns)
54
- end
55
-
56
- it "should have one column" do
57
- expect(builder.columns.size).to eq 1
58
- end
59
-
60
- describe "the column" do
61
- let(:column){ builder.columns.first }
62
-
63
- it "should have a name of 'Title'" do
64
- expect(column.name).to eq "Title"
65
- end
66
-
67
- it "should have the data :title" do
68
- expect(column.data).to eq :title
69
- end
70
- end
71
- end
72
-
73
- context "with a block and title" do
74
- let(:builder) do
75
- ActiveAdmin::CSVBuilder.new do
76
- column "My title" do
77
- # nothing
78
- end
79
- end.tap(&:exec_columns)
80
- end
81
-
82
- it "should have one column" do
83
- expect(builder.columns.size).to eq 1
84
- end
85
-
86
- describe "the column" do
87
- let(:column){ builder.columns.first }
88
-
89
- it "should have a name of 'My title'" do
90
- expect(column.name).to eq "My title"
91
- end
92
-
93
- it "should have the data :title" do
94
- expect(column.data).to be_an_instance_of(Proc)
95
- end
96
- end
97
- end
98
-
99
- context "with a humanize_name column option" do
100
- context "with symbol column name" do
101
- let(:builder) do
102
- ActiveAdmin::CSVBuilder.new do
103
- column :my_title, humanize_name: false
104
- end.tap(&:exec_columns)
105
- end
106
-
107
- describe "the column" do
108
- let(:column){ builder.columns.first }
109
-
110
- it "should have a name of 'my_title'" do
111
- expect(column.name).to eq "my_title"
112
- end
113
- end
114
- end
115
-
116
- context "with string column name" do
117
- let(:builder) do
118
- ActiveAdmin::CSVBuilder.new do
119
- column "my_title", humanize_name: false
120
- end.tap(&:exec_columns)
121
- end
122
-
123
- describe "the column" do
124
- let(:column){ builder.columns.first }
125
-
126
- it "should have a name of 'my_title'" do
127
- expect(column.name).to eq "my_title"
128
- end
129
- end
130
- end
131
- end
132
-
133
- context "with a separator" do
134
- let(:builder) do
135
- ActiveAdmin::CSVBuilder.new(col_sep: ";").tap(&:exec_columns)
136
- end
137
-
138
- it "should have proper separator" do
139
- expect(builder.options).to eq({col_sep: ";"})
140
- end
141
- end
142
-
143
- context "with humanize_name option" do
144
- let(:builder) do
145
- ActiveAdmin::CSVBuilder.new(humanize_name: false) do
146
- column :my_title
147
- end.tap(&:exec_columns)
148
- end
149
-
150
- describe "the column" do
151
- let(:column){ builder.columns.first }
152
-
153
- it "should have humanize_name option set" do
154
- expect(column.options).to eq humanize_name: false
155
- end
156
-
157
- it "should have a name of 'my_title'" do
158
- expect(column.name).to eq "my_title"
159
- end
160
- end
161
- end
162
-
163
- context "with csv_options" do
164
- let(:builder) do
165
- ActiveAdmin::CSVBuilder.new(force_quotes: true).tap(&:exec_columns)
166
- end
167
-
168
- it "should have proper separator" do
169
- expect(builder.options).to eq({force_quotes: true})
170
- end
171
- end
172
-
173
- context "with access to the controller" do
174
- let(:dummy_view_context) { double(controller: dummy_controller) }
175
- let(:dummy_controller) { double(names: %w(title summary updated_at created_at))}
176
- let(:builder) do
177
- ActiveAdmin::CSVBuilder.new do
178
- column "id"
179
- controller.names.each do |name|
180
- column(name)
181
- end
182
- end.tap{ |b| b.exec_columns(dummy_view_context) }
183
- end
184
-
185
- it "should build columns provided by the controller" do
186
- expect(builder.columns.map(&:data)).to match_array([:id, :title, :summary, :updated_at, :created_at])
187
- end
188
- end
189
-
190
- context "build csv using the supplied order" do
191
- before do
192
- @post1 = Post.create!(title: "Hello1", published_at: Date.today - 2.day )
193
- @post2 = Post.create!(title: "Hello2", published_at: Date.today - 1.day )
194
- end
195
- let(:dummy_controller) {
196
- class DummyController
197
- def find_collection(*)
198
- collection
199
- end
200
-
201
- def collection
202
- Post.order('published_at DESC')
203
- end
204
-
205
- def apply_decorator(resource)
206
- resource
207
- end
208
-
209
- def view_context
210
- end
211
- end
212
- DummyController.new
213
- }
214
- let(:builder) do
215
- ActiveAdmin::CSVBuilder.new do
216
- column "id"
217
- column "title"
218
- column "published_at"
219
- end
220
- end
221
-
222
- it "should generate data with the supplied order" do
223
- expect(builder).to receive(:build_row).and_return([]).once.ordered { |post| expect(post.id).to eq @post2.id }
224
- expect(builder).to receive(:build_row).and_return([]).once.ordered { |post| expect(post.id).to eq @post1.id }
225
- builder.build dummy_controller, []
226
- end
227
-
228
- it "should generate data ignoring pagination" do
229
- expect(dummy_controller).to receive(:find_collection).
230
- with(except: :pagination).once.
231
- and_call_original
232
- expect(builder).to receive(:build_row).and_return([]).twice
233
- builder.build dummy_controller, []
234
- end
235
-
236
- end
237
-
238
- context "build csv using specified encoding and encoding_options" do
239
- let(:dummy_controller) do
240
- class DummyController
241
- def find_collection(*)
242
- collection
243
- end
244
-
245
- def collection
246
- Post
247
- end
248
-
249
- def apply_decorator(resource)
250
- resource
251
- end
252
-
253
- def view_context
254
- end
255
- end
256
- DummyController.new
257
- end
258
- let(:encoding) { Encoding::ASCII }
259
- let(:opts) { {} }
260
- let(:builder) do
261
- ActiveAdmin::CSVBuilder.new(encoding: encoding, encoding_options: opts) do
262
- column "おはようございます"
263
- column "title"
264
- end
265
- end
266
-
267
- context "Shift-JIS with options" do
268
- let(:encoding) { Encoding::Shift_JIS }
269
- let(:opts) { { invalid: :replace, undef: :replace, replace: "?" } }
270
-
271
- it "encodes the CSV" do
272
- receiver = []
273
- builder.build dummy_controller, receiver
274
- line = receiver.last
275
- expect(line.encoding).to eq(encoding)
276
- end
277
- end
278
-
279
- context "ASCII with options" do
280
- let(:encoding) { Encoding::ASCII }
281
- let(:opts) do
282
- { invalid: :replace, undef: :replace, replace: "__REPLACED__" }
283
- end
284
-
285
- it "encodes the CSV without errors" do
286
- receiver = []
287
- builder.build dummy_controller, receiver
288
- line = receiver.last
289
- expect(line.encoding).to eq(encoding)
290
- expect(line).to include("__REPLACED__")
291
- end
292
- end
293
- end
294
-
295
- skip '#exec_columns'
296
-
297
- skip '#build_row' do
298
- it 'renders non-strings'
299
- it 'encodes values correctly'
300
- it 'passes custom encoding options to String#encode!'
301
- end
302
-
303
- end
@@ -1,135 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe ActiveAdmin::Dependency do
4
-
5
- k = ActiveAdmin::Dependency
6
-
7
- describe 'method_missing' do
8
- before do
9
- allow(Gem).to receive(:loaded_specs)
10
- .and_return 'foo' => Gem::Specification.new('foo', '1.2.3')
11
- end
12
-
13
- it 'returns a Matcher' do
14
- expect(k.foo).to be_a ActiveAdmin::Dependency::Matcher
15
- expect(k.foo.inspect).to eq '<ActiveAdmin::Dependency::Matcher for foo 1.2.3>'
16
- expect(k.bar.inspect).to eq '<ActiveAdmin::Dependency::Matcher for (missing)>'
17
- end
18
-
19
- describe '`?`' do
20
- it 'base' do
21
- expect(k.foo?).to eq true
22
- expect(k.bar?).to eq false
23
- end
24
- it '=' do
25
- expect(k.foo? '= 1.2.3').to eq true
26
- expect(k.foo? '= 1' ).to eq false
27
- end
28
- it '>' do
29
- expect(k.foo? '> 1').to eq true
30
- expect(k.foo? '> 2').to eq false
31
- end
32
- it '<' do
33
- expect(k.foo? '< 2').to eq true
34
- expect(k.foo? '< 1').to eq false
35
- end
36
- it '>=' do
37
- expect(k.foo? '>= 1.2.3').to eq true
38
- expect(k.foo? '>= 1.2.2').to eq true
39
- expect(k.foo? '>= 1.2.4').to eq false
40
- end
41
- it '<=' do
42
- expect(k.foo? '<= 1.2.3').to eq true
43
- expect(k.foo? '<= 1.2.4').to eq true
44
- expect(k.foo? '<= 1.2.2').to eq false
45
- end
46
- it '~>' do
47
- expect(k.foo? '~> 1.2.0').to eq true
48
- expect(k.foo? '~> 1.1' ).to eq true
49
- expect(k.foo? '~> 1.2.4').to eq false
50
- end
51
- end
52
-
53
- describe '`!`' do
54
- it 'raises an error if requirement not met' do
55
- expect{ k.foo! '5' }.to raise_error ActiveAdmin::DependencyError,
56
- 'You provided foo 1.2.3 but we need: 5.'
57
- end
58
- it 'accepts multiple arguments' do
59
- expect{ k.foo! '> 1', '< 1.2' }.to raise_error ActiveAdmin::DependencyError,
60
- 'You provided foo 1.2.3 but we need: > 1, < 1.2.'
61
- end
62
- it 'raises an error if not provided' do
63
- expect{ k.bar! }.to raise_error ActiveAdmin::DependencyError,
64
- 'To use bar you need to specify it in your Gemfile.'
65
- end
66
- end
67
- end
68
-
69
- describe '[]' do
70
- before do
71
- allow(Gem).to receive(:loaded_specs)
72
- .and_return 'a-b' => Gem::Specification.new('a-b', '1.2.3')
73
- end
74
-
75
- it 'allows access to gems with an arbitrary name' do
76
- expect(k['a-b']).to be_a ActiveAdmin::Dependency::Matcher
77
- expect(k['a-b'].inspect).to eq '<ActiveAdmin::Dependency::Matcher for a-b 1.2.3>'
78
- expect(k['c-d'].inspect).to eq '<ActiveAdmin::Dependency::Matcher for (missing)>'
79
- end
80
-
81
- # Note: more extensive tests for match? and match! are above.
82
-
83
- it 'match?' do
84
- expect(k['a-b'].match? ).to eq true
85
- expect(k['a-b'].match? '1.2.3').to eq true
86
- expect(k['b-c'].match? ).to eq false
87
- end
88
-
89
- it 'match!' do
90
- expect(k['a-b'].match! ).to eq nil
91
- expect(k['a-b'].match! '1.2.3').to eq nil
92
-
93
- expect{ k['a-b'].match! '2.5' }.to raise_error ActiveAdmin::DependencyError,
94
- 'You provided a-b 1.2.3 but we need: 2.5.'
95
-
96
- expect{ k['b-c'].match! }.to raise_error ActiveAdmin::DependencyError,
97
- 'To use b-c you need to specify it in your Gemfile.'
98
- end
99
-
100
- # Note: Ruby comparison operators are separate from the `foo? '> 1'` syntax
101
-
102
- describe 'Ruby comparison syntax' do
103
-
104
- it '==' do
105
- expect(k['a-b'] == '1.2.3').to eq true
106
- expect(k['a-b'] == '1.2' ).to eq false
107
- expect(k['a-b'] == 1 ).to eq false
108
- end
109
- it '>' do
110
- expect(k['a-b'] > 1).to eq true
111
- expect(k['a-b'] > 2).to eq false
112
- end
113
- it '<' do
114
- expect(k['a-b'] < 2).to eq true
115
- expect(k['a-b'] < 1).to eq false
116
- end
117
- it '>=' do
118
- expect(k['a-b'] >= '1.2.3').to eq true
119
- expect(k['a-b'] >= '1.2.2').to eq true
120
- expect(k['a-b'] >= '1.2.4').to eq false
121
- end
122
- it '<=' do
123
- expect(k['a-b'] <= '1.2.3').to eq true
124
- expect(k['a-b'] <= '1.2.4').to eq true
125
- expect(k['a-b'] <= '1.2.2').to eq false
126
- end
127
-
128
- it 'throws a custom error if the gem is missing' do
129
- expect{ k['b-c'] < 23 }.to raise_error ActiveAdmin::DependencyError,
130
- 'To use b-c you need to specify it in your Gemfile.'
131
- end
132
- end
133
- end
134
-
135
- end
@@ -1,96 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe ActiveAdmin::Devise::Controller do
4
-
5
- let(:controller_class) do
6
- klass = Class.new do
7
- def self.layout(*); end
8
- def self.helper(*); end
9
- end
10
- klass.send(:include, ActiveAdmin::Devise::Controller)
11
- klass
12
- end
13
-
14
- let(:controller) { controller_class.new }
15
-
16
- context 'with a RAILS_RELATIVE_URL_ROOT set' do
17
-
18
- before { Rails.configuration.action_controller[:relative_url_root] = '/foo' }
19
-
20
- it "should set the root path to the default namespace" do
21
- expect(controller.root_path).to eq "/foo/admin"
22
- end
23
-
24
- it "should set the root path to '/' when no default namespace" do
25
- allow(ActiveAdmin.application).to receive(:default_namespace).and_return(false)
26
- expect(controller.root_path).to eq "/foo/"
27
- end
28
-
29
- end
30
-
31
- context 'without a RAILS_RELATIVE_URL_ROOT set' do
32
-
33
- before { Rails.configuration.action_controller[:relative_url_root] = nil }
34
-
35
- it "should set the root path to the default namespace" do
36
- expect(controller.root_path).to eq "/admin"
37
- end
38
-
39
- it "should set the root path to '/' when no default namespace" do
40
- allow(ActiveAdmin.application).to receive(:default_namespace).and_return(false)
41
- expect(controller.root_path).to eq "/"
42
- end
43
-
44
- end
45
-
46
- context "within a scoped route" do
47
-
48
- SCOPE = '/aa_scoped'
49
-
50
- before do
51
- # Remove existing routes
52
- routes = Rails.application.routes
53
- routes.clear!
54
-
55
- # Add scoped routes
56
- routes.draw do
57
- scope path: SCOPE do
58
- ActiveAdmin.routes(self)
59
- devise_for :admin_users, ActiveAdmin::Devise.config
60
- end
61
- end
62
- end
63
-
64
- after do
65
- # Resume default routes
66
- reload_routes!
67
- end
68
-
69
- it "should include scope path in root_path" do
70
- expect(controller.root_path).to eq "#{SCOPE}/admin"
71
- end
72
-
73
- end
74
-
75
- describe "#config" do
76
- let(:config) { ActiveAdmin::Devise.config }
77
-
78
- describe ":sign_out_via option" do
79
- it "should contain the application.logout_link_method" do
80
- expect(::Devise).to receive(:sign_out_via).and_return(:delete)
81
- expect(ActiveAdmin.application).to receive(:logout_link_method).and_return(:get)
82
-
83
- expect(config[:sign_out_via]).to include(:get)
84
- end
85
-
86
- it "should contain Devise's logout_via_method(s)" do
87
- expect(::Devise).to receive(:sign_out_via).and_return([:delete, :post])
88
- expect(ActiveAdmin.application).to receive(:logout_link_method).and_return(:get)
89
-
90
- expect(config[:sign_out_via]).to eq [:delete, :post, :get]
91
- end
92
-
93
- end # describe ":sign_out_via option"
94
- end # describe "#config"
95
-
96
- end
@@ -1,122 +0,0 @@
1
- require 'rails_helper'
2
-
3
-
4
- module MockModuleToInclude
5
- def self.included(dsl)
6
- end
7
- end
8
-
9
- describe ActiveAdmin::DSL do
10
-
11
- let(:application) { ActiveAdmin::Application.new }
12
- let(:namespace) { ActiveAdmin::Namespace.new application, :admin }
13
- let(:resource_config) { ActiveAdmin::Resource.new namespace, Post }
14
- let(:dsl){ ActiveAdmin::DSL.new(resource_config) }
15
-
16
- describe "#include" do
17
-
18
- it "should call the included class method on the module that is included" do
19
- expect(MockModuleToInclude).to receive(:included).with(dsl)
20
- dsl.run_registration_block do
21
- include MockModuleToInclude
22
- end
23
- end
24
-
25
- end
26
-
27
-
28
- describe '#action_item' do
29
- before do
30
- @default_items_count = resource_config.action_items.size
31
-
32
- dsl.run_registration_block do
33
- action_item :awesome, only: :show do
34
- "Awesome ActionItem"
35
- end
36
- end
37
- end
38
-
39
- it "adds action_item to the action_items of config" do
40
- expect(resource_config.action_items.size).to eq(@default_items_count + 1)
41
- end
42
-
43
- context 'DEPRECATED: when used without a name' do
44
- it "is configured for only the show action" do
45
- expect(ActiveAdmin::Deprecation).to receive(:warn).with(instance_of(String))
46
-
47
- dsl.run_registration_block do
48
- action_item only: :edit do
49
- "Awesome ActionItem"
50
- end
51
- end
52
-
53
- item = resource_config.action_items.last
54
- expect(item.display_on?(:edit)).to be true
55
- expect(item.display_on?(:index)).to be false
56
- end
57
- end
58
- end
59
-
60
- describe "#menu" do
61
-
62
- it "should set the menu_item_options on the configuration" do
63
- expect(resource_config).to receive(:menu_item_options=).with({parent: "Admin"})
64
- dsl.run_registration_block do
65
- menu parent: "Admin"
66
- end
67
- end
68
-
69
- end
70
-
71
- describe "#navigation_menu" do
72
-
73
- it "should set the navigation_menu_name on the configuration" do
74
- expect(resource_config).to receive(:navigation_menu_name=).with(:admin)
75
- dsl.run_registration_block do
76
- navigation_menu :admin
77
- end
78
- end
79
-
80
- it "should accept a block" do
81
- dsl = ActiveAdmin::DSL.new(resource_config)
82
- dsl.run_registration_block do
83
- navigation_menu { :dynamic_menu }
84
- end
85
- expect(resource_config.navigation_menu_name).to eq :dynamic_menu
86
- end
87
-
88
- end
89
-
90
- describe "#sidebar" do
91
-
92
- before do
93
- dsl.config.sidebar_sections << ActiveAdmin::SidebarSection.new(:email)
94
- end
95
-
96
- it "add sidebar_section to the sidebar_sections of config" do
97
- dsl.run_registration_block do
98
- sidebar :help
99
- end
100
- expect(dsl.config.sidebar_sections.map(&:name)).to match_array ['filters', 'Search status:', 'email', 'help']
101
- end
102
-
103
- end
104
-
105
- describe "#batch_action" do
106
- it "should add a batch action by symbol" do
107
- dsl.run_registration_block do
108
- config.batch_actions = true
109
- batch_action :foo
110
- end
111
- expect(resource_config.batch_actions.map(&:sym)).to eq [:foo, :destroy]
112
- end
113
-
114
- it "should add a batch action by title" do
115
- dsl.run_registration_block do
116
- config.batch_actions = true
117
- batch_action "foo bar"
118
- end
119
- expect(resource_config.batch_actions.map(&:sym)).to eq [:foo_bar, :destroy]
120
- end
121
- end
122
- end