yousty-activeadmin 1.0.4.pre → 1.0.5.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (467) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +261 -211
  3. data/CONTRIBUTING.md +73 -39
  4. data/Gemfile +38 -20
  5. data/Guardfile +1 -0
  6. data/LICENSE +1 -1
  7. data/README.md +48 -24
  8. data/Rakefile +12 -4
  9. data/activeadmin.gemspec +21 -26
  10. data/app/assets/javascripts/active_admin/application.js.coffee +34 -5
  11. data/app/assets/javascripts/active_admin/base.js.coffee +11 -2
  12. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +6 -0
  13. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +7 -0
  14. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +39 -0
  15. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +3 -4
  16. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +51 -55
  17. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +19 -0
  18. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +79 -0
  19. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +37 -0
  20. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +27 -0
  21. data/app/assets/javascripts/active_admin/lib/popover.js.coffee +29 -58
  22. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +2 -3
  23. data/app/assets/stylesheets/active_admin/{_base.css.scss → _base.scss} +3 -0
  24. data/app/assets/stylesheets/active_admin/{_forms.css.scss → _forms.scss} +51 -15
  25. data/app/assets/stylesheets/active_admin/{_header.css.scss → _header.scss} +9 -5
  26. data/app/assets/stylesheets/active_admin/{_mixins.css.scss → _mixins.scss} +0 -0
  27. data/app/assets/stylesheets/active_admin/{_typography.css.scss → _typography.scss} +0 -0
  28. data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +11 -0
  29. data/app/assets/stylesheets/active_admin/components/_buttons.scss +1 -1
  30. data/app/assets/stylesheets/active_admin/components/{_comments.css.scss → _comments.scss} +0 -0
  31. data/app/assets/stylesheets/active_admin/components/{_date_picker.css.scss → _date_picker.scss} +40 -12
  32. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +3 -1
  33. data/app/assets/stylesheets/active_admin/components/_flash_messages.scss +37 -0
  34. data/app/assets/stylesheets/active_admin/components/_modal_dialog.scss +34 -0
  35. data/app/assets/stylesheets/active_admin/components/_pagination.scss +10 -0
  36. data/app/assets/stylesheets/active_admin/components/{_popovers.css.scss → _popovers.scss} +0 -0
  37. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +4 -0
  38. data/app/assets/stylesheets/active_admin/components/_table_tools.scss +67 -0
  39. data/app/assets/stylesheets/active_admin/components/{_tables.css.scss → _tables.scss} +1 -0
  40. data/app/assets/stylesheets/active_admin/components/_tabs.scss +65 -0
  41. data/app/assets/stylesheets/active_admin/components/_unsupported_browser.scss +16 -0
  42. data/app/assets/stylesheets/active_admin/mixins/{_all.css.scss → _all.scss} +0 -0
  43. data/app/assets/stylesheets/active_admin/mixins/{_buttons.css.scss → _buttons.scss} +0 -0
  44. data/app/assets/stylesheets/active_admin/mixins/{_gradients.css.scss → _gradients.scss} +1 -1
  45. data/app/assets/stylesheets/active_admin/mixins/{_icons.css.scss → _icons.scss} +1 -2
  46. data/app/assets/stylesheets/active_admin/mixins/{_reset.css.scss → _reset.scss} +0 -0
  47. data/app/assets/stylesheets/active_admin/mixins/{_rounded.css.scss → _rounded.scss} +0 -0
  48. data/app/assets/stylesheets/active_admin/mixins/{_sections.css.scss → _sections.scss} +7 -1
  49. data/app/assets/stylesheets/active_admin/mixins/{_shadows.css.scss → _shadows.scss} +0 -0
  50. data/app/assets/stylesheets/active_admin/mixins/{_variables.css.scss → _variables.scss} +10 -8
  51. data/app/assets/stylesheets/active_admin/{print.css.scss → print.scss} +4 -0
  52. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +10 -7
  53. data/app/views/active_admin/devise/confirmations/new.html.erb +15 -0
  54. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
  55. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +1 -1
  56. data/app/views/active_admin/devise/passwords/edit.html.erb +9 -10
  57. data/app/views/active_admin/devise/passwords/new.html.erb +5 -4
  58. data/app/views/active_admin/devise/registrations/new.html.erb +22 -0
  59. data/app/views/active_admin/devise/sessions/new.html.erb +8 -8
  60. data/app/views/active_admin/devise/shared/_links.erb +1 -1
  61. data/app/views/active_admin/devise/unlocks/new.html.erb +5 -4
  62. data/app/views/layouts/active_admin_logged_out.html.erb +3 -5
  63. data/config/locales/ar.yml +120 -0
  64. data/config/locales/bg.yml +26 -6
  65. data/config/locales/bs.yml +122 -0
  66. data/config/locales/ca.yml +10 -1
  67. data/config/locales/cs.yml +7 -2
  68. data/config/locales/da.yml +7 -3
  69. data/config/locales/de-CH.yml +14 -31
  70. data/config/locales/de.yml +33 -33
  71. data/config/locales/el.yml +127 -0
  72. data/config/locales/en-GB.yml +11 -4
  73. data/config/locales/en.yml +21 -4
  74. data/config/locales/{es_MX.yml → es-MX.yml} +14 -24
  75. data/config/locales/es.yml +32 -25
  76. data/config/locales/fa.yml +120 -0
  77. data/config/locales/fi.yml +9 -5
  78. data/config/locales/fr.yml +28 -12
  79. data/config/locales/he.yml +7 -3
  80. data/config/locales/hr.yml +42 -11
  81. data/config/locales/hu.yml +10 -3
  82. data/config/locales/it.yml +31 -3
  83. data/config/locales/ja.yml +17 -4
  84. data/config/locales/ko.yml +7 -1
  85. data/config/locales/lt.yml +42 -11
  86. data/config/locales/lv.yml +7 -3
  87. data/config/locales/{no-NB.yml → nb.yml} +46 -15
  88. data/config/locales/nl.yml +36 -5
  89. data/config/locales/pl.yml +13 -8
  90. data/config/locales/pt-BR.yml +36 -5
  91. data/config/locales/pt-PT.yml +8 -4
  92. data/config/locales/ro.yml +7 -3
  93. data/config/locales/ru.yml +26 -5
  94. data/config/locales/sv-SE.yml +9 -5
  95. data/config/locales/tr.yml +10 -3
  96. data/config/locales/uk.yml +36 -12
  97. data/config/locales/vi.yml +7 -3
  98. data/config/locales/zh-CN.yml +26 -10
  99. data/config/locales/zh-TW.yml +19 -13
  100. data/docs/0-installation.md +14 -6
  101. data/docs/1-general-configuration.md +8 -5
  102. data/docs/10-custom-pages.md +68 -70
  103. data/docs/11-decorators.md +48 -59
  104. data/docs/12-arbre-components.md +79 -73
  105. data/docs/13-authorization-adapter.md +128 -107
  106. data/docs/14-gotchas.md +90 -0
  107. data/docs/2-resource-customization.md +82 -15
  108. data/docs/3-index-pages.md +71 -12
  109. data/docs/3-index-pages/custom-index.md +31 -0
  110. data/docs/3-index-pages/index-as-table.md +45 -2
  111. data/docs/4-csv-format.md +1 -1
  112. data/docs/5-forms.md +78 -29
  113. data/docs/6-show-pages.md +31 -3
  114. data/docs/7-sidebars.md +46 -25
  115. data/docs/8-custom-actions.md +98 -77
  116. data/docs/9-batch-actions.md +211 -133
  117. data/docs/README.md +24 -0
  118. data/features/action_item.feature +3 -3
  119. data/features/authorization_pundit.feature +37 -0
  120. data/features/belongs_to.feature +3 -0
  121. data/features/breadcrumb.feature +48 -0
  122. data/features/comments/commenting.feature +44 -13
  123. data/features/development_reloading.feature +3 -4
  124. data/features/edit_page.feature +9 -19
  125. data/features/favicon.feature +3 -3
  126. data/features/i18n.feature +5 -0
  127. data/features/index/batch_actions.feature +41 -0
  128. data/features/index/filters.feature +23 -0
  129. data/features/index/format_as_csv.feature +90 -4
  130. data/features/index/index_as_blog.feature +4 -4
  131. data/features/index/index_as_table.feature +102 -6
  132. data/features/index/index_blank_slate.feature +22 -0
  133. data/features/index/index_scope_to.feature +16 -16
  134. data/features/index/page_title.feature +11 -0
  135. data/features/index/pagination.feature +1 -1
  136. data/features/index/switch_index_view.feature +14 -14
  137. data/features/new_page.feature +10 -20
  138. data/features/registering_pages.feature +1 -1
  139. data/features/renamed_resource.feature +32 -0
  140. data/features/show/page_title.feature +11 -0
  141. data/features/show/tabs.feature +27 -0
  142. data/features/sidebar_sections.feature +12 -0
  143. data/features/specifying_actions.feature +3 -3
  144. data/features/step_definitions/action_item_steps.rb +2 -2
  145. data/features/step_definitions/action_link_steps.rb +14 -1
  146. data/features/step_definitions/additional_web_steps.rb +17 -18
  147. data/features/step_definitions/asset_steps.rb +3 -3
  148. data/features/step_definitions/attribute_steps.rb +8 -3
  149. data/features/step_definitions/batch_action_steps.rb +26 -9
  150. data/features/step_definitions/blog_steps.rb +3 -0
  151. data/features/step_definitions/breadcrumb_steps.rb +1 -1
  152. data/features/step_definitions/comment_steps.rb +1 -1
  153. data/features/step_definitions/configuration_steps.rb +1 -1
  154. data/features/step_definitions/dashboard_steps.rb +2 -2
  155. data/features/step_definitions/factory_steps.rb +6 -6
  156. data/features/step_definitions/filter_steps.rb +25 -3
  157. data/features/step_definitions/flash_steps.rb +3 -3
  158. data/features/step_definitions/format_steps.rb +17 -10
  159. data/features/step_definitions/index_scope_steps.rb +5 -5
  160. data/features/step_definitions/layout_steps.rb +1 -1
  161. data/features/step_definitions/member_link_steps.rb +2 -2
  162. data/features/step_definitions/menu_steps.rb +3 -3
  163. data/features/step_definitions/pagination_steps.rb +2 -3
  164. data/features/step_definitions/sidebar_steps.rb +8 -3
  165. data/features/step_definitions/site_title_steps.rb +6 -4
  166. data/features/step_definitions/symbol_leak_steps.rb +1 -1
  167. data/features/step_definitions/tab_steps.rb +5 -0
  168. data/features/step_definitions/table_steps.rb +4 -4
  169. data/features/step_definitions/user_steps.rb +15 -9
  170. data/features/step_definitions/web_steps.rb +10 -11
  171. data/features/sti_resource.feature +2 -10
  172. data/features/strong_parameters.feature +73 -0
  173. data/features/support/env.rb +35 -2
  174. data/features/support/paths.rb +2 -2
  175. data/features/support/selectors.rb +1 -1
  176. data/features/users/resetting_password.feature +7 -7
  177. data/lib/active_admin.rb +18 -13
  178. data/lib/active_admin/abstract_view_factory.rb +7 -17
  179. data/lib/active_admin/application.rb +50 -25
  180. data/lib/active_admin/asset_registration.rb +2 -2
  181. data/lib/active_admin/authorization_adapter.rb +2 -2
  182. data/lib/active_admin/base_controller.rb +2 -3
  183. data/lib/active_admin/base_controller/authorization.rb +13 -31
  184. data/lib/active_admin/batch_actions.rb +1 -1
  185. data/lib/active_admin/batch_actions/controller.rb +13 -7
  186. data/lib/active_admin/batch_actions/resource_extension.rb +43 -17
  187. data/lib/active_admin/batch_actions/views/batch_action_form.rb +7 -4
  188. data/lib/active_admin/batch_actions/views/batch_action_popover.rb +3 -3
  189. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +8 -17
  190. data/lib/active_admin/batch_actions/views/selection_cells.rb +4 -4
  191. data/lib/active_admin/callbacks.rb +25 -24
  192. data/lib/active_admin/cancan_adapter.rb +7 -11
  193. data/lib/active_admin/csv_builder.rb +92 -15
  194. data/lib/active_admin/dependency.rb +93 -0
  195. data/lib/active_admin/deprecation.rb +6 -7
  196. data/lib/active_admin/devise.rb +26 -14
  197. data/lib/active_admin/dsl.rb +18 -11
  198. data/lib/active_admin/engine.rb +7 -2
  199. data/lib/active_admin/error.rb +59 -0
  200. data/lib/active_admin/filters/dsl.rb +2 -2
  201. data/lib/active_admin/filters/forms.rb +19 -30
  202. data/lib/active_admin/filters/formtastic_addons.rb +20 -11
  203. data/lib/active_admin/filters/resource_extension.rb +16 -9
  204. data/lib/active_admin/form_builder.rb +94 -105
  205. data/lib/active_admin/helpers/collection.rb +7 -13
  206. data/lib/active_admin/helpers/i18n.rb +7 -0
  207. data/lib/active_admin/helpers/optional_display.rb +5 -5
  208. data/lib/active_admin/helpers/scope_chain.rb +1 -1
  209. data/lib/active_admin/helpers/settings.rb +16 -9
  210. data/lib/active_admin/iconic.rb +17 -15
  211. data/lib/active_admin/iconic/icons.rb +136 -136
  212. data/lib/active_admin/inputs.rb +11 -7
  213. data/lib/active_admin/inputs/datepicker_input.rb +1 -1
  214. data/lib/active_admin/inputs/filters/base.rb +42 -0
  215. data/lib/active_admin/inputs/filters/base/search_method_select.rb +75 -0
  216. data/lib/active_admin/inputs/filters/boolean_input.rb +24 -0
  217. data/lib/active_admin/inputs/filters/check_boxes_input.rb +50 -0
  218. data/lib/active_admin/inputs/filters/date_range_input.rb +36 -0
  219. data/lib/active_admin/inputs/filters/numeric_input.rb +12 -0
  220. data/lib/active_admin/inputs/filters/select_input.rb +54 -0
  221. data/lib/active_admin/inputs/filters/string_input.rb +26 -0
  222. data/lib/active_admin/menu.rb +3 -3
  223. data/lib/active_admin/menu_collection.rb +1 -4
  224. data/lib/active_admin/namespace.rb +52 -29
  225. data/lib/active_admin/order_clause.rb +26 -0
  226. data/lib/active_admin/orm/active_record.rb +2 -0
  227. data/lib/active_admin/orm/active_record/comments.rb +48 -51
  228. data/lib/active_admin/orm/active_record/comments/comment.rb +16 -10
  229. data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -1
  230. data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -1
  231. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +15 -13
  232. data/lib/active_admin/page.rb +5 -1
  233. data/lib/active_admin/page_dsl.rb +1 -1
  234. data/lib/active_admin/page_presenter.rb +2 -2
  235. data/lib/active_admin/pundit_adapter.rb +68 -0
  236. data/lib/active_admin/resource.rb +12 -3
  237. data/lib/active_admin/resource/action_items.rb +15 -8
  238. data/lib/active_admin/resource/belongs_to.rb +7 -3
  239. data/lib/active_admin/resource/controllers.rb +1 -0
  240. data/lib/active_admin/resource/includes.rb +12 -0
  241. data/lib/active_admin/resource/menu.rb +5 -5
  242. data/lib/active_admin/resource/naming.rb +25 -47
  243. data/lib/active_admin/resource/page_presenters.rb +1 -1
  244. data/lib/active_admin/resource/routes.rb +26 -10
  245. data/lib/active_admin/resource/scope_to.rb +7 -7
  246. data/lib/active_admin/resource/sidebars.rb +1 -0
  247. data/lib/active_admin/resource_collection.rb +44 -16
  248. data/lib/active_admin/resource_controller.rb +6 -5
  249. data/lib/active_admin/resource_controller/data_access.rb +87 -82
  250. data/lib/active_admin/resource_controller/decorators.rb +91 -9
  251. data/lib/active_admin/resource_controller/streaming.rb +37 -0
  252. data/lib/active_admin/resource_dsl.rb +54 -10
  253. data/lib/active_admin/router.rb +7 -7
  254. data/lib/active_admin/scope.rb +6 -6
  255. data/lib/active_admin/sidebar_section.rb +10 -2
  256. data/lib/active_admin/version.rb +1 -1
  257. data/lib/active_admin/view_factory.rb +17 -16
  258. data/lib/active_admin/view_helpers.rb +0 -1
  259. data/lib/active_admin/view_helpers/auto_link_helper.rb +23 -12
  260. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +13 -6
  261. data/lib/active_admin/view_helpers/display_helper.rb +30 -17
  262. data/lib/active_admin/view_helpers/download_format_links_helper.rb +21 -24
  263. data/lib/active_admin/view_helpers/fields_for.rb +2 -2
  264. data/lib/active_admin/view_helpers/flash_helper.rb +4 -3
  265. data/lib/active_admin/view_helpers/form_helper.rb +5 -9
  266. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +6 -6
  267. data/lib/active_admin/views/action_items.rb +2 -2
  268. data/lib/active_admin/views/components/action_list_popover.rb +1 -1
  269. data/lib/active_admin/views/components/active_admin_form.rb +123 -0
  270. data/lib/active_admin/views/components/attributes_table.rb +22 -13
  271. data/lib/active_admin/views/components/blank_slate.rb +1 -1
  272. data/lib/active_admin/views/components/columns.rb +13 -7
  273. data/lib/active_admin/views/components/dropdown_menu.rb +6 -6
  274. data/lib/active_admin/views/components/index_list.rb +7 -7
  275. data/lib/active_admin/views/components/paginated_collection.rb +33 -17
  276. data/lib/active_admin/views/components/panel.rb +8 -2
  277. data/lib/active_admin/views/components/popover.rb +1 -1
  278. data/lib/active_admin/views/components/scopes.rb +1 -1
  279. data/lib/active_admin/views/components/sidebar_section.rb +3 -2
  280. data/lib/active_admin/views/components/site_title.rb +2 -2
  281. data/lib/active_admin/views/components/status_tag.rb +34 -11
  282. data/lib/active_admin/views/components/table_for.rb +67 -22
  283. data/lib/active_admin/views/components/tabs.rb +28 -0
  284. data/lib/active_admin/views/components/unsupported_browser.rb +11 -0
  285. data/lib/active_admin/views/footer.rb +3 -3
  286. data/lib/active_admin/views/header.rb +3 -3
  287. data/lib/active_admin/views/index_as_blog.rb +6 -6
  288. data/lib/active_admin/views/index_as_grid.rb +2 -2
  289. data/lib/active_admin/views/index_as_table.rb +127 -40
  290. data/lib/active_admin/views/pages/base.rb +22 -18
  291. data/lib/active_admin/views/pages/form.rb +16 -6
  292. data/lib/active_admin/views/pages/index.rb +36 -20
  293. data/lib/active_admin/views/pages/layout.rb +1 -1
  294. data/lib/active_admin/views/pages/show.rb +4 -4
  295. data/lib/active_admin/views/tabbed_navigation.rb +7 -3
  296. data/lib/active_admin/views/title_bar.rb +10 -8
  297. data/lib/generators/active_admin/assets/assets_generator.rb +1 -3
  298. data/lib/generators/active_admin/devise/devise_generator.rb +20 -28
  299. data/lib/generators/active_admin/install/install_generator.rb +8 -9
  300. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +20 -22
  301. data/lib/generators/active_admin/install/templates/admin_user.rb.erb +12 -9
  302. data/lib/generators/active_admin/install/templates/dashboard.rb +4 -4
  303. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb +3 -3
  304. data/lib/generators/active_admin/page/USAGE +8 -0
  305. data/lib/generators/active_admin/page/page_generator.rb +12 -0
  306. data/lib/generators/active_admin/page/templates/page.rb +5 -0
  307. data/lib/generators/active_admin/resource/resource_generator.rb +2 -4
  308. data/lib/generators/active_admin/resource/templates/admin.rb +15 -0
  309. data/lib/ransack_ext.rb +4 -4
  310. data/script/local +2 -2
  311. data/script/travis_cache +107 -0
  312. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +25 -0
  313. data/spec/javascripts/fixtures/flashes.html +2 -0
  314. data/spec/rails_helper.rb +154 -0
  315. data/spec/{integration → requests}/default_namespace_spec.rb +6 -6
  316. data/spec/{integration → requests}/javascript_spec.rb +5 -5
  317. data/spec/requests/memory_spec.rb +23 -0
  318. data/spec/requests/stylesheets_spec.rb +18 -0
  319. data/spec/spec_helper.rb +12 -170
  320. data/spec/support/detect_rails_version.rb +31 -39
  321. data/spec/support/rails_template.rb +61 -34
  322. data/spec/support/rails_template_with_data.rb +14 -14
  323. data/spec/support/templates/admin/stores.rb +3 -5
  324. data/spec/support/templates/policies/active_admin/comment_policy.rb +9 -0
  325. data/spec/support/templates/policies/active_admin/page_policy.rb +18 -0
  326. data/spec/support/templates/policies/admin_user_policy.rb +11 -0
  327. data/spec/support/templates/policies/application_policy.rb +45 -0
  328. data/spec/support/templates/policies/category_policy.rb +7 -0
  329. data/spec/support/templates/policies/post_policy.rb +15 -0
  330. data/spec/support/templates/policies/store_policy.rb +11 -0
  331. data/spec/support/templates/policies/user_policy.rb +11 -0
  332. data/spec/support/templates/post_decorator.rb +4 -46
  333. data/spec/unit/abstract_view_factory_spec.rb +11 -11
  334. data/spec/unit/action_builder_spec.rb +24 -18
  335. data/spec/unit/active_admin_spec.rb +2 -2
  336. data/spec/unit/application_spec.rb +30 -31
  337. data/spec/unit/asset_registration_spec.rb +11 -11
  338. data/spec/unit/authorization/authorization_adapter_spec.rb +7 -7
  339. data/spec/unit/authorization/controller_authorization_spec.rb +11 -11
  340. data/spec/unit/authorization/index_overriding_spec.rb +22 -0
  341. data/spec/unit/auto_link_spec.rb +42 -5
  342. data/spec/unit/batch_actions/resource_spec.rb +15 -14
  343. data/spec/unit/batch_actions/settings_spec.rb +18 -18
  344. data/spec/unit/belongs_to_spec.rb +26 -17
  345. data/spec/unit/cancan_adapter_spec.rb +4 -4
  346. data/spec/unit/comments_spec.rb +99 -39
  347. data/spec/unit/component_spec.rb +3 -3
  348. data/spec/unit/config_shared_examples.rb +8 -8
  349. data/spec/unit/controller_filters_spec.rb +26 -14
  350. data/spec/unit/csv_builder_spec.rb +152 -24
  351. data/spec/unit/dependency_spec.rb +135 -0
  352. data/spec/unit/devise_spec.rb +17 -37
  353. data/spec/unit/dsl_spec.rb +70 -9
  354. data/spec/unit/event_spec.rb +9 -9
  355. data/spec/unit/filters/filter_form_builder_spec.rb +167 -157
  356. data/spec/unit/filters/resource_spec.rb +35 -33
  357. data/spec/unit/form_builder_spec.rb +383 -145
  358. data/spec/unit/generators/install_spec.rb +5 -5
  359. data/spec/unit/helpers/collection_spec.rb +18 -18
  360. data/spec/unit/helpers/scope_chain_spec.rb +5 -5
  361. data/spec/unit/helpers/settings_spec.rb +4 -4
  362. data/spec/unit/i18n_spec.rb +12 -0
  363. data/spec/unit/menu_collection_spec.rb +14 -14
  364. data/spec/unit/menu_item_spec.rb +42 -42
  365. data/spec/unit/menu_spec.rb +20 -20
  366. data/spec/unit/namespace/authorization_spec.rb +5 -5
  367. data/spec/unit/namespace/register_page_spec.rb +9 -9
  368. data/spec/unit/namespace/register_resource_spec.rb +26 -28
  369. data/spec/unit/namespace_spec.rb +20 -20
  370. data/spec/unit/order_clause_spec.rb +81 -0
  371. data/spec/unit/page_controller_spec.rb +1 -1
  372. data/spec/unit/page_spec.rb +18 -12
  373. data/spec/unit/pretty_format_spec.rb +42 -14
  374. data/spec/unit/pundit_adapter_spec.rb +98 -0
  375. data/spec/unit/resource/action_items_spec.rb +13 -10
  376. data/spec/unit/resource/includes_spec.rb +21 -0
  377. data/spec/unit/resource/menu_spec.rb +1 -1
  378. data/spec/unit/resource/naming_spec.rb +23 -23
  379. data/spec/unit/resource/page_presenters_spec.rb +8 -8
  380. data/spec/unit/resource/pagination_spec.rb +6 -6
  381. data/spec/unit/resource/routes_spec.rb +10 -10
  382. data/spec/unit/resource/scopes_spec.rb +14 -7
  383. data/spec/unit/resource/sidebars_spec.rb +6 -6
  384. data/spec/unit/resource_collection_spec.rb +66 -68
  385. data/spec/unit/resource_controller/data_access_spec.rb +39 -21
  386. data/spec/unit/resource_controller/decorators_spec.rb +83 -0
  387. data/spec/unit/resource_controller/sidebars_spec.rb +7 -8
  388. data/spec/unit/resource_controller_spec.rb +66 -62
  389. data/spec/unit/resource_registration_spec.rb +12 -12
  390. data/spec/unit/resource_spec.rb +75 -40
  391. data/spec/unit/routing_spec.rb +39 -31
  392. data/spec/unit/scope_spec.rb +112 -30
  393. data/spec/unit/settings_spec.rb +51 -21
  394. data/spec/unit/view_factory_spec.rb +2 -2
  395. data/spec/unit/view_helpers/breadcrumbs_spec.rb +137 -69
  396. data/spec/unit/view_helpers/display_name_spec.rb +49 -21
  397. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +5 -5
  398. data/spec/unit/view_helpers/fields_for_spec.rb +18 -18
  399. data/spec/unit/view_helpers/flash_helper_spec.rb +25 -0
  400. data/spec/unit/view_helpers/form_helper_spec.rb +9 -22
  401. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +59 -21
  402. data/spec/unit/views/components/action_list_popover_spec.rb +16 -6
  403. data/spec/unit/views/components/attributes_table_spec.rb +94 -52
  404. data/spec/unit/views/components/batch_action_popover_spec.rb +20 -6
  405. data/spec/unit/views/components/blank_slate_spec.rb +14 -4
  406. data/spec/unit/views/components/columns_spec.rb +52 -22
  407. data/spec/unit/views/components/index_list_spec.rb +11 -8
  408. data/spec/unit/views/components/index_table_for_spec.rb +46 -0
  409. data/spec/unit/views/components/paginated_collection_spec.rb +68 -59
  410. data/spec/unit/views/components/panel_spec.rb +32 -21
  411. data/spec/unit/views/components/popover_spec.rb +7 -7
  412. data/spec/unit/views/components/sidebar_section_spec.rb +18 -8
  413. data/spec/unit/views/components/site_title_spec.rb +8 -8
  414. data/spec/unit/views/components/status_tag_spec.rb +178 -38
  415. data/spec/unit/views/components/table_for_spec.rb +227 -44
  416. data/spec/unit/views/components/tabs_spec.rb +39 -0
  417. data/spec/unit/views/components/unsupported_browser_spec.rb +47 -0
  418. data/spec/unit/views/pages/form_spec.rb +17 -10
  419. data/spec/unit/views/pages/index_spec.rb +60 -0
  420. data/spec/unit/views/pages/layout_spec.rb +17 -21
  421. data/spec/unit/views/pages/show_spec.rb +16 -3
  422. data/spec/unit/views/tabbed_navigation_spec.rb +61 -52
  423. data/tasks/docs.rake +1 -1
  424. data/tasks/parallel_tests.rake +8 -2
  425. data/tasks/test.rake +8 -4
  426. data/tasks/yard.rake +7 -5
  427. metadata +180 -101
  428. data/app/assets/images/active_admin/admin_notes_icon.png +0 -0
  429. data/app/assets/images/active_admin/datepicker/datepicker-header-bg.png +0 -0
  430. data/app/assets/images/active_admin/datepicker/datepicker-next-link-icon.png +0 -0
  431. data/app/assets/images/active_admin/datepicker/datepicker-nipple.png +0 -0
  432. data/app/assets/images/active_admin/datepicker/datepicker-prev-link-icon.png +0 -0
  433. data/app/assets/images/active_admin/index_list_icons/block_icon.svg +0 -10
  434. data/app/assets/images/active_admin/index_list_icons/blog_icon.svg +0 -4
  435. data/app/assets/images/active_admin/index_list_icons/grid_icon.svg +0 -13
  436. data/app/assets/images/active_admin/index_list_icons/table_icon.svg +0 -3
  437. data/app/assets/images/active_admin/loading.gif +0 -0
  438. data/app/assets/javascripts/active_admin/components/application.js.coffee +0 -23
  439. data/app/assets/javascripts/active_admin/components/batch_actions.js.coffee +0 -26
  440. data/app/assets/javascripts/active_admin/components/has_many.js.coffee +0 -41
  441. data/app/assets/stylesheets/active_admin/components/_batch_actions.css.scss +0 -11
  442. data/app/assets/stylesheets/active_admin/components/_flash_messages.css.scss +0 -39
  443. data/app/assets/stylesheets/active_admin/components/_table_tools.css.scss +0 -95
  444. data/app/views/active_admin/dashboard/index.html.arb +0 -1
  445. data/app/views/active_admin/resource/index.csv.erb +0 -17
  446. data/docs/3-index-pages/create-an-index.md +0 -29
  447. data/lib/active_admin/inputs/filter_base.rb +0 -33
  448. data/lib/active_admin/inputs/filter_base/search_method_select.rb +0 -73
  449. data/lib/active_admin/inputs/filter_boolean_input.rb +0 -32
  450. data/lib/active_admin/inputs/filter_check_boxes_input.rb +0 -51
  451. data/lib/active_admin/inputs/filter_date_range_input.rb +0 -34
  452. data/lib/active_admin/inputs/filter_numeric_input.rb +0 -10
  453. data/lib/active_admin/inputs/filter_select_input.rb +0 -61
  454. data/lib/active_admin/inputs/filter_string_input.rb +0 -24
  455. data/lib/active_admin/view_helpers/assigns_with_indifferent_access_helper.rb +0 -7
  456. data/spec/integration/memory_spec.rb +0 -29
  457. data/spec/integration/stylesheets_spec.rb +0 -41
  458. data/spec/javascripts/compiled/jquery.aa.checkbox-toggler-spec.js +0 -60
  459. data/spec/javascripts/compiled/jquery.aa.popover-spec.js +0 -106
  460. data/spec/javascripts/compiled/jquery.aa.table-checkbox-toggler-spec.js +0 -37
  461. data/spec/javascripts/helpers/vendor/jasmine-fixture-0.0.5.js +0 -108
  462. data/spec/javascripts/helpers/vendor/jasmine-jquery.js +0 -288
  463. data/spec/javascripts/helpers/vendor/sinon-1.2.0.js +0 -2915
  464. data/spec/javascripts/support/jquery-ui-1.8.16.custom.min.js +0 -34
  465. data/spec/javascripts/support/jquery.min.js +0 -4
  466. data/spec/spec_helper_without_rails.rb +0 -16
  467. data/tasks/js.rake +0 -32
