yousty-activeadmin 1.0.0.pre

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (490) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +43 -0
  3. data/.travis.yml +8 -0
  4. data/.yardopts +9 -0
  5. data/CHANGELOG.md +1056 -0
  6. data/CONTRIBUTING.md +110 -0
  7. data/Gemfile +41 -0
  8. data/Guardfile +7 -0
  9. data/LICENSE +25 -0
  10. data/README.md +67 -0
  11. data/Rakefile +25 -0
  12. data/activeadmin.gemspec +33 -0
  13. data/app/assets/images/active_admin/admin_notes_icon.png +0 -0
  14. data/app/assets/images/active_admin/datepicker/datepicker-header-bg.png +0 -0
  15. data/app/assets/images/active_admin/datepicker/datepicker-input-icon.png +0 -0
  16. data/app/assets/images/active_admin/datepicker/datepicker-next-link-icon.png +0 -0
  17. data/app/assets/images/active_admin/datepicker/datepicker-nipple.png +0 -0
  18. data/app/assets/images/active_admin/datepicker/datepicker-prev-link-icon.png +0 -0
  19. data/app/assets/images/active_admin/index_list_icons/block_icon.svg +10 -0
  20. data/app/assets/images/active_admin/index_list_icons/blog_icon.svg +4 -0
  21. data/app/assets/images/active_admin/index_list_icons/grid_icon.svg +13 -0
  22. data/app/assets/images/active_admin/index_list_icons/table_icon.svg +3 -0
  23. data/app/assets/images/active_admin/loading.gif +0 -0
  24. data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
  25. data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
  26. data/app/assets/images/active_admin/orderable.png +0 -0
  27. data/app/assets/javascripts/active_admin/application.js.coffee +6 -0
  28. data/app/assets/javascripts/active_admin/base.js.coffee +5 -0
  29. data/app/assets/javascripts/active_admin/components/application.js.coffee +23 -0
  30. data/app/assets/javascripts/active_admin/components/batch_actions.js.coffee +26 -0
  31. data/app/assets/javascripts/active_admin/components/has_many.js.coffee +41 -0
  32. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +37 -0
  33. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +105 -0
  34. data/app/assets/javascripts/active_admin/lib/popover.js.coffee +97 -0
  35. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +25 -0
  36. data/app/assets/stylesheets/active_admin/_base.css.scss +41 -0
  37. data/app/assets/stylesheets/active_admin/_forms.css.scss +293 -0
  38. data/app/assets/stylesheets/active_admin/_header.css.scss +152 -0
  39. data/app/assets/stylesheets/active_admin/_mixins.css.scss +1 -0
  40. data/app/assets/stylesheets/active_admin/_typography.css.scss +100 -0
  41. data/app/assets/stylesheets/active_admin/components/_batch_actions.css.scss +11 -0
  42. data/app/assets/stylesheets/active_admin/components/_blank_slates.scss +31 -0
  43. data/app/assets/stylesheets/active_admin/components/_breadcrumbs.scss +20 -0
  44. data/app/assets/stylesheets/active_admin/components/_buttons.scss +11 -0
  45. data/app/assets/stylesheets/active_admin/components/_columns.scss +3 -0
  46. data/app/assets/stylesheets/active_admin/components/_comments.css.scss +41 -0
  47. data/app/assets/stylesheets/active_admin/components/_date_picker.css.scss +123 -0
  48. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +151 -0
  49. data/app/assets/stylesheets/active_admin/components/_flash_messages.css.scss +39 -0
  50. data/app/assets/stylesheets/active_admin/components/_grid.scss +9 -0
  51. data/app/assets/stylesheets/active_admin/components/_index_list.scss +12 -0
  52. data/app/assets/stylesheets/active_admin/components/_links.scss +5 -0
  53. data/app/assets/stylesheets/active_admin/components/_pagination.scss +34 -0
  54. data/app/assets/stylesheets/active_admin/components/_panels.scss +6 -0
  55. data/app/assets/stylesheets/active_admin/components/_popovers.css.scss +123 -0
  56. data/app/assets/stylesheets/active_admin/components/_scopes.scss +10 -0
  57. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +12 -0
  58. data/app/assets/stylesheets/active_admin/components/_table_tools.css.scss +95 -0
  59. data/app/assets/stylesheets/active_admin/components/_tables.css.scss +110 -0
  60. data/app/assets/stylesheets/active_admin/mixins/_all.css.scss +11 -0
  61. data/app/assets/stylesheets/active_admin/mixins/_buttons.css.scss +66 -0
  62. data/app/assets/stylesheets/active_admin/mixins/_gradients.css.scss +38 -0
  63. data/app/assets/stylesheets/active_admin/mixins/_icons.css.scss +21 -0
  64. data/app/assets/stylesheets/active_admin/mixins/_reset.css.scss +165 -0
  65. data/app/assets/stylesheets/active_admin/mixins/_rounded.css.scss +43 -0
  66. data/app/assets/stylesheets/active_admin/mixins/_sections.css.scss +36 -0
  67. data/app/assets/stylesheets/active_admin/mixins/_shadows.css.scss +22 -0
  68. data/app/assets/stylesheets/active_admin/mixins/_typography.scss +3 -0
  69. data/app/assets/stylesheets/active_admin/mixins/_utilities.scss +26 -0
  70. data/app/assets/stylesheets/active_admin/mixins/_variables.css.scss +32 -0
  71. data/app/assets/stylesheets/active_admin/pages/_logged_out.scss +44 -0
  72. data/app/assets/stylesheets/active_admin/print.css.scss +284 -0
  73. data/app/assets/stylesheets/active_admin/structure/_footer.scss +14 -0
  74. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +29 -0
  75. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +43 -0
  76. data/app/views/active_admin/dashboard/index.html.arb +1 -0
  77. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +8 -0
  78. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +7 -0
  79. data/app/views/active_admin/devise/passwords/edit.html.erb +19 -0
  80. data/app/views/active_admin/devise/passwords/new.html.erb +14 -0
  81. data/app/views/active_admin/devise/sessions/new.html.erb +20 -0
  82. data/app/views/active_admin/devise/shared/_links.erb +27 -0
  83. data/app/views/active_admin/devise/unlocks/new.html.erb +14 -0
  84. data/app/views/active_admin/page/index.html.arb +1 -0
  85. data/app/views/active_admin/resource/edit.html.arb +1 -0
  86. data/app/views/active_admin/resource/index.csv.erb +17 -0
  87. data/app/views/active_admin/resource/index.html.arb +1 -0
  88. data/app/views/active_admin/resource/new.html.arb +1 -0
  89. data/app/views/active_admin/resource/show.html.arb +1 -0
  90. data/app/views/layouts/active_admin.html.arb +1 -0
  91. data/app/views/layouts/active_admin_logged_out.html.erb +37 -0
  92. data/config/locales/bg.yml +101 -0
  93. data/config/locales/ca.yml +98 -0
  94. data/config/locales/cs.yml +105 -0
  95. data/config/locales/da.yml +102 -0
  96. data/config/locales/de-CH.yml +117 -0
  97. data/config/locales/de.yml +119 -0
  98. data/config/locales/en-GB.yml +91 -0
  99. data/config/locales/en.yml +110 -0
  100. data/config/locales/es.yml +106 -0
  101. data/config/locales/es_MX.yml +104 -0
  102. data/config/locales/fi.yml +109 -0
  103. data/config/locales/fr.yml +97 -0
  104. data/config/locales/he.yml +91 -0
  105. data/config/locales/hr.yml +93 -0
  106. data/config/locales/hu.yml +92 -0
  107. data/config/locales/it.yml +89 -0
  108. data/config/locales/ja.yml +104 -0
  109. data/config/locales/ko.yml +84 -0
  110. data/config/locales/lt.yml +90 -0
  111. data/config/locales/lv.yml +89 -0
  112. data/config/locales/nl.yml +90 -0
  113. data/config/locales/no-NB.yml +85 -0
  114. data/config/locales/pl.yml +93 -0
  115. data/config/locales/pt-BR.yml +90 -0
  116. data/config/locales/pt-PT.yml +89 -0
  117. data/config/locales/ro.yml +93 -0
  118. data/config/locales/ru.yml +103 -0
  119. data/config/locales/sv-SE.yml +89 -0
  120. data/config/locales/tr.yml +90 -0
  121. data/config/locales/uk.yml +100 -0
  122. data/config/locales/vi.yml +90 -0
  123. data/config/locales/zh-CN.yml +90 -0
  124. data/config/locales/zh-TW.yml +90 -0
  125. data/cucumber.yml +3 -0
  126. data/docs/0-installation.md +84 -0
  127. data/docs/1-general-configuration.md +137 -0
  128. data/docs/10-custom-pages.md +98 -0
  129. data/docs/11-decorators.md +66 -0
  130. data/docs/12-arbre-components.md +144 -0
  131. data/docs/13-authorization-adapter.md +227 -0
  132. data/docs/2-resource-customization.md +340 -0
  133. data/docs/3-index-pages/create-an-index.md +29 -0
  134. data/docs/3-index-pages/index-as-block.md +21 -0
  135. data/docs/3-index-pages/index-as-blog.md +71 -0
  136. data/docs/3-index-pages/index-as-grid.md +29 -0
  137. data/docs/3-index-pages/index-as-table.md +154 -0
  138. data/docs/3-index-pages.md +206 -0
  139. data/docs/4-csv-format.md +39 -0
  140. data/docs/5-forms.md +110 -0
  141. data/docs/6-show-pages.md +77 -0
  142. data/docs/7-sidebars.md +42 -0
  143. data/docs/8-custom-actions.md +139 -0
  144. data/docs/9-batch-actions.md +155 -0
  145. data/features/action_item.feature +73 -0
  146. data/features/authorization.feature +64 -0
  147. data/features/authorization_cancan.feature +52 -0
  148. data/features/belongs_to.feature +63 -0
  149. data/features/breadcrumb.feature +27 -0
  150. data/features/comments/commenting.feature +140 -0
  151. data/features/comments/viewing_index.feature +19 -0
  152. data/features/dashboard.feature +16 -0
  153. data/features/decorators.feature +41 -0
  154. data/features/development_reloading.feature +31 -0
  155. data/features/edit_page.feature +127 -0
  156. data/features/favicon.feature +20 -0
  157. data/features/first_boot.feature +16 -0
  158. data/features/global_navigation.feature +29 -0
  159. data/features/i18n.feature +38 -0
  160. data/features/index/batch_actions.feature +123 -0
  161. data/features/index/filters.feature +138 -0
  162. data/features/index/format_as_csv.feature +117 -0
  163. data/features/index/formats.feature +66 -0
  164. data/features/index/index_as_block.feature +15 -0
  165. data/features/index/index_as_blog.feature +69 -0
  166. data/features/index/index_as_grid.feature +45 -0
  167. data/features/index/index_as_table.feature +195 -0
  168. data/features/index/index_blank_slate.feature +61 -0
  169. data/features/index/index_parameters.feature +75 -0
  170. data/features/index/index_scope_to.feature +56 -0
  171. data/features/index/index_scopes.feature +251 -0
  172. data/features/index/page_title.feature +30 -0
  173. data/features/index/pagination.feature +59 -0
  174. data/features/index/switch_index_view.feature +73 -0
  175. data/features/menu.feature +53 -0
  176. data/features/new_page.feature +119 -0
  177. data/features/registering_assets.feature +35 -0
  178. data/features/registering_pages.feature +148 -0
  179. data/features/registering_resources.feature +33 -0
  180. data/features/root_to.feature +17 -0
  181. data/features/show/default_content.feature +43 -0
  182. data/features/show/page_title.feature +47 -0
  183. data/features/sidebar_sections.feature +198 -0
  184. data/features/site_title.feature +47 -0
  185. data/features/specifying_actions.feature +93 -0
  186. data/features/step_definitions/action_item_steps.rb +7 -0
  187. data/features/step_definitions/action_link_steps.rb +7 -0
  188. data/features/step_definitions/additional_web_steps.rb +82 -0
  189. data/features/step_definitions/asset_steps.rb +15 -0
  190. data/features/step_definitions/attribute_steps.rb +13 -0
  191. data/features/step_definitions/batch_action_steps.rb +55 -0
  192. data/features/step_definitions/breadcrumb_steps.rb +3 -0
  193. data/features/step_definitions/comment_steps.rb +12 -0
  194. data/features/step_definitions/configuration_steps.rb +100 -0
  195. data/features/step_definitions/dashboard_steps.rb +15 -0
  196. data/features/step_definitions/factory_steps.rb +34 -0
  197. data/features/step_definitions/filter_steps.rb +17 -0
  198. data/features/step_definitions/flash_steps.rb +11 -0
  199. data/features/step_definitions/format_steps.rb +45 -0
  200. data/features/step_definitions/i18n_steps.rb +3 -0
  201. data/features/step_definitions/index_scope_steps.rb +21 -0
  202. data/features/step_definitions/index_views_steps.rb +3 -0
  203. data/features/step_definitions/layout_steps.rb +3 -0
  204. data/features/step_definitions/member_link_steps.rb +7 -0
  205. data/features/step_definitions/menu_steps.rb +11 -0
  206. data/features/step_definitions/pagination_steps.rb +8 -0
  207. data/features/step_definitions/sidebar_steps.rb +8 -0
  208. data/features/step_definitions/site_title_steps.rb +15 -0
  209. data/features/step_definitions/symbol_leak_steps.rb +3 -0
  210. data/features/step_definitions/tab_steps.rb +3 -0
  211. data/features/step_definitions/table_steps.rb +119 -0
  212. data/features/step_definitions/user_steps.rb +39 -0
  213. data/features/step_definitions/web_steps.rb +86 -0
  214. data/features/sti_resource.feature +73 -0
  215. data/features/support/env.rb +112 -0
  216. data/features/support/paths.rb +71 -0
  217. data/features/support/selectors.rb +45 -0
  218. data/features/symbol_leak.feature +35 -0
  219. data/features/users/logging_in.feature +34 -0
  220. data/features/users/logging_out.feature +13 -0
  221. data/features/users/resetting_password.feature +34 -0
  222. data/lib/active_admin/abstract_view_factory.rb +95 -0
  223. data/lib/active_admin/application.rb +242 -0
  224. data/lib/active_admin/asset_registration.rb +29 -0
  225. data/lib/active_admin/authorization_adapter.rb +132 -0
  226. data/lib/active_admin/base_controller/authorization.rb +151 -0
  227. data/lib/active_admin/base_controller/menu.rb +34 -0
  228. data/lib/active_admin/base_controller.rb +78 -0
  229. data/lib/active_admin/batch_actions/controller.rb +24 -0
  230. data/lib/active_admin/batch_actions/resource_extension.rb +127 -0
  231. data/lib/active_admin/batch_actions/views/batch_action_form.rb +35 -0
  232. data/lib/active_admin/batch_actions/views/batch_action_popover.rb +28 -0
  233. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +66 -0
  234. data/lib/active_admin/batch_actions/views/selection_cells.rb +37 -0
  235. data/lib/active_admin/batch_actions.rb +17 -0
  236. data/lib/active_admin/callbacks.rb +87 -0
  237. data/lib/active_admin/cancan_adapter.rb +40 -0
  238. data/lib/active_admin/component.rb +5 -0
  239. data/lib/active_admin/controller_action.rb +12 -0
  240. data/lib/active_admin/csv_builder.rb +49 -0
  241. data/lib/active_admin/deprecation.rb +36 -0
  242. data/lib/active_admin/devise.rb +70 -0
  243. data/lib/active_admin/dsl.rb +166 -0
  244. data/lib/active_admin/engine.rb +7 -0
  245. data/lib/active_admin/event.rb +33 -0
  246. data/lib/active_admin/filters/dsl.rb +21 -0
  247. data/lib/active_admin/filters/forms.rb +89 -0
  248. data/lib/active_admin/filters/formtastic_addons.rb +70 -0
  249. data/lib/active_admin/filters/resource_extension.rb +136 -0
  250. data/lib/active_admin/filters.rb +9 -0
  251. data/lib/active_admin/form_builder.rb +152 -0
  252. data/lib/active_admin/helpers/collection.rb +23 -0
  253. data/lib/active_admin/helpers/optional_display.rb +38 -0
  254. data/lib/active_admin/helpers/scope_chain.rb +23 -0
  255. data/lib/active_admin/helpers/settings.rb +108 -0
  256. data/lib/active_admin/iconic/icons.rb +142 -0
  257. data/lib/active_admin/iconic.rb +51 -0
  258. data/lib/active_admin/inputs/datepicker_input.rb +20 -0
  259. data/lib/active_admin/inputs/filter_base/search_method_select.rb +73 -0
  260. data/lib/active_admin/inputs/filter_base.rb +33 -0
  261. data/lib/active_admin/inputs/filter_boolean_input.rb +32 -0
  262. data/lib/active_admin/inputs/filter_check_boxes_input.rb +51 -0
  263. data/lib/active_admin/inputs/filter_date_range_input.rb +34 -0
  264. data/lib/active_admin/inputs/filter_numeric_input.rb +10 -0
  265. data/lib/active_admin/inputs/filter_select_input.rb +61 -0
  266. data/lib/active_admin/inputs/filter_string_input.rb +24 -0
  267. data/lib/active_admin/inputs.rb +15 -0
  268. data/lib/active_admin/menu.rb +107 -0
  269. data/lib/active_admin/menu_collection.rb +96 -0
  270. data/lib/active_admin/menu_item.rb +97 -0
  271. data/lib/active_admin/namespace.rb +224 -0
  272. data/lib/active_admin/orm/active_record/comments/comment.rb +39 -0
  273. data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +14 -0
  274. data/lib/active_admin/orm/active_record/comments/resource_helper.rb +17 -0
  275. data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +23 -0
  276. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +75 -0
  277. data/lib/active_admin/orm/active_record/comments/views.rb +2 -0
  278. data/lib/active_admin/orm/active_record/comments.rb +84 -0
  279. data/lib/active_admin/orm/active_record.rb +3 -0
  280. data/lib/active_admin/orm/mongoid/.gitkeep +0 -0
  281. data/lib/active_admin/orm/mongoid.rb +1 -0
  282. data/lib/active_admin/page.rb +88 -0
  283. data/lib/active_admin/page_controller.rb +29 -0
  284. data/lib/active_admin/page_dsl.rb +28 -0
  285. data/lib/active_admin/page_presenter.rb +32 -0
  286. data/lib/active_admin/resource/action_items.rb +91 -0
  287. data/lib/active_admin/resource/belongs_to.rb +36 -0
  288. data/lib/active_admin/resource/controllers.rb +18 -0
  289. data/lib/active_admin/resource/menu.rb +64 -0
  290. data/lib/active_admin/resource/naming.rb +84 -0
  291. data/lib/active_admin/resource/page_presenters.rb +82 -0
  292. data/lib/active_admin/resource/pagination.rb +19 -0
  293. data/lib/active_admin/resource/routes.rb +99 -0
  294. data/lib/active_admin/resource/scope_to.rb +74 -0
  295. data/lib/active_admin/resource/scopes.rb +50 -0
  296. data/lib/active_admin/resource/sidebars.rb +27 -0
  297. data/lib/active_admin/resource.rb +153 -0
  298. data/lib/active_admin/resource_collection.rb +42 -0
  299. data/lib/active_admin/resource_controller/action_builder.rb +21 -0
  300. data/lib/active_admin/resource_controller/data_access.rb +298 -0
  301. data/lib/active_admin/resource_controller/decorators.rb +20 -0
  302. data/lib/active_admin/resource_controller/resource_class_methods.rb +24 -0
  303. data/lib/active_admin/resource_controller/scoping.rb +31 -0
  304. data/lib/active_admin/resource_controller/sidebars.rb +18 -0
  305. data/lib/active_admin/resource_controller.rb +50 -0
  306. data/lib/active_admin/resource_dsl.rb +134 -0
  307. data/lib/active_admin/router.rb +106 -0
  308. data/lib/active_admin/scope.rb +57 -0
  309. data/lib/active_admin/sidebar_section.rb +37 -0
  310. data/lib/active_admin/version.rb +3 -0
  311. data/lib/active_admin/view_factory.rb +27 -0
  312. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +12 -0
  313. data/lib/active_admin/view_helpers/assigns_with_indifferent_access_helper.rb +7 -0
  314. data/lib/active_admin/view_helpers/auto_link_helper.rb +34 -0
  315. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +26 -0
  316. data/lib/active_admin/view_helpers/display_helper.rb +49 -0
  317. data/lib/active_admin/view_helpers/download_format_links_helper.rb +49 -0
  318. data/lib/active_admin/view_helpers/fields_for.rb +50 -0
  319. data/lib/active_admin/view_helpers/flash_helper.rb +13 -0
  320. data/lib/active_admin/view_helpers/form_helper.rb +24 -0
  321. data/lib/active_admin/view_helpers/icon_helper.rb +12 -0
  322. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +93 -0
  323. data/lib/active_admin/view_helpers/sidebar_helper.rb +15 -0
  324. data/lib/active_admin/view_helpers/title_helper.rb +11 -0
  325. data/lib/active_admin/view_helpers/view_factory_helper.rb +11 -0
  326. data/lib/active_admin/view_helpers.rb +21 -0
  327. data/lib/active_admin/views/action_items.rb +17 -0
  328. data/lib/active_admin/views/components/action_list_popover.rb +29 -0
  329. data/lib/active_admin/views/components/attributes_table.rb +103 -0
  330. data/lib/active_admin/views/components/blank_slate.rb +17 -0
  331. data/lib/active_admin/views/components/columns.rb +150 -0
  332. data/lib/active_admin/views/components/dropdown_menu.rb +73 -0
  333. data/lib/active_admin/views/components/index_list.rb +68 -0
  334. data/lib/active_admin/views/components/paginated_collection.rb +125 -0
  335. data/lib/active_admin/views/components/panel.rb +34 -0
  336. data/lib/active_admin/views/components/popover.rb +27 -0
  337. data/lib/active_admin/views/components/scopes.rb +66 -0
  338. data/lib/active_admin/views/components/sidebar_section.rb +28 -0
  339. data/lib/active_admin/views/components/site_title.rb +55 -0
  340. data/lib/active_admin/views/components/status_tag.rb +56 -0
  341. data/lib/active_admin/views/components/table_for.rb +191 -0
  342. data/lib/active_admin/views/footer.rb +20 -0
  343. data/lib/active_admin/views/header.rb +32 -0
  344. data/lib/active_admin/views/index_as_block.rb +36 -0
  345. data/lib/active_admin/views/index_as_blog.rb +156 -0
  346. data/lib/active_admin/views/index_as_grid.rb +80 -0
  347. data/lib/active_admin/views/index_as_table.rb +264 -0
  348. data/lib/active_admin/views/pages/base.rb +139 -0
  349. data/lib/active_admin/views/pages/form.rb +51 -0
  350. data/lib/active_admin/views/pages/index.rb +147 -0
  351. data/lib/active_admin/views/pages/layout.rb +26 -0
  352. data/lib/active_admin/views/pages/page.rb +30 -0
  353. data/lib/active_admin/views/pages/show.rb +59 -0
  354. data/lib/active_admin/views/tabbed_navigation.rb +62 -0
  355. data/lib/active_admin/views/title_bar.rb +53 -0
  356. data/lib/active_admin/views.rb +8 -0
  357. data/lib/active_admin.rb +125 -0
  358. data/lib/activeadmin.rb +1 -0
  359. data/lib/generators/active_admin/assets/assets_generator.rb +16 -0
  360. data/lib/generators/active_admin/assets/templates/active_admin.css.scss +17 -0
  361. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +1 -0
  362. data/lib/generators/active_admin/devise/devise_generator.rb +86 -0
  363. data/lib/generators/active_admin/install/install_generator.rb +46 -0
  364. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +235 -0
  365. data/lib/generators/active_admin/install/templates/admin_user.rb.erb +27 -0
  366. data/lib/generators/active_admin/install/templates/dashboard.rb +33 -0
  367. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb +19 -0
  368. data/lib/generators/active_admin/resource/resource_generator.rb +16 -0
  369. data/lib/generators/active_admin/resource/templates/admin.rb +3 -0
  370. data/lib/ransack_ext.rb +12 -0
  371. data/script/local +44 -0
  372. data/script/use_rails +53 -0
  373. data/spec/integration/default_namespace_spec.rb +61 -0
  374. data/spec/integration/javascript_spec.rb +20 -0
  375. data/spec/integration/memory_spec.rb +29 -0
  376. data/spec/integration/stylesheets_spec.rb +41 -0
  377. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +50 -0
  378. data/spec/javascripts/coffeescripts/jquery.aa.popover-spec.js.coffee +82 -0
  379. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +34 -0
  380. data/spec/javascripts/compiled/jquery.aa.checkbox-toggler-spec.js +60 -0
  381. data/spec/javascripts/compiled/jquery.aa.popover-spec.js +106 -0
  382. data/spec/javascripts/compiled/jquery.aa.table-checkbox-toggler-spec.js +37 -0
  383. data/spec/javascripts/fixtures/checkboxes.html +9 -0
  384. data/spec/javascripts/fixtures/table_checkboxes.html +17 -0
  385. data/spec/javascripts/helpers/SpecHelper.js +3 -0
  386. data/spec/javascripts/helpers/vendor/jasmine-fixture-0.0.5.js +108 -0
  387. data/spec/javascripts/helpers/vendor/jasmine-jquery.js +288 -0
  388. data/spec/javascripts/helpers/vendor/sinon-1.2.0.js +2915 -0
  389. data/spec/javascripts/support/jasmine.yml +74 -0
  390. data/spec/javascripts/support/jasmine_config.rb +23 -0
  391. data/spec/javascripts/support/jasmine_runner.rb +32 -0
  392. data/spec/javascripts/support/jquery-ui-1.8.16.custom.min.js +34 -0
  393. data/spec/javascripts/support/jquery.min.js +4 -0
  394. data/spec/spec_helper.rb +175 -0
  395. data/spec/spec_helper_without_rails.rb +16 -0
  396. data/spec/support/deferred_garbage_collection.rb +19 -0
  397. data/spec/support/detect_rails_version.rb +42 -0
  398. data/spec/support/integration_example_group.rb +31 -0
  399. data/spec/support/jslint.yml +80 -0
  400. data/spec/support/rails_template.rb +111 -0
  401. data/spec/support/rails_template_with_data.rb +59 -0
  402. data/spec/support/templates/admin/stores.rb +11 -0
  403. data/spec/support/templates/cucumber.rb +24 -0
  404. data/spec/support/templates/cucumber_with_reloading.rb +5 -0
  405. data/spec/support/templates/en.yml +8 -0
  406. data/spec/support/templates/post_decorator.rb +53 -0
  407. data/spec/unit/abstract_view_factory_spec.rb +79 -0
  408. data/spec/unit/action_builder_spec.rb +126 -0
  409. data/spec/unit/active_admin_spec.rb +11 -0
  410. data/spec/unit/application_spec.rb +141 -0
  411. data/spec/unit/asset_registration_spec.rb +52 -0
  412. data/spec/unit/authorization/authorization_adapter_spec.rb +61 -0
  413. data/spec/unit/authorization/controller_authorization_spec.rb +39 -0
  414. data/spec/unit/auto_link_spec.rb +32 -0
  415. data/spec/unit/batch_actions/resource_spec.rb +91 -0
  416. data/spec/unit/batch_actions/settings_spec.rb +61 -0
  417. data/spec/unit/belongs_to_spec.rb +42 -0
  418. data/spec/unit/cancan_adapter_spec.rb +43 -0
  419. data/spec/unit/comments_spec.rb +106 -0
  420. data/spec/unit/component_spec.rb +18 -0
  421. data/spec/unit/config_shared_examples.rb +59 -0
  422. data/spec/unit/controller_filters_spec.rb +32 -0
  423. data/spec/unit/csv_builder_spec.rb +103 -0
  424. data/spec/unit/devise_spec.rb +116 -0
  425. data/spec/unit/dsl_spec.rb +61 -0
  426. data/spec/unit/event_spec.rb +47 -0
  427. data/spec/unit/filters/filter_form_builder_spec.rb +423 -0
  428. data/spec/unit/filters/resource_spec.rb +119 -0
  429. data/spec/unit/form_builder_spec.rb +514 -0
  430. data/spec/unit/generators/install_spec.rb +23 -0
  431. data/spec/unit/helpers/collection_spec.rb +65 -0
  432. data/spec/unit/helpers/scope_chain_spec.rb +36 -0
  433. data/spec/unit/helpers/settings_spec.rb +30 -0
  434. data/spec/unit/menu_collection_spec.rb +62 -0
  435. data/spec/unit/menu_item_spec.rb +143 -0
  436. data/spec/unit/menu_spec.rb +71 -0
  437. data/spec/unit/namespace/authorization_spec.rb +27 -0
  438. data/spec/unit/namespace/register_page_spec.rb +74 -0
  439. data/spec/unit/namespace/register_resource_spec.rb +163 -0
  440. data/spec/unit/namespace_spec.rb +103 -0
  441. data/spec/unit/page_controller_spec.rb +5 -0
  442. data/spec/unit/page_spec.rb +72 -0
  443. data/spec/unit/pretty_format_spec.rb +35 -0
  444. data/spec/unit/resource/action_items_spec.rb +62 -0
  445. data/spec/unit/resource/menu_spec.rb +18 -0
  446. data/spec/unit/resource/naming_spec.rb +122 -0
  447. data/spec/unit/resource/page_presenters_spec.rb +44 -0
  448. data/spec/unit/resource/pagination_spec.rb +38 -0
  449. data/spec/unit/resource/routes_spec.rb +73 -0
  450. data/spec/unit/resource/scopes_spec.rb +43 -0
  451. data/spec/unit/resource/sidebars_spec.rb +43 -0
  452. data/spec/unit/resource_collection_spec.rb +160 -0
  453. data/spec/unit/resource_controller/data_access_spec.rb +73 -0
  454. data/spec/unit/resource_controller/sidebars_spec.rb +46 -0
  455. data/spec/unit/resource_controller_spec.rb +265 -0
  456. data/spec/unit/resource_registration_spec.rb +56 -0
  457. data/spec/unit/resource_spec.rb +243 -0
  458. data/spec/unit/routing_spec.rb +172 -0
  459. data/spec/unit/scope_spec.rb +108 -0
  460. data/spec/unit/settings_spec.rb +88 -0
  461. data/spec/unit/view_factory_spec.rb +21 -0
  462. data/spec/unit/view_helpers/breadcrumbs_spec.rb +149 -0
  463. data/spec/unit/view_helpers/display_name_spec.rb +41 -0
  464. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +39 -0
  465. data/spec/unit/view_helpers/fields_for_spec.rb +50 -0
  466. data/spec/unit/view_helpers/form_helper_spec.rb +56 -0
  467. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +101 -0
  468. data/spec/unit/views/components/action_list_popover_spec.rb +30 -0
  469. data/spec/unit/views/components/attributes_table_spec.rb +230 -0
  470. data/spec/unit/views/components/batch_action_popover_spec.rb +33 -0
  471. data/spec/unit/views/components/blank_slate_spec.rb +17 -0
  472. data/spec/unit/views/components/columns_spec.rb +142 -0
  473. data/spec/unit/views/components/index_list_spec.rb +32 -0
  474. data/spec/unit/views/components/paginated_collection_spec.rb +227 -0
  475. data/spec/unit/views/components/panel_spec.rb +51 -0
  476. data/spec/unit/views/components/popover_spec.rb +33 -0
  477. data/spec/unit/views/components/sidebar_section_spec.rb +37 -0
  478. data/spec/unit/views/components/site_title_spec.rb +78 -0
  479. data/spec/unit/views/components/status_tag_spec.rb +95 -0
  480. data/spec/unit/views/components/table_for_spec.rb +201 -0
  481. data/spec/unit/views/pages/form_spec.rb +35 -0
  482. data/spec/unit/views/pages/layout_spec.rb +63 -0
  483. data/spec/unit/views/pages/show_spec.rb +20 -0
  484. data/spec/unit/views/tabbed_navigation_spec.rb +149 -0
  485. data/tasks/docs.rake +37 -0
  486. data/tasks/js.rake +32 -0
  487. data/tasks/parallel_tests.rake +60 -0
  488. data/tasks/test.rake +79 -0
  489. data/tasks/yard.rake +7 -0
  490. metadata +896 -0