@@ -8,7 +8,7 @@ Here are a few common configurations:
8
8
  Active Admin requires two settings to authenticate and use the current user
9
9
  within your application.
10
10
 
11
- + the method controllers use to force authentication
11
+ + the method controllers used to force authentication
12
12
 
13
13
  ```ruby
14
14
  config.authentication_method = :authenticate_admin_user!
@@ -36,14 +36,17 @@ If you want, you can customize it.
36
36
  config.site_title = "My Admin Site"
37
37
  config.site_title_link = "/"
38
38
  config.site_title_image = "site_image.png"
39
+ config.site_title_image = "http://www.google.com/images/logos/google_logo_41.png"
40
+ config.site_title_image = ->(context) { context.current_user.company.logo_url }
39
41
  ```
40
42
 
41
43
  ## Internationalization (I18n)
42
44
 
43
45
  To translate Active Admin to a new language or customize an existing translation, you can copy
44
- [config/locales/en.yml](https://github.com/gregbell/active_admin/blob/master/config/locales/en.yml)
46
+ [config/locales/en.yml](https://github.com/activeadmin/activeadmin/blob/master/config/locales/en.yml)
45
47
  to your application's `config/locales` folder and update it. We welcome new/updated translations,
46
- so feel free to [contribute!](https://github.com/gregbell/active_admin/blob/master/CONTRIBUTING.md)
48
+ so feel free to [contribute](https://github.com/activeadmin/activeadmin/blob/master/CONTRIBUTING.md)!
49
+ To translate third party gems like devise, use for example devise-i18n.
47
50
 
48
51
  ## Namespaces
49
52
 
@@ -101,13 +104,13 @@ undesired. To disable comments:
101
104
  ```ruby
102
105
  # For the entire application:
103
106
  ActiveAdmin.setup do |config|
104
- config.allow_comments = false
107
+ config.comments = false
105
108
  end
106
109
 
107
110
  # For a namespace:
108
111
  ActiveAdmin.setup do |config|
109
112
  config.namespace :admin do |admin|
110
- admin.allow_comments = false
113
+ admin.comments = false
111
114
  end
112
115
  end
113
116
 
@@ -1,98 +1,96 @@
1
1
  # Custom Pages
2
2
 
3
- When you need a standalone page on your site, Custom Pages will be there with a familiar syntax to resource registration.
3
+ If you have data you want on a standalone page that isn't tied to a resource,
4
+ custom pages provide you with a familiar syntax and feature set:
4
5
 
5
- ## Available Features
6
- * main page content
7
- * menu item
6
+ * a menu item
8
7
  * sidebars
9
- * action_items
10
- * page_actions
8
+ * action items
9
+ * page actions
11
10
 
12
11
  ## Create a new Page
13
12
 
14
- Creating a page is as simple as calling the `register_page` method and saving it
15
- under `/admin/my_page.rb`:
16
-
17
- ActiveAdmin.register_page "My Page" do
18
- content do
19
- para "Hello World"
20
- end
13
+ Creating a page is as simple as calling `register_page`:
14
+
15
+ ```ruby
16
+ # app/admin/calendar.rb
17
+ ActiveAdmin.register_page "Calendar" do
18
+ content do
19
+ para "Hello World"
20
+ end
21
+ end
22
+ ```
23
+
24
+ Anything rendered within `content` will be the main content on the page.
25
+ Partials behave exactly the same way as they do for resources:
26
+
27
+ ```ruby
28
+ # app/admin/calendar.rb
29
+ ActiveAdmin.register_page "Calendar" do
30
+ content do
31
+ render partial: 'calendar'
32
+ end
33
+ end
34
+
35
+ # app/views/admin/calendar/_calendar.html.arb
36
+ table do
37
+ thead do
38
+ tr do
39
+ %w[Sunday Monday Tuesday Wednesday Thursday Friday Saturday].each &method(:th)
21
40
  end
22
-
23
- In the above example, a new page with the title "My Page" and the content of
24
- "Hello World" will be displayed. Anything rendered within `content` will be the
25
- main content on the page. To use partials, create the folder under `app/views/admin/my_page`
26
- and save your partials there. Then use `render "partial"` within `content`.
27
-
28
- ## Page Title & I18n
29
-
30
- Coming soon...
41
+ end
42
+ tbody do
43
+ # ...
44
+ end
45
+ end
46
+ ```
31
47
 
32
48
  ## Customize the Menu
33
49
 
34
- The menu item is available to customize just like
35
- [any other resource](2-resource-customization.md#customize-the-menu) in Active Admin.
50
+ See the [Menu](2-resource-customization.md#customize-the-menu) documentation.
36
51
 
37
- ## Add a Sidebar Section
52
+ ## Customize the Namespace
38
53
 
39
- You can add sidebar sections to your pages using the same DSL as other resources
40
- in Active Admin:
54
+ We use the `admin` namespace by default, but you can use anything:
41
55
 
42
- ActiveAdmin.register_page "My Page" do
56
+ ```ruby
57
+ # Available at /today/calendar
58
+ ActiveAdmin.register_page "Calendar", namespace: :today
43
59
 
44
- sidebar :help do
45
- ul do
46
- li "First Line of Help"
47
- end
48
- end
60
+ # Available at /calendar
61
+ ActiveAdmin.register_page "Calendar", namespace: false
62
+ ```
49
63
 
50
- content do
51
- para "Hello World"
52
- end
53
- end
64
+ ## Add a Sidebar
54
65
 
55
- This creates a sidebar section named "Help" containing an unordered list.
56
- To view the full customization options, visit [Sidebars](7-sidebars.md).
66
+ See the [Sidebars](7-sidebars.md) documentation.
57
67
 
58
68
  ## Add an Action Item
59
69
 
60
- Just like other resources, you can add Action Item's to pages:
61
-
62
- ActiveAdmin.register_page "My Page" do
70
+ Just like other resources, you can add action items. The difference here being that
71
+ `:only` and `:except` don't apply because there's only one page it could apply to.
63
72
 
64
- action_item do
65
- link_to "View Site", "/"
66
- end
67
-
68
- content do
69
- para "Hello World"
70
- end
71
- end
72
-
73
- This adds an action item that links to the root URL of the application.
73
+ ```ruby
74
+ action_item :view_site do
75
+ link_to "View Site", "/"
76
+ end
77
+ ```
74
78
 
75
79
  ## Add a Page Action
76
80
 
77
- `page_action` allows you to define controller actions specific to this page,
78
- and is the functional equivalent of `collection_action`.
81
+ Page actions are custom controller actions (which mirror the resource DSL for the same feature).
79
82
 
80
- ActiveAdmin.register_page "My Page" do
83
+ ```ruby
84
+ page_action :add_event, method: :post do
85
+ # ...
86
+ redirect_to admin_calendar_path, notice: "Your event was added"
87
+ end
81
88
 
82
- page_action :ex, :method => :post do
83
- # do stuff here
84
- redirect_to admin_my_page_path, :notice => "You did stuff!"
85
- end
86
-
87
- action_item do
88
- link_to "Do Stuff", admin_my_page_ex_path, :method => :post
89
- end
90
-
91
- content do
92
- para "Hello World"
93
- end
94
- end
89
+ action_item :add do
90
+ link_to "Add Event", admin_calendar_add_event_path, method: :post
91
+ end
92
+ ```
95
93
 
96
- This defines the route `/admin/my_page/ex` which can handle HTTP POST requests.
94
+ This defines the route `/admin/calendar/add_event` which can handle HTTP POST requests.
97
95
 
98
- Clicking on the `action_item` will reload page with the message "You did stuff!"
96
+ Clicking on the action item will reload page and display the message "Your event was added"
@@ -1,66 +1,55 @@
1
1
  # Decorators
2
2
 
3
- Active Admin supports the use of decorators for resources. Resources will be
4
- decorated for the index and show blocks. The
5
- [draper](https://github.com/drapergem/draper) gem is recommended but not required
6
- (more on requirements below). Note, that Active Admin works out of the box with
7
- Draper `>= 1.0.0`.
8
-
9
- ## Configuration
10
-
11
- ActiveAdmin.register Post do
12
- decorate_with PostDecorator
13
- end
14
-
15
- ## Example Usage
16
-
17
- This example uses [draper](https://github.com/drapergem/draper).
18
-
19
- # Gemfile
20
- gem 'draper', '>= 1.0.0'
21
-
22
- Assuming a post and a post decorator
23
-
24
- class Post < ActiveRecord::Base; end
25
-
26
- class PostDecorator < ApplicationDecorator
27
- decorates :post
28
-
29
- def image
30
- h.image_tag model.image_url
31
- end
32
- end
33
-
34
- Then the following is possible
35
-
36
- ActiveAdmin.register Post do
37
- decorate_with PostDecorator
38
-
39
- index do
40
- column(:title)
41
- column(:image)
42
- end
43
-
44
- show do
45
- attributes_table do
46
- row(:title)
47
- row(:image)
48
- end
49
- end
50
- end
3
+ Active Admin allows you to use the decorator pattern to provide view-specific
4
+ versions of a resource. [Draper](https://github.com/drapergem/draper) is
5
+ recommended but not required.
6
+
7
+ To use decorator support without Draper, your decorator must support a variety
8
+ of collection methods to support pagination, filtering, etc. See
9
+ [this github issue discussion](https://github.com/activeadmin/activeadmin/issues/3600)
10
+ and [this gem](https://github.com/kiote/activeadmin-poro-decorator) for more details.
11
+
12
+ ## Example usage
13
+
14
+ ```ruby
15
+ # app/models/post.rb
16
+ class Post < ActiveRecord::Base
17
+ # has title, content, and image_url
18
+ end
19
+
20
+ # app/decorators/post_decorator.rb
21
+ class PostDecorator < Draper::Decorator
22
+ delegate_all
23
+
24
+ def image
25
+ h.image_tag model.image_url
26
+ end
27
+ end
28
+
29
+ # app/admin/post.rb
30
+ ActiveAdmin.register Post do
31
+ decorate_with PostDecorator
32
+
33
+ index do
34
+ column :title
35
+ column :image
36
+ actions
37
+ end
38
+ end
39
+ ```
51
40
 
52
41
  ## Forms
53
42
 
54
- Note that the resource proveded to form_for also gets decorated.
55
-
56
- In most cases this will work as expected. However, it is possible to disable
57
- automatic decoration in the form with the `decorate` option:
58
-
59
- ActiveAdmin.register Post do
60
- decorate_with PostDecorator
43
+ By default, ActiveAdmin does *not* decorate the resource used to render forms.
44
+ If you need ActiveAdmin to decorate the forms, you can pass `decorate: true` to the
45
+ form block.
61
46
 
62
- form decorate: false do
63
- # ...
64
- end
65
- end
47
+ ```ruby
48
+ ActiveAdmin.register Post do
49
+ decorate_with PostDecorator
66
50
 
51
+ form decorate: true do |f|
52
+ # ...
53
+ end
54
+ end
55
+ ```
@@ -10,19 +10,23 @@ non-breaking space or some text. The text_node method can be used to insert
10
10
  these elements into the page inside of other Arbre components or resource
11
11
  controller functions.
12
12
 
13
- ActiveAdmin.register Post do
14
- show do
15
- panel "Post Details" do
16
- row("") { post.id }
17
- row("Tags") do
18
- text_node link_to "#{tag}",
19
- admin_post_path( q: { tagged_with_contains: tag } )
13
+ ```ruby
14
+ ActiveAdmin.register Post do
15
+ show do
16
+ panel "Post Details" do
17
+ attributes_table_for post do
18
+ row :id
19
+ row 'Tags' do
20
+ post.tags.each do |tag|
21
+ a tag, href: admin_post_path(q: {tagged_with_contains: tag})
20
22
  text_node "&nbsp".html_safe
21
23
  end
22
24
  end
23
25
  end
24
26
  end
25
-
27
+ end
28
+ end
29
+ ```
26
30
 
27
31
  ## Panels
28
32
 
@@ -30,19 +34,19 @@ A panel is a component that takes up all available horizontal space and takes a
30
34
  title and a hash of attributes as arguments. If a sidebar is present, a panel
31
35
  will take up the remaining space.
32
36
 
33
- The following code will create two stacked panels:
34
-
35
- show do
37
+ This will create two stacked panels:
36
38
 
37
- panel "Post Details" do
38
- render partial: "show_details", locals: {post: post}
39
- end
40
-
41
- panel "Post Tags" do
42
- render partial: "show_enhancements", locals: {post: post}
43
- end
39
+ ```ruby
40
+ show do
41
+ panel "Post Details" do
42
+ render partial: "details", locals: {post: post}
43
+ end
44
44
 
45
- end
45
+ panel "Post Tags" do
46
+ render partial: "tags", locals: {post: post}
47
+ end
48
+ end
49
+ ```
46
50
 
47
51
  ## Columns
48
52
 
@@ -52,34 +56,36 @@ the rest.
52
56
 
53
57
  #### Simple Columns
54
58
 
55
- To create simple columnns, use the #columns method. Within the block, call
59
+ To create simple columnns, use the `columns` method. Within the block, call
56
60
  the #column method to create a new column.
57
61
 
58
- columns do
59
-
60
- column do
61
- span "Column #1"
62
- end
63
-
64
- column do
65
- span "Column #2"
66
- end
62
+ ```ruby
63
+ columns do
64
+ column do
65
+ span "Column #1"
66
+ end
67
67
 
68
- end
68
+ column do
69
+ span "Column #2"
70
+ end
71
+ end
72
+ ```
69
73
 
70
74
  ### Spanning Multiple Columns
71
75
 
72
76
  To create columns that have multiple spans, pass the :span option to the column
73
77
  method.
74
78
 
75
- columns do
76
- column :span => 2 do
77
- span "Column # 1"
78
- end
79
- column do
80
- span "Column # 2"
81
- end
82
- end
79
+ ```ruby
80
+ columns do
81
+ column span: 2 do
82
+ span "Column # 1"
83
+ end
84
+ column do
85
+ span "Column # 2"
86
+ end
87
+ end
88
+ ```
83
89
 
84
90
  By default, each column spans 1 column. The above layout would have 2 columns,
85
91
  the first being twice as large as the second.
@@ -89,16 +95,18 @@ the first being twice as large as the second.
89
95
  Active Admin uses a fluid width layout, causing column width to be defined
90
96
  using percentages. Due to using this style of layout, columns can shrink or
91
97
  expand past points that may not be desirable. To overcome this issue,
92
- columns provide :max_width and :min_width options.
93
-
94
- columns do
95
- column :max_width => "200px", :min_width => "100px" do
96
- span "Column # 1"
97
- end
98
- column do
99
- span "Column # 2"
100
- end
101
- end
98
+ columns provide `:max_width` and `:min_width` options.
99
+
100
+ ```ruby
101
+ columns do
102
+ column max_width: "200px", min_width: "100px" do
103
+ span "Column # 1"
104
+ end
105
+ column do
106
+ span "Column # 2"
107
+ end
108
+ end
109
+ ```
102
110
 
103
111
  In the above example, the first column will not grow larger than 200px and will
104
112
  not shrink less than 100px.
@@ -106,39 +114,37 @@ not shrink less than 100px.
106
114
  ## Table For
107
115
 
108
116
  Table For provides the ability to create tables like those present
109
- in #index_as_table. table_for takes a collection and a hash of options and then
110
- uses #column to build the fields to show with the table.
111
-
112
- table_for order.payments do
113
- column "Payment Type" { |payment| payment.payment_type.titleize }
114
- column "Received On", :created_at
115
- column "Payment Details & Notes", :payment_details
116
- column "Amount" { |payment| payment.amount_in_dollars }
117
- end
118
-
119
- the #column method can take a title as its first argument and data
120
- (:your_method) as its second (or first if no title provided). Column also
117
+ in `index_as_table`. It takes a collection and a hash of options and then
118
+ uses `column` to build the fields to show with the table.
119
+
120
+ ```ruby
121
+ table_for order.payments do
122
+ column(:payment_type) { |payment| payment.payment_type.titleize }
123
+ column "Received On", :created_at
124
+ column "Details & Notes", :payment_details
125
+ column "Amount", :amount_in_dollars
126
+ end
127
+ ```
128
+
129
+ the `column` method can take a title as its first argument and data
130
+ (`:your_method`) as its second (or first if no title provided). Column also
121
131
  takes a block.
122
132
 
123
133
  ## Status tag
124
134
 
125
135
  Status tags provide convenient syntactic sugar for styling items that have
126
136
  status. A common example of where the status tag could be useful is for orders
127
- that are complete or in progress. status_tag takes a status, like
137
+ that are complete or in progress. `status_tag` takes a status, like
128
138
  "In Progress", a type, which defaults to nil, and a hash of options. The
129
139
  status_tag will generate html markup that Active Admin css uses in styling.
130
140
 
131
- status_tag('In Progress')
132
- # => <span class='status_tag in_progress'>In Progress</span>
141
+ ```ruby
142
+ status_tag 'In Progress'
143
+ # => <span class='status_tag in_progress'>In Progress</span>
133
144
 
134
- status_tag('active', :ok)
135
- # => <span class='status_tag active ok'>Active</span>
145
+ status_tag 'active', :ok
146
+ # => <span class='status_tag active ok'>Active</span>
136
147
 
137
- status_tag (
138
- 'active',
139
- :ok,
140
- :class => 'important',
141
- :id => 'status_123',
142
- :label => 'on'
143
- )
144
- # => <span class='status_tag active ok important' id='status_123'>on</span>
148
+ status_tag 'active', :ok, class: 'important', id: 'status_123', label: 'on'
149
+ # => <span class='status_tag active ok important' id='status_123'>on</span>
150
+ ```