@@ -0,0 +1,84 @@
1
+ # Installation
2
+
3
+ Active Admin is a Ruby Gem.
4
+
5
+ ```ruby
6
+ gem 'activeadmin'
7
+ ```
8
+
9
+ More accurately, it's a [Rails Engine](http://guides.rubyonrails.org/engines.html)
10
+ that can be injected into your existing Ruby on Rails application.
11
+
12
+ ## Setting up Active Admin
13
+
14
+ After installing the gem, you need to run the generator:
15
+
16
+ ```sh
17
+ rails g active_admin:install # creates the AdminUser class
18
+ rails g active_admin:install User # uses an existing class
19
+ rails g active_admin:install --skip-users # skips user authentication entirely
20
+ ```
21
+
22
+ The generator adds these core files, among others:
23
+
24
+ ```
25
+ app/admin/dashboard.rb
26
+ app/assets/javascripts/active_admin.js.coffee
27
+ app/assets/stylesheets/active_admin.css.scss
28
+ config/initializers/active_admin.rb
29
+ ```
30
+
31
+ Now, migrate your database and start the server:
32
+
33
+ ```sh
34
+ rake db:migrate
35
+ rails server
36
+ ```
37
+
38
+ Visit `http://localhost:3000/admin` and log in as the default user:
39
+
40
+ * __User__: admin@example.com
41
+ * __Password__: password
42
+
43
+ Voila! You're on your brand new Active Admin dashboard.
44
+
45
+ To register an existing model with Active Admin:
46
+
47
+ ```sh
48
+ rails generate active_admin:resource MyModel
49
+ ```
50
+
51
+ This creates a file at `app/admin/my_model.rb` to set up the UI; refresh your browser to see it.
52
+
53
+ # Upgrading
54
+
55
+ When upgrading to a new version, it's a good idea to check the [CHANGELOG].
56
+
57
+ To update the JS & CSS assets:
58
+
59
+ ```sh
60
+ rails generate active_admin:assets
61
+ ```
62
+
63
+ You should also sync these files with their counterparts in the AA source code:
64
+
65
+ * app/admin/dashboard.rb [~>][dashboard.rb]
66
+ * config/initializers/active_admin.rb [~>][active_admin.rb]
67
+
68
+ # Gem compatibility
69
+
70
+ ## will_paginate
71
+
72
+ If you use `will_paginate` in your app, you need to configure an initializer for
73
+ Kaminari to avoid conflicts.
74
+
75
+ ```ruby
76
+ # config/initializers/kaminari.rb
77
+ Kaminari.configure do |config|
78
+ config.page_method_name = :per_page_kaminari
79
+ end
80
+ ```
81
+
82
+ [CHANGELOG]: https://github.com/gregbell/active_admin/blob/master/CHANGELOG.md
83
+ [dashboard.rb]: https://github.com/gregbell/active_admin/blob/master/lib/generators/active_admin/install/templates/dashboard.rb
84
+ [active_admin.rb]: https://github.com/gregbell/active_admin/blob/master/lib/generators/active_admin/install/templates/active_admin.rb.erb
@@ -0,0 +1,137 @@
1
+ # General Configuration
2
+
3
+ You can configure Active Admin settings in `config/initializers/active_admin.rb`.
4
+ Here are a few common configurations:
5
+
6
+ ## Authentication
7
+
8
+ Active Admin requires two settings to authenticate and use the current user
9
+ within your application.
10
+
11
+ + the method controllers use to force authentication
12
+
13
+ ```ruby
14
+ config.authentication_method = :authenticate_admin_user!
15
+ ```
16
+
17
+ + the method used to access the current user
18
+
19
+ ```ruby
20
+ config.current_user_method = :current_admin_user
21
+ ```
22
+
23
+ Both of these settings can be set to false to turn off authentication.
24
+
25
+ ```ruby
26
+ config.authentication_method = false
27
+ config.current_user_method = false
28
+ ```
29
+
30
+ ## Site Title Options
31
+
32
+ Every page has what's called the site title on the left side of the menu bar.
33
+ If you want, you can customize it.
34
+
35
+ ```ruby
36
+ config.site_title = "My Admin Site"
37
+ config.site_title_link = "/"
38
+ config.site_title_image = "site_image.png"
39
+ ```
40
+
41
+ ## Internationalization (I18n)
42
+
43
+ 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)
45
+ 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)
47
+
48
+ ## Namespaces
49
+
50
+ When registering resources in Active Admin, they are loaded into a namespace.
51
+ The default namespace is "admin".
52
+
53
+ ```ruby
54
+ # app/admin/posts.rb
55
+ ActiveAdmin.register Post do
56
+ # ...
57
+ end
58
+ ```
59
+
60
+ The Post resource will be loaded into the "admin" namespace and will be
61
+ available at `/admin/posts`. Each namespace holds on to its own settings that
62
+ inherit from the application's configuration.
63
+
64
+ For example, if you have two namespaces (`:admin` and `:super_admin`) and want to
65
+ have different site title's for each, you can use the `config.namespace(name)`
66
+ block within the initializer file to configure them individually.
67
+
68
+ ```ruby
69
+ ActiveAdmin.setup do |config|
70
+ config.site_title = "My Default Site Title"
71
+
72
+ config.namespace :admin do |admin|
73
+ admin.site_title = "Admin Site"
74
+ end
75
+
76
+ config.namespace :super_admin do |super_admin|
77
+ super_admin.site_title = "Super Admin Site"
78
+ end
79
+ end
80
+ ```
81
+
82
+ Each setting available in the Active Admin setup block is configurable on a per
83
+ namespace basis.
84
+
85
+ ## Load paths
86
+
87
+ By default Active Admin files go inside `app/admin/`. You can change this
88
+ directory in the initializer file:
89
+
90
+ ```ruby
91
+ ActiveAdmin.setup do |config|
92
+ config.load_paths = [File.join(Rails.root, "app", "ui")]
93
+ end
94
+ ```
95
+
96
+ ## Comments
97
+
98
+ By default Active Admin includes comments on resources. Sometimes, this is
99
+ undesired. To disable comments:
100
+
101
+ ```ruby
102
+ # For the entire application:
103
+ ActiveAdmin.setup do |config|
104
+ config.allow_comments = false
105
+ end
106
+
107
+ # For a namespace:
108
+ ActiveAdmin.setup do |config|
109
+ config.namespace :admin do |admin|
110
+ admin.allow_comments = false
111
+ end
112
+ end
113
+
114
+ # For a given resource:
115
+ ActiveAdmin.register Post do
116
+ config.comments = false
117
+ end
118
+ ```
119
+
120
+ ## Utility Navigation
121
+
122
+ The "utility navigation" shown at the top right normally shows the current user
123
+ and a link to log out. However, the utility navigation is just like any other
124
+ menu in the system; you can provide your own menu to be rendered in its place.
125
+
126
+ ```ruby
127
+ ActiveAdmin.setup do |config|
128
+ config.namespace :admin do |admin|
129
+ admin.build_menu :utility_navigation do |menu|
130
+ menu.add label: "ActiveAdmin.info", url: "http://www.activeadmin.info",
131
+ html_options: { target: :blank }
132
+ admin.add_current_user_to_menu menu
133
+ admin.add_logout_button_to_menu menu
134
+ end
135
+ end
136
+ end
137
+ ```
@@ -0,0 +1,98 @@
1
+ # Custom Pages
2
+
3
+ When you need a standalone page on your site, Custom Pages will be there with a familiar syntax to resource registration.
4
+
5
+ ## Available Features
6
+ * main page content
7
+ * menu item
8
+ * sidebars
9
+ * action_items
10
+ * page_actions
11
+
12
+ ## Create a new Page
13
+
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
21
+ 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...
31
+
32
+ ## Customize the Menu
33
+
34
+ The menu item is available to customize just like
35
+ [any other resource](2-resource-customization.md#customize-the-menu) in Active Admin.
36
+
37
+ ## Add a Sidebar Section
38
+
39
+ You can add sidebar sections to your pages using the same DSL as other resources
40
+ in Active Admin:
41
+
42
+ ActiveAdmin.register_page "My Page" do
43
+
44
+ sidebar :help do
45
+ ul do
46
+ li "First Line of Help"
47
+ end
48
+ end
49
+
50
+ content do
51
+ para "Hello World"
52
+ end
53
+ end
54
+
55
+ This creates a sidebar section named "Help" containing an unordered list.
56
+ To view the full customization options, visit [Sidebars](7-sidebars.md).
57
+
58
+ ## Add an Action Item
59
+
60
+ Just like other resources, you can add Action Item's to pages:
61
+
62
+ ActiveAdmin.register_page "My Page" do
63
+
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.
74
+
75
+ ## Add a Page Action
76
+
77
+ `page_action` allows you to define controller actions specific to this page,
78
+ and is the functional equivalent of `collection_action`.
79
+
80
+ ActiveAdmin.register_page "My Page" do
81
+
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
95
+
96
+ This defines the route `/admin/my_page/ex` which can handle HTTP POST requests.
97
+
98
+ Clicking on the `action_item` will reload page with the message "You did stuff!"
@@ -0,0 +1,66 @@
1
+ # Decorators
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
51
+
52
+ ## Forms
53
+
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
61
+
62
+ form decorate: false do
63
+ # ...
64
+ end
65
+ end
66
+
@@ -0,0 +1,144 @@
1
+ # Arbre Components
2
+
3
+ Arbre allows the creation of shareable and extendable HTML components and is
4
+ used throughout Active Admin to create view components.
5
+
6
+ ## Text Node
7
+
8
+ Sometimes it makes sense to insert something into a registered resource like a
9
+ non-breaking space or some text. The text_node method can be used to insert
10
+ these elements into the page inside of other Arbre components or resource
11
+ controller functions.
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 } )
20
+ text_node "&nbsp".html_safe
21
+ end
22
+ end
23
+ end
24
+ end
25
+
26
+
27
+ ## Panels
28
+
29
+ A panel is a component that takes up all available horizontal space and takes a
30
+ title and a hash of attributes as arguments. If a sidebar is present, a panel
31
+ will take up the remaining space.
32
+
33
+ The following code will create two stacked panels:
34
+
35
+ show do
36
+
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
44
+
45
+ end
46
+
47
+ ## Columns
48
+
49
+ The Columns component allows you draw content into scalable columns. All you
50
+ need to do is define the number of columns and the component will take care of
51
+ the rest.
52
+
53
+ #### Simple Columns
54
+
55
+ To create simple columnns, use the #columns method. Within the block, call
56
+ the #column method to create a new column.
57
+
58
+ columns do
59
+
60
+ column do
61
+ span "Column #1"
62
+ end
63
+
64
+ column do
65
+ span "Column #2"
66
+ end
67
+
68
+ end
69
+
70
+ ### Spanning Multiple Columns
71
+
72
+ To create columns that have multiple spans, pass the :span option to the column
73
+ method.
74
+
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
83
+
84
+ By default, each column spans 1 column. The above layout would have 2 columns,
85
+ the first being twice as large as the second.
86
+
87
+ ### Custom Column Widths
88
+
89
+ Active Admin uses a fluid width layout, causing column width to be defined
90
+ using percentages. Due to using this style of layout, columns can shrink or
91
+ 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
102
+
103
+ In the above example, the first column will not grow larger than 200px and will
104
+ not shrink less than 100px.
105
+
106
+ ## Table For
107
+
108
+ 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
121
+ takes a block.
122
+
123
+ ## Status tag
124
+
125
+ Status tags provide convenient syntactic sugar for styling items that have
126
+ 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
128
+ "In Progress", a type, which defaults to nil, and a hash of options. The
129
+ status_tag will generate html markup that Active Admin css uses in styling.
130
+
131
+ status_tag('In Progress')
132
+ # => <span class='status_tag in_progress'>In Progress</span>
133
+
134
+ status_tag('active', :ok)
135
+ # => <span class='status_tag active ok'>Active</span>
136
+
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>