activeadmin-rb 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (614) hide show
  1. checksums.yaml +7 -0
  2. data/.codeclimate.yml +64 -0
  3. data/.github/ISSUE_TEMPLATE.md +20 -0
  4. data/.gitignore +21 -0
  5. data/.mdlrc +1 -0
  6. data/.rubocop.yml +84 -0
  7. data/.simplecov +13 -0
  8. data/.travis.yml +49 -0
  9. data/.yardopts +7 -0
  10. data/CHANGELOG.md +389 -0
  11. data/CODE_OF_CONDUCT.md +22 -0
  12. data/CONTRIBUTING.md +184 -0
  13. data/Gemfile +58 -0
  14. data/LICENSE +20 -0
  15. data/README.md +75 -0
  16. data/Rakefile +54 -0
  17. data/activeadmin-rb.gemspec +32 -0
  18. data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
  19. data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
  20. data/app/assets/images/active_admin/orderable.png +0 -0
  21. data/app/assets/javascripts/active_admin/base.js.coffee +13 -0
  22. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +6 -0
  23. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +7 -0
  24. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +11 -0
  25. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +14 -0
  26. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +26 -0
  27. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +7 -0
  28. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +42 -0
  29. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +46 -0
  30. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +104 -0
  31. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +19 -0
  32. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +79 -0
  33. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +45 -0
  34. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +46 -0
  35. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +22 -0
  36. data/app/assets/stylesheets/active_admin/_base.scss +41 -0
  37. data/app/assets/stylesheets/active_admin/_forms.scss +338 -0
  38. data/app/assets/stylesheets/active_admin/_header.scss +156 -0
  39. data/app/assets/stylesheets/active_admin/_mixins.scss +1 -0
  40. data/app/assets/stylesheets/active_admin/_typography.scss +100 -0
  41. data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +6 -0
  42. data/app/assets/stylesheets/active_admin/components/_blank_slates.scss +30 -0
  43. data/app/assets/stylesheets/active_admin/components/_breadcrumbs.scss +20 -0
  44. data/app/assets/stylesheets/active_admin/components/_buttons.scss +6 -0
  45. data/app/assets/stylesheets/active_admin/components/_columns.scss +3 -0
  46. data/app/assets/stylesheets/active_admin/components/_comments.scss +41 -0
  47. data/app/assets/stylesheets/active_admin/components/_date_picker.scss +149 -0
  48. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +152 -0
  49. data/app/assets/stylesheets/active_admin/components/_flash_messages.scss +37 -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/_modal_dialog.scss +34 -0
  54. data/app/assets/stylesheets/active_admin/components/_pagination.scss +55 -0
  55. data/app/assets/stylesheets/active_admin/components/_panels.scss +6 -0
  56. data/app/assets/stylesheets/active_admin/components/_scopes.scss +13 -0
  57. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +17 -0
  58. data/app/assets/stylesheets/active_admin/components/_table_tools.scss +67 -0
  59. data/app/assets/stylesheets/active_admin/components/_tables.scss +113 -0
  60. data/app/assets/stylesheets/active_admin/components/_tabs.scss +65 -0
  61. data/app/assets/stylesheets/active_admin/components/_unsupported_browser.scss +16 -0
  62. data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -0
  63. data/app/assets/stylesheets/active_admin/mixins/_buttons.scss +65 -0
  64. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +28 -0
  65. data/app/assets/stylesheets/active_admin/mixins/_rounded.scss +22 -0
  66. data/app/assets/stylesheets/active_admin/mixins/_sections.scss +41 -0
  67. data/app/assets/stylesheets/active_admin/mixins/_shadows.scss +15 -0
  68. data/app/assets/stylesheets/active_admin/mixins/_typography.scss +3 -0
  69. data/app/assets/stylesheets/active_admin/mixins/_utilities.scss +17 -0
  70. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +34 -0
  71. data/app/assets/stylesheets/active_admin/pages/_logged_out.scss +44 -0
  72. data/app/assets/stylesheets/active_admin/print.scss +287 -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 +41 -0
  76. data/app/views/active_admin/devise/confirmations/new.html.erb +15 -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 +18 -0
  80. data/app/views/active_admin/devise/passwords/new.html.erb +15 -0
  81. data/app/views/active_admin/devise/registrations/new.html.erb +22 -0
  82. data/app/views/active_admin/devise/sessions/new.html.erb +20 -0
  83. data/app/views/active_admin/devise/shared/_links.erb +33 -0
  84. data/app/views/active_admin/devise/unlocks/new.html.erb +15 -0
  85. data/app/views/active_admin/page/index.html.arb +1 -0
  86. data/app/views/active_admin/resource/edit.html.arb +1 -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/kaminari/active_admin/_first_page.html.erb +11 -0
  91. data/app/views/kaminari/active_admin/_gap.html.erb +8 -0
  92. data/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
  93. data/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
  94. data/app/views/kaminari/active_admin/_page.html.erb +12 -0
  95. data/app/views/kaminari/active_admin/_paginator.html.erb +25 -0
  96. data/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
  97. data/app/views/layouts/active_admin.html.arb +1 -0
  98. data/app/views/layouts/active_admin_logged_out.html.erb +39 -0
  99. data/codecov.yml +25 -0
  100. data/config/i18n-tasks.yml +26 -0
  101. data/config/locales/ar.yml +134 -0
  102. data/config/locales/bg.yml +119 -0
  103. data/config/locales/bs.yml +120 -0
  104. data/config/locales/ca.yml +105 -0
  105. data/config/locales/cs.yml +108 -0
  106. data/config/locales/da.yml +136 -0
  107. data/config/locales/de-CH.yml +100 -0
  108. data/config/locales/de.yml +143 -0
  109. data/config/locales/el.yml +125 -0
  110. data/config/locales/en-CA.yml +138 -0
  111. data/config/locales/en-GB.yml +138 -0
  112. data/config/locales/en.yml +161 -0
  113. data/config/locales/eo.yml +144 -0
  114. data/config/locales/es-MX.yml +95 -0
  115. data/config/locales/es.yml +161 -0
  116. data/config/locales/fa.yml +118 -0
  117. data/config/locales/fi.yml +111 -0
  118. data/config/locales/fr.yml +140 -0
  119. data/config/locales/he.yml +141 -0
  120. data/config/locales/hr.yml +122 -0
  121. data/config/locales/hu.yml +97 -0
  122. data/config/locales/id.yml +134 -0
  123. data/config/locales/it.yml +143 -0
  124. data/config/locales/ja.yml +140 -0
  125. data/config/locales/ko.yml +119 -0
  126. data/config/locales/lt.yml +141 -0
  127. data/config/locales/lv.yml +91 -0
  128. data/config/locales/nb.yml +129 -0
  129. data/config/locales/nl.yml +143 -0
  130. data/config/locales/pl.yml +167 -0
  131. data/config/locales/pt-BR.yml +142 -0
  132. data/config/locales/pt-PT.yml +91 -0
  133. data/config/locales/ro.yml +95 -0
  134. data/config/locales/ru.yml +140 -0
  135. data/config/locales/sk.yml +108 -0
  136. data/config/locales/sv-SE.yml +134 -0
  137. data/config/locales/tr.yml +143 -0
  138. data/config/locales/uk.yml +135 -0
  139. data/config/locales/vi.yml +133 -0
  140. data/config/locales/zh-CN.yml +142 -0
  141. data/config/locales/zh-TW.yml +134 -0
  142. data/config/mdl_style.rb +9 -0
  143. data/cucumber.yml +6 -0
  144. data/docs/0-installation.md +118 -0
  145. data/docs/1-general-configuration.md +204 -0
  146. data/docs/10-custom-pages.md +150 -0
  147. data/docs/11-decorators.md +59 -0
  148. data/docs/12-arbre-components.md +203 -0
  149. data/docs/13-authorization-adapter.md +285 -0
  150. data/docs/14-gotchas.md +138 -0
  151. data/docs/2-resource-customization.md +466 -0
  152. data/docs/3-index-pages.md +328 -0
  153. data/docs/3-index-pages/custom-index.md +35 -0
  154. data/docs/3-index-pages/index-as-block.md +19 -0
  155. data/docs/3-index-pages/index-as-blog.md +69 -0
  156. data/docs/3-index-pages/index-as-grid.md +27 -0
  157. data/docs/3-index-pages/index-as-table.md +225 -0
  158. data/docs/4-csv-format.md +74 -0
  159. data/docs/5-forms.md +231 -0
  160. data/docs/6-show-pages.md +81 -0
  161. data/docs/7-sidebars.md +75 -0
  162. data/docs/8-custom-actions.md +177 -0
  163. data/docs/9-batch-actions.md +237 -0
  164. data/docs/CNAME +1 -0
  165. data/docs/Gemfile +2 -0
  166. data/docs/README.md +24 -0
  167. data/docs/_config.yml +2 -0
  168. data/docs/_includes/footer.html +8 -0
  169. data/docs/_includes/google-analytics.html +16 -0
  170. data/docs/_includes/head.html +7 -0
  171. data/docs/_includes/toc.html +98 -0
  172. data/docs/_includes/top-menu.html +9 -0
  173. data/docs/_layouts/default.html +21 -0
  174. data/docs/documentation.md +60 -0
  175. data/docs/images/activeadmin.png +0 -0
  176. data/docs/images/code-header.png +0 -0
  177. data/docs/images/divider.png +0 -0
  178. data/docs/images/features.png +0 -0
  179. data/docs/index.html +125 -0
  180. data/docs/stylesheets/main.css +1152 -0
  181. data/features/action_item.feature +73 -0
  182. data/features/authorization.feature +64 -0
  183. data/features/authorization_cancan.feature +52 -0
  184. data/features/authorization_pundit.feature +37 -0
  185. data/features/belongs_to.feature +124 -0
  186. data/features/breadcrumb.feature +76 -0
  187. data/features/comments/commenting.feature +178 -0
  188. data/features/comments/viewing_index.feature +19 -0
  189. data/features/create_another.feature +55 -0
  190. data/features/dashboard.feature +16 -0
  191. data/features/decorators.feature +43 -0
  192. data/features/development_reloading.feature +28 -0
  193. data/features/edit_page.feature +116 -0
  194. data/features/favicon.feature +20 -0
  195. data/features/first_boot.feature +16 -0
  196. data/features/footer.feature +29 -0
  197. data/features/global_navigation.feature +29 -0
  198. data/features/i18n.feature +55 -0
  199. data/features/index/batch_actions.feature +218 -0
  200. data/features/index/filters.feature +251 -0
  201. data/features/index/format_as_csv.feature +227 -0
  202. data/features/index/formats.feature +88 -0
  203. data/features/index/index_as_block.feature +15 -0
  204. data/features/index/index_as_blog.feature +69 -0
  205. data/features/index/index_as_grid.feature +45 -0
  206. data/features/index/index_as_table.feature +291 -0
  207. data/features/index/index_blank_slate.feature +83 -0
  208. data/features/index/index_parameters.feature +75 -0
  209. data/features/index/index_scope_to.feature +56 -0
  210. data/features/index/index_scopes.feature +325 -0
  211. data/features/index/page_title.feature +41 -0
  212. data/features/index/pagination.feature +63 -0
  213. data/features/index/switch_index_view.feature +73 -0
  214. data/features/menu.feature +85 -0
  215. data/features/meta_tags.feature +21 -0
  216. data/features/new_page.feature +136 -0
  217. data/features/registering_assets.feature +38 -0
  218. data/features/registering_pages.feature +237 -0
  219. data/features/registering_resources.feature +33 -0
  220. data/features/renamed_resource.feature +30 -0
  221. data/features/root_to.feature +18 -0
  222. data/features/show/attributes_table_title.feature +54 -0
  223. data/features/show/columns.feature +40 -0
  224. data/features/show/default_content.feature +44 -0
  225. data/features/show/page_title.feature +58 -0
  226. data/features/show/tabs.feature +33 -0
  227. data/features/sidebar_sections.feature +210 -0
  228. data/features/site_title.feature +47 -0
  229. data/features/specifying_actions.feature +118 -0
  230. data/features/step_definitions/action_item_steps.rb +7 -0
  231. data/features/step_definitions/action_link_steps.rb +19 -0
  232. data/features/step_definitions/additional_web_steps.rb +81 -0
  233. data/features/step_definitions/asset_steps.rb +15 -0
  234. data/features/step_definitions/attribute_steps.rb +18 -0
  235. data/features/step_definitions/attributes_table_title_steps.rb +11 -0
  236. data/features/step_definitions/batch_action_steps.rb +81 -0
  237. data/features/step_definitions/blog_steps.rb +3 -0
  238. data/features/step_definitions/breadcrumb_steps.rb +13 -0
  239. data/features/step_definitions/column_steps.rb +8 -0
  240. data/features/step_definitions/comment_steps.rb +32 -0
  241. data/features/step_definitions/configuration_steps.rb +100 -0
  242. data/features/step_definitions/dashboard_steps.rb +15 -0
  243. data/features/step_definitions/factory_steps.rb +35 -0
  244. data/features/step_definitions/filter_steps.rb +57 -0
  245. data/features/step_definitions/flash_steps.rb +11 -0
  246. data/features/step_definitions/footer_steps.rb +21 -0
  247. data/features/step_definitions/format_steps.rb +58 -0
  248. data/features/step_definitions/i18n_steps.rb +11 -0
  249. data/features/step_definitions/index_scope_steps.rb +42 -0
  250. data/features/step_definitions/index_views_steps.rb +3 -0
  251. data/features/step_definitions/layout_steps.rb +3 -0
  252. data/features/step_definitions/member_link_steps.rb +7 -0
  253. data/features/step_definitions/menu_steps.rb +11 -0
  254. data/features/step_definitions/meta_tag_steps.rb +3 -0
  255. data/features/step_definitions/pagination_steps.rb +15 -0
  256. data/features/step_definitions/root_steps.rb +9 -0
  257. data/features/step_definitions/sidebar_steps.rb +11 -0
  258. data/features/step_definitions/site_title_steps.rb +31 -0
  259. data/features/step_definitions/tab_steps.rb +8 -0
  260. data/features/step_definitions/table_steps.rb +116 -0
  261. data/features/step_definitions/user_steps.rb +52 -0
  262. data/features/step_definitions/web_steps.rb +86 -0
  263. data/features/sti_resource.feature +65 -0
  264. data/features/strong_parameters.feature +69 -0
  265. data/features/support/env.rb +121 -0
  266. data/features/support/paths.rb +73 -0
  267. data/features/support/regular_env.rb +7 -0
  268. data/features/support/reload_env.rb +7 -0
  269. data/features/support/selectors.rb +45 -0
  270. data/features/users/logging_in.feature +32 -0
  271. data/features/users/logging_out.feature +29 -0
  272. data/features/users/resetting_password.feature +30 -0
  273. data/gemfiles/rails_42.gemfile +11 -0
  274. data/gemfiles/rails_50.gemfile +11 -0
  275. data/gemfiles/rails_51.gemfile +11 -0
  276. data/gemfiles/rails_52.gemfile +12 -0
  277. data/lib/active_admin.rb +128 -0
  278. data/lib/active_admin/abstract_view_factory.rb +47 -0
  279. data/lib/active_admin/application.rb +241 -0
  280. data/lib/active_admin/application_settings.rb +39 -0
  281. data/lib/active_admin/asset_registration.rb +37 -0
  282. data/lib/active_admin/authorization_adapter.rb +129 -0
  283. data/lib/active_admin/base_controller.rb +81 -0
  284. data/lib/active_admin/base_controller/authorization.rb +128 -0
  285. data/lib/active_admin/base_controller/menu.rb +34 -0
  286. data/lib/active_admin/batch_actions.rb +16 -0
  287. data/lib/active_admin/batch_actions/controller.rb +40 -0
  288. data/lib/active_admin/batch_actions/resource_extension.rb +151 -0
  289. data/lib/active_admin/batch_actions/views/batch_action_form.rb +38 -0
  290. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +58 -0
  291. data/lib/active_admin/batch_actions/views/selection_cells.rb +38 -0
  292. data/lib/active_admin/callbacks.rb +88 -0
  293. data/lib/active_admin/cancan_adapter.rb +36 -0
  294. data/lib/active_admin/component.rb +5 -0
  295. data/lib/active_admin/controller_action.rb +12 -0
  296. data/lib/active_admin/csv_builder.rb +131 -0
  297. data/lib/active_admin/dependency.rb +172 -0
  298. data/lib/active_admin/deprecation.rb +10 -0
  299. data/lib/active_admin/devise.rb +80 -0
  300. data/lib/active_admin/dsl.rb +167 -0
  301. data/lib/active_admin/dynamic_setting.rb +38 -0
  302. data/lib/active_admin/dynamic_settings_node.rb +28 -0
  303. data/lib/active_admin/engine.rb +21 -0
  304. data/lib/active_admin/error.rb +62 -0
  305. data/lib/active_admin/event.rb +24 -0
  306. data/lib/active_admin/filters.rb +11 -0
  307. data/lib/active_admin/filters/active.rb +29 -0
  308. data/lib/active_admin/filters/active_filter.rb +123 -0
  309. data/lib/active_admin/filters/active_sidebar.rb +50 -0
  310. data/lib/active_admin/filters/dsl.rb +21 -0
  311. data/lib/active_admin/filters/forms.rb +85 -0
  312. data/lib/active_admin/filters/formtastic_addons.rb +79 -0
  313. data/lib/active_admin/filters/resource_extension.rb +155 -0
  314. data/lib/active_admin/form_builder.rb +182 -0
  315. data/lib/active_admin/generators/boilerplate.rb +45 -0
  316. data/lib/active_admin/helpers/collection.rb +19 -0
  317. data/lib/active_admin/helpers/i18n.rb +7 -0
  318. data/lib/active_admin/helpers/optional_display.rb +38 -0
  319. data/lib/active_admin/helpers/output_safety_helper.rb +35 -0
  320. data/lib/active_admin/helpers/routes/url_helpers.rb +15 -0
  321. data/lib/active_admin/helpers/scope_chain.rb +23 -0
  322. data/lib/active_admin/inputs.rb +21 -0
  323. data/lib/active_admin/inputs/datepicker_input.rb +27 -0
  324. data/lib/active_admin/inputs/filters/base.rb +44 -0
  325. data/lib/active_admin/inputs/filters/base/search_method_select.rb +75 -0
  326. data/lib/active_admin/inputs/filters/boolean_input.rb +24 -0
  327. data/lib/active_admin/inputs/filters/check_boxes_input.rb +50 -0
  328. data/lib/active_admin/inputs/filters/date_picker_input.rb +13 -0
  329. data/lib/active_admin/inputs/filters/date_range_input.rb +49 -0
  330. data/lib/active_admin/inputs/filters/numeric_input.rb +12 -0
  331. data/lib/active_admin/inputs/filters/select_input.rb +58 -0
  332. data/lib/active_admin/inputs/filters/string_input.rb +26 -0
  333. data/lib/active_admin/inputs/filters/text_input.rb +25 -0
  334. data/lib/active_admin/localizers.rb +11 -0
  335. data/lib/active_admin/localizers/resource_localizer.rb +35 -0
  336. data/lib/active_admin/menu.rb +102 -0
  337. data/lib/active_admin/menu_collection.rb +91 -0
  338. data/lib/active_admin/menu_item.rb +69 -0
  339. data/lib/active_admin/namespace.rb +266 -0
  340. data/lib/active_admin/namespace_settings.rb +107 -0
  341. data/lib/active_admin/order_clause.rb +48 -0
  342. data/lib/active_admin/orm/active_record.rb +5 -0
  343. data/lib/active_admin/orm/active_record/comments.rb +101 -0
  344. data/lib/active_admin/orm/active_record/comments/comment.rb +31 -0
  345. data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +14 -0
  346. data/lib/active_admin/orm/active_record/comments/resource_helper.rb +17 -0
  347. data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +23 -0
  348. data/lib/active_admin/orm/active_record/comments/views.rb +2 -0
  349. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +95 -0
  350. data/lib/active_admin/orm/mongoid.rb +1 -0
  351. data/lib/active_admin/orm/mongoid/.gitkeep +0 -0
  352. data/lib/active_admin/page.rb +111 -0
  353. data/lib/active_admin/page_controller.rb +29 -0
  354. data/lib/active_admin/page_dsl.rb +32 -0
  355. data/lib/active_admin/page_presenter.rb +32 -0
  356. data/lib/active_admin/pundit_adapter.rb +68 -0
  357. data/lib/active_admin/reloader.rb +25 -0
  358. data/lib/active_admin/resource.rb +206 -0
  359. data/lib/active_admin/resource/action_items.rb +120 -0
  360. data/lib/active_admin/resource/attributes.rb +44 -0
  361. data/lib/active_admin/resource/belongs_to.rb +48 -0
  362. data/lib/active_admin/resource/controllers.rb +19 -0
  363. data/lib/active_admin/resource/includes.rb +12 -0
  364. data/lib/active_admin/resource/menu.rb +67 -0
  365. data/lib/active_admin/resource/naming.rb +62 -0
  366. data/lib/active_admin/resource/ordering.rb +11 -0
  367. data/lib/active_admin/resource/page_presenters.rb +82 -0
  368. data/lib/active_admin/resource/pagination.rb +23 -0
  369. data/lib/active_admin/resource/routes.rb +134 -0
  370. data/lib/active_admin/resource/scope_to.rb +74 -0
  371. data/lib/active_admin/resource/scopes.rb +52 -0
  372. data/lib/active_admin/resource/sidebars.rb +28 -0
  373. data/lib/active_admin/resource_collection.rb +72 -0
  374. data/lib/active_admin/resource_controller.rb +64 -0
  375. data/lib/active_admin/resource_controller/action_builder.rb +21 -0
  376. data/lib/active_admin/resource_controller/data_access.rb +322 -0
  377. data/lib/active_admin/resource_controller/decorators.rb +102 -0
  378. data/lib/active_admin/resource_controller/resource_class_methods.rb +24 -0
  379. data/lib/active_admin/resource_controller/scoping.rb +31 -0
  380. data/lib/active_admin/resource_controller/sidebars.rb +18 -0
  381. data/lib/active_admin/resource_controller/streaming.rb +43 -0
  382. data/lib/active_admin/resource_dsl.rb +222 -0
  383. data/lib/active_admin/router.rb +113 -0
  384. data/lib/active_admin/scope.rb +60 -0
  385. data/lib/active_admin/settings_node.rb +19 -0
  386. data/lib/active_admin/sidebar_section.rb +37 -0
  387. data/lib/active_admin/version.rb +3 -0
  388. data/lib/active_admin/view_factory.rb +27 -0
  389. data/lib/active_admin/view_helpers.rb +20 -0
  390. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +12 -0
  391. data/lib/active_admin/view_helpers/auto_link_helper.rb +45 -0
  392. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +33 -0
  393. data/lib/active_admin/view_helpers/display_helper.rb +95 -0
  394. data/lib/active_admin/view_helpers/download_format_links_helper.rb +58 -0
  395. data/lib/active_admin/view_helpers/fields_for.rb +50 -0
  396. data/lib/active_admin/view_helpers/flash_helper.rb +14 -0
  397. data/lib/active_admin/view_helpers/form_helper.rb +20 -0
  398. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +97 -0
  399. data/lib/active_admin/view_helpers/scope_name_helper.rb +16 -0
  400. data/lib/active_admin/view_helpers/sidebar_helper.rb +15 -0
  401. data/lib/active_admin/view_helpers/title_helper.rb +11 -0
  402. data/lib/active_admin/view_helpers/view_factory_helper.rb +11 -0
  403. data/lib/active_admin/views.rb +8 -0
  404. data/lib/active_admin/views/action_items.rb +17 -0
  405. data/lib/active_admin/views/components/active_admin_form.rb +149 -0
  406. data/lib/active_admin/views/components/attributes_table.rb +94 -0
  407. data/lib/active_admin/views/components/blank_slate.rb +17 -0
  408. data/lib/active_admin/views/components/columns.rb +161 -0
  409. data/lib/active_admin/views/components/dropdown_menu.rb +71 -0
  410. data/lib/active_admin/views/components/index_list.rb +69 -0
  411. data/lib/active_admin/views/components/menu.rb +32 -0
  412. data/lib/active_admin/views/components/menu_item.rb +58 -0
  413. data/lib/active_admin/views/components/paginated_collection.rb +159 -0
  414. data/lib/active_admin/views/components/panel.rb +38 -0
  415. data/lib/active_admin/views/components/scopes.rb +72 -0
  416. data/lib/active_admin/views/components/sidebar.rb +13 -0
  417. data/lib/active_admin/views/components/sidebar_section.rb +37 -0
  418. data/lib/active_admin/views/components/site_title.rb +54 -0
  419. data/lib/active_admin/views/components/status_tag.rb +88 -0
  420. data/lib/active_admin/views/components/table_for.rb +209 -0
  421. data/lib/active_admin/views/components/tabs.rb +31 -0
  422. data/lib/active_admin/views/components/unsupported_browser.rb +11 -0
  423. data/lib/active_admin/views/footer.rb +30 -0
  424. data/lib/active_admin/views/header.rb +19 -0
  425. data/lib/active_admin/views/index_as_block.rb +36 -0
  426. data/lib/active_admin/views/index_as_blog.rb +155 -0
  427. data/lib/active_admin/views/index_as_grid.rb +80 -0
  428. data/lib/active_admin/views/index_as_table.rb +389 -0
  429. data/lib/active_admin/views/pages/base.rb +123 -0
  430. data/lib/active_admin/views/pages/form.rb +64 -0
  431. data/lib/active_admin/views/pages/index.rb +163 -0
  432. data/lib/active_admin/views/pages/layout.rb +26 -0
  433. data/lib/active_admin/views/pages/page.rb +30 -0
  434. data/lib/active_admin/views/pages/show.rb +65 -0
  435. data/lib/active_admin/views/tabbed_navigation.rb +11 -0
  436. data/lib/active_admin/views/title_bar.rb +55 -0
  437. data/lib/activeadmin-rb.rb +1 -0
  438. data/lib/bug_report_templates/active_admin_master.rb +112 -0
  439. data/lib/generators/active_admin/assets/assets_generator.rb +14 -0
  440. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +1 -0
  441. data/lib/generators/active_admin/assets/templates/active_admin.scss +17 -0
  442. data/lib/generators/active_admin/devise/devise_generator.rb +68 -0
  443. data/lib/generators/active_admin/install/install_generator.rb +45 -0
  444. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +293 -0
  445. data/lib/generators/active_admin/install/templates/admin_users.rb.erb +28 -0
  446. data/lib/generators/active_admin/install/templates/dashboard.rb +33 -0
  447. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +30 -0
  448. data/lib/generators/active_admin/page/USAGE +8 -0
  449. data/lib/generators/active_admin/page/page_generator.rb +12 -0
  450. data/lib/generators/active_admin/page/templates/page.rb +5 -0
  451. data/lib/generators/active_admin/resource/resource_generator.rb +20 -0
  452. data/lib/generators/active_admin/resource/templates/admin.rb.erb +43 -0
  453. data/lib/ransack_ext.rb +20 -0
  454. data/spec/bug_report_templates_spec.rb +26 -0
  455. data/spec/changelog_spec.rb +15 -0
  456. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +50 -0
  457. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +25 -0
  458. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +34 -0
  459. data/spec/javascripts/fixtures/checkboxes.html +9 -0
  460. data/spec/javascripts/fixtures/flashes.html +2 -0
  461. data/spec/javascripts/fixtures/table_checkboxes.html +17 -0
  462. data/spec/javascripts/helpers/SpecHelper.js +3 -0
  463. data/spec/javascripts/support/jasmine.yml +74 -0
  464. data/spec/javascripts/support/jasmine_runner.rb +19 -0
  465. data/spec/rails_helper.rb +60 -0
  466. data/spec/requests/default_namespace_spec.rb +81 -0
  467. data/spec/requests/memory_spec.rb +25 -0
  468. data/spec/requests/stylesheets_spec.rb +18 -0
  469. data/spec/spec_helper.rb +1 -0
  470. data/spec/support/active_admin_integration_spec_helper.rb +73 -0
  471. data/spec/support/active_admin_request_helpers.rb +39 -0
  472. data/spec/support/rails_template.rb +156 -0
  473. data/spec/support/rails_template_with_data.rb +327 -0
  474. data/spec/support/templates/admin/stores.rb +7 -0
  475. data/spec/support/templates/en.yml +8 -0
  476. data/spec/support/templates/manifest.js +3 -0
  477. data/spec/support/templates/policies/active_admin/comment_policy.rb +9 -0
  478. data/spec/support/templates/policies/active_admin/page_policy.rb +18 -0
  479. data/spec/support/templates/policies/admin_user_policy.rb +11 -0
  480. data/spec/support/templates/policies/application_policy.rb +44 -0
  481. data/spec/support/templates/policies/category_policy.rb +7 -0
  482. data/spec/support/templates/policies/post_policy.rb +15 -0
  483. data/spec/support/templates/policies/store_policy.rb +11 -0
  484. data/spec/support/templates/policies/user_policy.rb +11 -0
  485. data/spec/support/templates/post_decorator.rb +24 -0
  486. data/spec/unit/abstract_view_factory_spec.rb +78 -0
  487. data/spec/unit/action_builder_spec.rb +158 -0
  488. data/spec/unit/active_admin_spec.rb +11 -0
  489. data/spec/unit/application_spec.rb +180 -0
  490. data/spec/unit/asset_registration_spec.rb +81 -0
  491. data/spec/unit/authorization/authorization_adapter_spec.rb +61 -0
  492. data/spec/unit/authorization/controller_authorization_spec.rb +43 -0
  493. data/spec/unit/authorization/index_overriding_spec.rb +23 -0
  494. data/spec/unit/auto_link_spec.rb +93 -0
  495. data/spec/unit/batch_actions/resource_spec.rb +84 -0
  496. data/spec/unit/batch_actions/settings_spec.rb +61 -0
  497. data/spec/unit/belongs_to_spec.rb +76 -0
  498. data/spec/unit/cancan_adapter_spec.rb +43 -0
  499. data/spec/unit/comments_spec.rb +189 -0
  500. data/spec/unit/component_spec.rb +18 -0
  501. data/spec/unit/config_shared_examples.rb +59 -0
  502. data/spec/unit/controller_filters_spec.rb +41 -0
  503. data/spec/unit/csv_builder_spec.rb +313 -0
  504. data/spec/unit/dependency_spec.rb +135 -0
  505. data/spec/unit/devise_spec.rb +110 -0
  506. data/spec/unit/dsl_spec.rb +120 -0
  507. data/spec/unit/dynamic_settings_spec.rb +28 -0
  508. data/spec/unit/filters/active_filter_spec.rb +218 -0
  509. data/spec/unit/filters/active_spec.rb +24 -0
  510. data/spec/unit/filters/filter_form_builder_spec.rb +524 -0
  511. data/spec/unit/filters/resource_spec.rb +128 -0
  512. data/spec/unit/form_builder_spec.rb +1012 -0
  513. data/spec/unit/generators/install_spec.rb +31 -0
  514. data/spec/unit/helpers/collection_spec.rb +68 -0
  515. data/spec/unit/helpers/output_safety_helper_spec.rb +79 -0
  516. data/spec/unit/helpers/scope_chain_spec.rb +35 -0
  517. data/spec/unit/i18n_spec.rb +29 -0
  518. data/spec/unit/localizers/resource_localizer_spec.rb +36 -0
  519. data/spec/unit/menu_collection_spec.rb +62 -0
  520. data/spec/unit/menu_item_spec.rb +82 -0
  521. data/spec/unit/menu_spec.rb +60 -0
  522. data/spec/unit/namespace/authorization_spec.rb +27 -0
  523. data/spec/unit/namespace/register_page_spec.rb +99 -0
  524. data/spec/unit/namespace/register_resource_spec.rb +162 -0
  525. data/spec/unit/namespace_spec.rb +126 -0
  526. data/spec/unit/order_clause_spec.rb +81 -0
  527. data/spec/unit/page_controller_spec.rb +5 -0
  528. data/spec/unit/page_spec.rb +128 -0
  529. data/spec/unit/pretty_format_spec.rb +82 -0
  530. data/spec/unit/pundit_adapter_spec.rb +98 -0
  531. data/spec/unit/resource/action_items_spec.rb +83 -0
  532. data/spec/unit/resource/attributes_spec.rb +49 -0
  533. data/spec/unit/resource/includes_spec.rb +21 -0
  534. data/spec/unit/resource/menu_spec.rb +18 -0
  535. data/spec/unit/resource/naming_spec.rb +120 -0
  536. data/spec/unit/resource/ordering_spec.rb +35 -0
  537. data/spec/unit/resource/page_presenters_spec.rb +44 -0
  538. data/spec/unit/resource/pagination_spec.rb +38 -0
  539. data/spec/unit/resource/routes_spec.rb +125 -0
  540. data/spec/unit/resource/scopes_spec.rb +50 -0
  541. data/spec/unit/resource/sidebars_spec.rb +43 -0
  542. data/spec/unit/resource_collection_spec.rb +175 -0
  543. data/spec/unit/resource_controller/data_access_spec.rb +234 -0
  544. data/spec/unit/resource_controller/decorators_spec.rb +94 -0
  545. data/spec/unit/resource_controller/sidebars_spec.rb +37 -0
  546. data/spec/unit/resource_controller_spec.rb +273 -0
  547. data/spec/unit/resource_registration_spec.rb +61 -0
  548. data/spec/unit/resource_spec.rb +320 -0
  549. data/spec/unit/routing_spec.rb +211 -0
  550. data/spec/unit/scope_spec.rb +225 -0
  551. data/spec/unit/settings_node_spec.rb +26 -0
  552. data/spec/unit/view_factory_spec.rb +19 -0
  553. data/spec/unit/view_helpers/breadcrumbs_spec.rb +253 -0
  554. data/spec/unit/view_helpers/display_helper_spec.rb +203 -0
  555. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +39 -0
  556. data/spec/unit/view_helpers/fields_for_spec.rb +50 -0
  557. data/spec/unit/view_helpers/flash_helper_spec.rb +24 -0
  558. data/spec/unit/view_helpers/form_helper_spec.rb +42 -0
  559. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +138 -0
  560. data/spec/unit/views/components/attributes_table_spec.rb +271 -0
  561. data/spec/unit/views/components/batch_action_selector_spec.rb +43 -0
  562. data/spec/unit/views/components/blank_slate_spec.rb +27 -0
  563. data/spec/unit/views/components/columns_spec.rb +187 -0
  564. data/spec/unit/views/components/index_list_spec.rb +49 -0
  565. data/spec/unit/views/components/index_table_for_spec.rb +127 -0
  566. data/spec/unit/views/components/menu_item_spec.rb +29 -0
  567. data/spec/unit/views/components/menu_spec.rb +168 -0
  568. data/spec/unit/views/components/paginated_collection_spec.rb +249 -0
  569. data/spec/unit/views/components/panel_spec.rb +58 -0
  570. data/spec/unit/views/components/sidebar_section_spec.rb +68 -0
  571. data/spec/unit/views/components/sidebar_spec.rb +24 -0
  572. data/spec/unit/views/components/site_title_spec.rb +82 -0
  573. data/spec/unit/views/components/status_tag_spec.rb +265 -0
  574. data/spec/unit/views/components/table_for_spec.rb +441 -0
  575. data/spec/unit/views/components/tabs_spec.rb +71 -0
  576. data/spec/unit/views/components/unsupported_browser_spec.rb +39 -0
  577. data/spec/unit/views/index_as_blog_spec.rb +76 -0
  578. data/spec/unit/views/pages/base_spec.rb +14 -0
  579. data/spec/unit/views/pages/form_spec.rb +54 -0
  580. data/spec/unit/views/pages/index_spec.rb +60 -0
  581. data/spec/unit/views/pages/layout_spec.rb +59 -0
  582. data/spec/unit/views/pages/show_spec.rb +32 -0
  583. data/tasks/docs.rake +64 -0
  584. data/tasks/lint.rake +21 -0
  585. data/tasks/local.rake +25 -0
  586. data/tasks/parallel_tests.rake +66 -0
  587. data/tasks/test.rake +24 -0
  588. data/vendor/assets/javascripts/jquery-ui/data.js +41 -0
  589. data/vendor/assets/javascripts/jquery-ui/disable-selection.js +48 -0
  590. data/vendor/assets/javascripts/jquery-ui/escape-selector.js +23 -0
  591. data/vendor/assets/javascripts/jquery-ui/focusable.js +86 -0
  592. data/vendor/assets/javascripts/jquery-ui/ie.js +17 -0
  593. data/vendor/assets/javascripts/jquery-ui/keycode.js +47 -0
  594. data/vendor/assets/javascripts/jquery-ui/plugin.js +46 -0
  595. data/vendor/assets/javascripts/jquery-ui/position.js +500 -0
  596. data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +42 -0
  597. data/vendor/assets/javascripts/jquery-ui/safe-blur.js +23 -0
  598. data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +47 -0
  599. data/vendor/assets/javascripts/jquery-ui/tabbable.js +38 -0
  600. data/vendor/assets/javascripts/jquery-ui/unique-id.js +51 -0
  601. data/vendor/assets/javascripts/jquery-ui/version.js +17 -0
  602. data/vendor/assets/javascripts/jquery-ui/widget.js +735 -0
  603. data/vendor/assets/javascripts/jquery-ui/widgets/button.js +391 -0
  604. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +300 -0
  605. data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +300 -0
  606. data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2123 -0
  607. data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +954 -0
  608. data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1259 -0
  609. data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +230 -0
  610. data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1207 -0
  611. data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1561 -0
  612. data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +931 -0
  613. data/vendor/assets/stylesheets/active_admin/_normalize.scss +447 -0
  614. metadata +1037 -0
@@ -0,0 +1 @@
1
+ github-docs.activeadmin.info
@@ -0,0 +1,2 @@
1
+ gem 'github-pages'
2
+ gem 'jekyll-redirect-from'
@@ -0,0 +1,24 @@
1
+ # ActiveAdmin Documentation
2
+
3
+ ## Content
4
+
5
+ - [Installation](0-installation.md)
6
+ - [General Configuration](1-general-configuration.md)
7
+ - [Resource Customization](2-resource-customization.md)
8
+ - [Index Pages](3-index-pages.md)
9
+ - [Custom Index](3-index-pages/custom-index.md)
10
+ - [Index as Table](3-index-pages/index-as-table.md)
11
+ - [Index as Grid](3-index-pages/index-as-grid.md)
12
+ - [Index as Blocks](3-index-pages/index-as-block.md)
13
+ - [Index as Blog](3-index-pages/index-as-blog.md)
14
+ - [Csv Format](4-csv-format.md)
15
+ - [Forms](5-forms.md)
16
+ - [Show Pages](6-show-pages.md)
17
+ - [Sidebars](7-sidebars.md)
18
+ - [Custom Actions](8-custom-actions.md)
19
+ - [Batch Actions](9-batch-actions.md)
20
+ - [Custom Pages](10-custom-pages.md)
21
+ - [Decorators](11-decorators.md)
22
+ - [Arbre Components](12-arbre-components.md)
23
+ - [Authorization Adapter](13-authorization-adapter.md)
24
+ - [Gotchas](14-gotchas.md)
@@ -0,0 +1,2 @@
1
+ gems:
2
+ - jekyll-redirect-from
@@ -0,0 +1,8 @@
1
+ <p id="footer">
2
+ <div class="left">
3
+ Copyright 2011 <a href="http://gregbell.ca/">Greg Bell</a> and <a href="http://www.versapay.com/">VersaPay</a>
4
+ </div>
5
+ <div class="right">
6
+ <a href="http://twitter.com/share" class="twitter-share-button">Tweet</a></p>
7
+ </div>
8
+ </p>
@@ -0,0 +1,16 @@
1
+ <script type="text/javascript">
2
+
3
+ var _gaq = _gaq || [];
4
+ _gaq.push(['_setAccount', 'UA-23306458-1']);
5
+ _gaq.push(['_trackPageview']);
6
+
7
+ (function () {
8
+ var ga = document.createElement('script');
9
+ ga.type = 'text/javascript';
10
+ ga.async = true;
11
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
12
+ var s = document.getElementsByTagName('script')[0];
13
+ s.parentNode.insertBefore(ga, s);
14
+ })();
15
+
16
+ </script>
@@ -0,0 +1,7 @@
1
+ <head>
2
+ <title>Active Admin | The administration framework for Ruby on Rails</title>
3
+ <link href='//fonts.googleapis.com/css?family=Yanone+Kaffeesatz:extralight,light,regular,bold' rel='stylesheet' type='text/css'>
4
+ <link href='//fonts.googleapis.com/css?family=Droid+Sans+Mono' rel='stylesheet' type='text/css'>
5
+ <link href="{{ site.baseurl }}/stylesheets/main.css" media="screen" rel="stylesheet" type="text/css" />
6
+ <script src="//platform.twitter.com/widgets.js" type="text/javascript"></script>
7
+ </head>
@@ -0,0 +1,98 @@
1
+ <ol class='level-1'>
2
+ <li><a href='{{ site.baseurl }}/0-installation.html'>Installation</a></li>
3
+ <ol class='level-2'>
4
+ <li><a href='{{ site.baseurl }}/0-installation.html#setting-up-active-admin'>Setting up Active Admin</a></li>
5
+ <li><a href='{{ site.baseurl }}/0-installation.html#upgrading'>Upgrading</a></li>
6
+ <li><a href='{{ site.baseurl }}/0-installation.html#gem-compatibility'>Gem Compatibility</a></li>
7
+ </ol>
8
+ <li><a href='{{ site.baseurl }}/1-general-configuration.html'>General Configuration</a></li>
9
+ <ol class='level-2'>
10
+ <li><a href='{{ site.baseurl }}/1-general-configuration.html#authentication'>Authentication</a></li>
11
+ <li><a href='{{ site.baseurl }}/1-general-configuration.html#site-title-options'>Site Title Options</a></li>
12
+ <li><a href='{{ site.baseurl }}/1-general-configuration.html#internationalization-i18n'>Internationalization (I18n)</a></li>
13
+ <li><a href='{{ site.baseurl }}/1-general-configuration.html#namespaces'>Namespaces</a></li>
14
+ <li><a href='{{ site.baseurl }}/1-general-configuration.html#load-paths'>Load paths</a></li>
15
+ <li><a href='{{ site.baseurl }}/1-general-configuration.html#comments'>Comments</a></li>
16
+ <li><a href='{{ site.baseurl }}/1-general-configuration.html#utility-navigation'>Utility Navigation</a></li>
17
+ </ol>
18
+ <li><a href='{{ site.baseurl }}/2-resource-customization.html'>Working with Resources</a></li>
19
+ <ol class='level-2'>
20
+ <li><a href='{{ site.baseurl }}/2-resource-customization.html#rename-the-resource'>Rename the Resource</a></li>
21
+ <li><a href='{{ site.baseurl }}/2-resource-customization.html#customize-the-namespace'>Customize the Namespace</a></li>
22
+ <li><a href='{{ site.baseurl }}/2-resource-customization.html#customize-the-menu'>Customize the Menu</a></li>
23
+ <li><a href='{{ site.baseurl }}/2-resource-customization.html#scoping-the-queries'>Scoping the queries</a></li>
24
+ <li><a href='{{ site.baseurl }}/2-resource-customization.html#customizing-resource-retrieval'>Customizing resource
25
+ retrieval</a></li>
26
+ <li><a href='{{ site.baseurl }}/2-resource-customization.html#belongs-to'>Belongs To</a></li>
27
+ </ol>
28
+ <li><a href='{{ site.baseurl }}/3-index-pages.html'>Customizing the Index Page</a></li>
29
+ <ol class='level-2'>
30
+ <li><a href='{{ site.baseurl }}/3-index-pages/custom-index.html'>Custom Index</a></li>
31
+ <li><a href='{{ site.baseurl }}/3-index-pages/index-as-block.html'>Index as a Block</a></li>
32
+ <li><a href='{{ site.baseurl }}/3-index-pages/index-as-blog.html'>Index as Blog</a></li>
33
+ <li><a href='{{ site.baseurl }}/3-index-pages/index-as-grid.html'>Index as a Grid</a></li>
34
+ <li><a href='{{ site.baseurl }}/3-index-pages/index-as-table.html'>Index as a Table</a></li>
35
+ </ol>
36
+ <li><a href='{{ site.baseurl }}/4-csv-format.html'>Customizing the CSV format</a></li>
37
+ <li><a href='{{ site.baseurl }}/5-forms.html'>Customizing the Form</a></li>
38
+ <ol class='level-2'>
39
+ <li><a href='{{ site.baseurl }}/5-forms.html#default'>Default</a></li>
40
+ <li><a href='{{ site.baseurl }}/5-forms.html#partials'>Partials</a></li>
41
+ <li><a href='{{ site.baseurl }}/5-forms.html#nested-resources'>Nested Resources</a></li>
42
+ <li><a href='{{ site.baseurl }}/5-forms.html#datepicker'>Datepicker</a></li>
43
+ <li><a href='{{ site.baseurl }}/5-forms.html#displaying-errors'>Displaying Errors</a></li>
44
+ </ol>
45
+ <li><a href='{{ site.baseurl }}/6-show-pages.html'>Customize the Show Page</a></li>
46
+ <li><a href='{{ site.baseurl }}/7-sidebars.html'>Sidebar Sections</a></li>
47
+ <li><a href='{{ site.baseurl }}/8-custom-actions.html'>Custom Controller Actions</a></li>
48
+ <ol class='level-2'>
49
+ <li><a href='{{ site.baseurl }}/8-custom-actions.html#collection-actions'>Collection Actions</a></li>
50
+ <li><a href='{{ site.baseurl }}/8-custom-actions.html#member-actions'>Member Actions</a></li>
51
+ <li><a href='{{ site.baseurl }}/8-custom-actions.html#http-verbs'>HTTP Verbs</a></li>
52
+ <li><a href='{{ site.baseurl }}/8-custom-actions.html#rendering'>Rendering</a></li>
53
+ <li><a href='{{ site.baseurl }}/8-custom-actions.html#action-items'>Action Items</a></li>
54
+ <li><a href='{{ site.baseurl }}/8-custom-actions.html#modifying-the-controller'>Modifying the Controller</a></li>
55
+ </ol>
56
+ <li><a href='{{ site.baseurl }}/9-batch-actions.html'>Index Batch Actions</a></li>
57
+ <ol class='level-2'>
58
+ <li><a href='{{ site.baseurl }}/9-batch-actions.html#provided-batch-action'>Provided Batch Action</a></li>
59
+ <li><a href='{{ site.baseurl }}/9-batch-actions.html#creating-your-own'>Creating Your Own</a></li>
60
+ </ol>
61
+ <li><a href='{{ site.baseurl }}/10-custom-pages.html'>Custom Pages</a></li>
62
+ <ol class='level-2'>
63
+ <li><a href='{{ site.baseurl }}/10-custom-pages.html#create-a-new-page'>Create a new Page</a></li>
64
+ <li><a href='{{ site.baseurl }}/10-custom-pages.html#customize-the-menu'>Customize the Menu</a></li>
65
+ <li><a href='{{ site.baseurl }}/10-custom-pages.html#add-a-sidebar'>Add a Sidebar</a></li>
66
+ <li><a href='{{ site.baseurl }}/10-custom-pages.html#add-an-action-item'>Add an Action Item</a></li>
67
+ <li><a href='{{ site.baseurl }}/10-custom-pages.html#add-a-page-action'>Add a Page Action</a></li>
68
+ </ol>
69
+ <li><a href='{{ site.baseurl }}/11-decorators.html'>Decorators</a></li>
70
+ <ol class='level-2'>
71
+ <li><a href='{{ site.baseurl }}/11-decorators.html#example-usage'>Example Usage</a></li>
72
+ <li><a href='{{ site.baseurl }}/11-decorators.html#forms'>Forms</a></li>
73
+ </ol>
74
+ <li><a href='{{ site.baseurl }}/12-arbre-components.html'>Arbre Components</a></li>
75
+ <ol class='level-2'>
76
+ <li><a href='{{ site.baseurl }}/12-arbre-components.html#text-node'>Text Node</a></li>
77
+ <li><a href='{{ site.baseurl }}/12-arbre-components.html#panels'>Panels</a></li>
78
+ <li><a href='{{ site.baseurl }}/12-arbre-components.html#columns'>Columns</a></li>
79
+ <li><a href='{{ site.baseurl }}/12-arbre-components.html#table-for'>Table For</a></li>
80
+ <li><a href='{{ site.baseurl }}/12-arbre-components.html#status-tag'>Status tag</a></li>
81
+ <li><a href='{{ site.baseurl }}/12-arbre-components.html#tabs'>Tabs</a></li>
82
+ </ol>
83
+ <li><a href='{{ site.baseurl }}/13-authorization-adapter.html'>Authorization Adapter</a></li>
84
+ <ol class='level-2'>
85
+ <li><a href='{{ site.baseurl }}/13-authorization-adapter.html#setting-up-your-own-authorizationadapter'>Setting up your own
86
+ AuthorizationAdapter</a></li>
87
+ <li><a href='{{ site.baseurl }}/13-authorization-adapter.html#getting-access-to-the-current-user'>Getting Access to the
88
+ Current User</a></li>
89
+ <li><a href='{{ site.baseurl }}/13-authorization-adapter.html#scoping-collections-in-authorization-adapters'>Scoping
90
+ Collections in Authorization Adapters</a></li>
91
+ <li><a href='{{ site.baseurl }}/13-authorization-adapter.html#managing-access-to-pages'>Managing Access to Pages</a></li>
92
+ <li><a href='{{ site.baseurl }}/13-authorization-adapter.html#action-types'>Action Types</a></li>
93
+ <li><a href='{{ site.baseurl }}/13-authorization-adapter.html#checking-for-authorization-in-controllers-and-views'>Checking
94
+ for Authorization in Controllers and Views</a></li>
95
+ <li><a href='{{ site.baseurl }}/13-authorization-adapter.html#using-the-cancan-adapter'>Using the CanCan Adapter</a></li>
96
+ <li><a href='{{ site.baseurl }}/13-authorization-adapter.html#using-the-pundit-adapter'>Using the Pundit Adapter</a></li>
97
+ </ol>
98
+ </ol>
@@ -0,0 +1,9 @@
1
+ <div id="header">
2
+ <h1><a href="{{ site.baseurl }}/index.html"><span>Active Admin</span></a></h1>
3
+
4
+ <div id="nav">
5
+ <a href="{{ site.baseurl }}/documentation.html">Documentation</a>
6
+ <a href="http://demo.activeadmin.info/admin">Try It Now!</a>
7
+ <a href="http://github.com/activeadmin/activeadmin">Get the Code</a>
8
+ </div>
9
+ </div>
@@ -0,0 +1,21 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ {% include head.html %}
4
+ <body class="with-sidebar">
5
+ <div id="wrapper">
6
+ {% include top-menu.html %}
7
+ <div id="main-content">
8
+ <div class='toc'>
9
+ {% include toc.html %}
10
+ </div>
11
+ <div class='toc-content'>
12
+ <div class='docs-content'>
13
+ {{ content }}
14
+ </div>
15
+ </div>
16
+ </div>
17
+ {% include footer.html %}
18
+ </div>
19
+ {% include google-analytics.html %}
20
+ </body>
21
+ </html>
@@ -0,0 +1,60 @@
1
+ ---
2
+ redirect_from: /docs/documentation.html
3
+ ---
4
+
5
+ Active Admin is a framework for creating administration style interfaces. It
6
+ abstracts common business application patterns to make it simple for developers
7
+ to implement beautiful and elegant interfaces with very little effort.
8
+
9
+ # Getting Started
10
+
11
+ Active Admin is released as a Ruby Gem. The gem is to be installed within a Ruby
12
+ on Rails application. To install, simply add the following to your Gemfile:
13
+
14
+ ```ruby
15
+ # Gemfile
16
+ gem 'activeadmin', github: 'activeadmin'
17
+ ```
18
+
19
+ After updating your bundle, run the installer
20
+
21
+ ```bash
22
+ rails generate active_admin:install
23
+ ```
24
+
25
+ The installer creates an initializer used for configuring defaults used by
26
+ Active Admin as well as a new folder at `app/admin` to put all your admin
27
+ configurations.
28
+
29
+ Migrate your db and start the server:
30
+
31
+ ```bash
32
+ $> rake db:migrate
33
+ $> rails server
34
+ ```
35
+
36
+ Visit `http://localhost:3000/admin` and log in using:
37
+
38
+ * __User__: admin@example.com
39
+ * __Password__: password
40
+
41
+ Voila! You&#8217;re on your brand new Active Admin dashboard.
42
+
43
+ To register your first model, run:
44
+
45
+ ```bash
46
+ $> rails generate active_admin:resource
47
+ [MyModelName]
48
+ ```
49
+
50
+ This creates a file at `app/admin/my_model_names.rb` for configuring the
51
+ resource. Refresh your web browser to see the interface.
52
+
53
+ # Next Steps
54
+
55
+ Now that you have a working Active Admin installation, learn how to customize it:
56
+
57
+ * [Customize the Index Page](3-index-pages.md)
58
+ * [Customize the New and Edit Form](5-forms.md)
59
+ * [Customize the Show Page](6-show-pages.md)
60
+ * [Customize the Resource in General](2-resource-customization.md)
Binary file
Binary file
@@ -0,0 +1,125 @@
1
+ ---
2
+ ---
3
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
4
+ <html>
5
+ {% include head.html %}
6
+ <body>
7
+ <div id="wrapper">
8
+ {% include top-menu.html %}
9
+ <div id="main-content">
10
+ <p class="intro">
11
+ The <strong>administration framework</strong> for business critical <strong>Ruby on Rails</strong> applications.
12
+ </p>
13
+ <p>
14
+ Active Admin is a Ruby on Rails plugin for generating administration style interfaces. It abstracts common business application patterns to make it simple for developers to implement beautiful and elegant interfaces with very little effort.
15
+ </p>
16
+ <h2>
17
+ A beautiful interface designed for real people.
18
+ </h2>
19
+ <div id="features">
20
+ <div id="features-left">
21
+ <h3 class="first">
22
+ Global Navigation
23
+ </h3>
24
+ <p>
25
+ Customizable global navigation allows you to create usable admin interfaces for your business.
26
+ </p>
27
+ <h3>
28
+ Scopes
29
+ </h3>
30
+ <p>
31
+ Use scopes to create sections of mutually exclusive resources for quick navigation and reporting.
32
+ </p>
33
+ <h3>
34
+ Index Styles
35
+ </h3>
36
+ <p>
37
+ Index screens are available in many styles. The default, shown here, is a table view, but Active Admin also supports Grids, Blocks and a Blog view.
38
+ </p>
39
+ <h3>
40
+ <span class="caps">API</span> &amp; Downloads
41
+ </h3>
42
+ <p>
43
+ Each resource that is registered wtih Active Admin becomes available as <span class="caps">JSON</span>, <span class="caps">XML</span> and <span class="caps">CSV</span> download. Customize the output to meet your requirements.
44
+ </p>
45
+ </div>
46
+ <div id="features-right">
47
+ <h3 class="first">
48
+ User Authentication
49
+ </h3>
50
+ <p>
51
+ Use the bundled Devise configuration or implement your own authorization using the provided hooks.
52
+ </p>
53
+ <h3>
54
+ Action Items
55
+ </h3>
56
+ <p>
57
+ Add buttons, links or other content in the “Action Items” section on each screen.
58
+ </p>
59
+ <h3>
60
+ Filters
61
+ </h3>
62
+ <p>
63
+ Allow users to filter resources by searching strings, text fields, dates, and numeric values.
64
+ </p>
65
+ <h3>
66
+ Sidebar Sections
67
+ </h3>
68
+ <p>
69
+ Customize the sidebar sections with a simple <span class="caps">DSL</span> built in to Active Admin.
70
+ </p>
71
+ </div>
72
+ </div>
73
+ <p>
74
+ Active Admin’s interface was designed from the ground up for non-technical users. It makes it easy for developers to build highly usable interfaces that customers will actually enjoy using.
75
+ </p>
76
+ <h2>
77
+ An elegant <span class="caps">DSL</span> built for developer productivity.
78
+ </h2>
79
+ <p>
80
+ Get started with one line of code or customize the entire interface with the provided <span class="caps">DSL</span>.
81
+ </p>
82
+ <div id="dsl">
83
+ <div class="highlight">
84
+ <pre>
85
+ <code class="ruby"><span class="c1"># app/admin/products.rb</span>
86
+ <span class="no">ActiveAdmin</span><span class="o">.</span><span class="n">register</span> <span class="no">Product</span> <span class="k">do</span>
87
+
88
+ <span class="c1"># Create sections on the index screen</span>
89
+ <span class="n">scope</span> <span class="ss">:all</span><span class="p">,</span> <span class="ss">default:</span> <span class="kp">true</span>
90
+ <span class="n">scope</span> <span class="ss">:available</span>
91
+ <span class="n">scope</span> <span class="ss">:drafts</span>
92
+
93
+ <span class="c1"># Filterable attributes on the index screen</span>
94
+ <span class="n">filter</span> <span class="ss">:title</span>
95
+ <span class="n">filter</span> <span class="ss">:author</span><span class="p">,</span> <span class="ss">as:</span> <span class="ss">:select</span><span class="p">,</span> <span class="ss">collection:</span> <span class="nb">-></span><span class="p">{</span> <span class="no">Product</span><span class="o">.</span><span class="n">authors</span> <span class="p">}</span>
96
+ <span class="n">filter</span> <span class="ss">:price</span>
97
+ <span class="n">filter</span> <span class="ss">:created_at</span>
98
+
99
+ <span class="c1"># Customize columns displayed on the index screen in the table</span>
100
+ <span class="n">index</span> <span class="k">do</span>
101
+ <span class="n">column</span> <span class="ss">:title</span>
102
+ <span class="n">column</span> <span class="s2">"Price"</span><span class="p">,</span> <span class="ss">sortable:</span> <span class="ss">:price</span> <span class="k">do</span> <span class="o">|</span><span class="n">product</span><span class="o">|</span>
103
+ <span class="n">number_to_currency</span> <span class="n">product</span><span class="o">.</span><span class="n">price</span>
104
+ <span class="k">end</span>
105
+ <span class="n">default_actions</span>
106
+ <span class="k">end</span>
107
+
108
+ <span class="k">end</span>
109
+ </code>
110
+ </pre>
111
+ </div>
112
+ </div>
113
+ <h2 class="getting-started-heading">
114
+ 3 Ways to Get Started:
115
+ </h2>
116
+ <p class="getting-started">
117
+ <a href="http://demo.activeadmin.info/admin">Check Out the Live Demo</a> <a href="{{ site.baseurl }}/documentation.html">Read The Documentation</a> <a href="http://github.com/activeadmin/activeadmin">Visit the Git Repository</a>
118
+ </p>
119
+ </div>{% include footer.html %}
120
+ </div>
121
+ <p>
122
+ {% include google-analytics.html %}
123
+ </p>
124
+ </body>
125
+ </html>
@@ -0,0 +1,1152 @@
1
+ html, body, div, span, applet, object, iframe,
2
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
3
+ a, abbr, acronym, address, big, cite, code,
4
+ del, dfn, em, img, ins, kbd, q, s, samp,
5
+ small, strike, strong, sub, sup, tt, var,
6
+ b, u, i, center,
7
+ dl, dt, dd, ol, ul, li,
8
+ fieldset, form, label, legend,
9
+ table, caption, tbody, tfoot, thead, tr, th, td,
10
+ article, aside, canvas, details, embed,
11
+ figure, figcaption, footer, header, hgroup,
12
+ menu, nav, output, ruby, section, summary,
13
+ time, mark, audio, video {
14
+ margin: 0;
15
+ padding: 0;
16
+ border: 0;
17
+ font-size: 100%;
18
+ font: inherit;
19
+ vertical-align: baseline;
20
+ }
21
+
22
+ body {
23
+ line-height: 1;
24
+ }
25
+
26
+ ol, ul {
27
+ list-style: none;
28
+ }
29
+
30
+ table {
31
+ border-collapse: collapse;
32
+ border-spacing: 0;
33
+ }
34
+
35
+ caption, th, td {
36
+ text-align: left;
37
+ font-weight: normal;
38
+ vertical-align: middle;
39
+ }
40
+
41
+ q, blockquote {
42
+ quotes: none;
43
+ }
44
+
45
+ q:before, q:after, blockquote:before, blockquote:after {
46
+ content: "";
47
+ content: none;
48
+ }
49
+
50
+ a img {
51
+ border: none;
52
+ }
53
+
54
+ article, aside, details, figcaption, figure,
55
+ footer, header, hgroup, menu, nav, section {
56
+ display: block;
57
+ }
58
+
59
+ #dsl {
60
+ /* Comment */
61
+ /* Error */
62
+ /* Keyword */
63
+ /* Literal */
64
+ /* Name */
65
+ /* Operator */
66
+ /* Punctuation */
67
+ /* Comment.Multiline */
68
+ /* Comment.Preproc */
69
+ /* Comment.Single */
70
+ /* Comment.Special */
71
+ /* Generic.Emph */
72
+ /* Generic.Strong */
73
+ /* Keyword.Constant */
74
+ /* Keyword.Declaration */
75
+ /* Keyword.Namespace */
76
+ /* Keyword.Pseudo */
77
+ /* Keyword.Reserved */
78
+ /* Keyword.Type */
79
+ /* Literal.Date */
80
+ /* Literal.Number */
81
+ /* Literal.String */
82
+ /* Name.Attribute */
83
+ /* Name.Builtin */
84
+ /* Name.Class */
85
+ /* Name.Constant */
86
+ /* Name.Decorator */
87
+ /* Name.Entity */
88
+ /* Name.Exception */
89
+ /* Name.Function */
90
+ /* Name.Label */
91
+ /* Name.Namespace */
92
+ /* Name.Other */
93
+ /* Name.Property */
94
+ /* Name.Tag */
95
+ /* Name.Variable */
96
+ /* Operator.Word */
97
+ /* Text.Whitespace */
98
+ /* Literal.Number.Float */
99
+ /* Literal.Number.Hex */
100
+ /* Literal.Number.Integer */
101
+ /* Literal.Number.Oct */
102
+ /* Literal.String.Backtick */
103
+ /* Literal.String.Char */
104
+ /* Literal.String.Doc */
105
+ /* Literal.String.Double */
106
+ /* Literal.String.Escape */
107
+ /* Literal.String.Heredoc */
108
+ /* Literal.String.Interpol */
109
+ /* Literal.String.Other */
110
+ /* Literal.String.Regex */
111
+ /* Literal.String.Single */
112
+ /* Literal.String.Symbol */
113
+ /* Name.Builtin.Pseudo */
114
+ /* Name.Variable.Class */
115
+ /* Name.Variable.Global */
116
+ /* Name.Variable.Instance */
117
+ /* Literal.Number.Integer.Long */
118
+ }
119
+
120
+ #dsl .highlight .hll {
121
+ background-color: #49483e;
122
+ }
123
+
124
+ #dsl .highlight {
125
+ background: #272822;
126
+ color: #f8f8f2;
127
+ }
128
+
129
+ #dsl .highlight .c {
130
+ color: #75715e;
131
+ }
132
+
133
+ #dsl .highlight .err {
134
+ color: #960050;
135
+ background-color: #1e0010;
136
+ }
137
+
138
+ #dsl .highlight .k {
139
+ color: #66d9ef;
140
+ }
141
+
142
+ #dsl .highlight .l {
143
+ color: #ae81ff;
144
+ }
145
+
146
+ #dsl .highlight .n {
147
+ color: #f8f8f2;
148
+ }
149
+
150
+ #dsl .highlight .o {
151
+ color: #f92672;
152
+ }
153
+
154
+ #dsl .highlight .p {
155
+ color: #f8f8f2;
156
+ }
157
+
158
+ #dsl .highlight .cm {
159
+ color: #75715e;
160
+ }
161
+
162
+ #dsl .highlight .cp {
163
+ color: #75715e;
164
+ }
165
+
166
+ #dsl .highlight .c1 {
167
+ color: #75715e;
168
+ }
169
+
170
+ #dsl .highlight .cs {
171
+ color: #75715e;
172
+ }
173
+
174
+ #dsl .highlight .ge {
175
+ font-style: italic;
176
+ }
177
+
178
+ #dsl .highlight .gs {
179
+ font-weight: bold;
180
+ }
181
+
182
+ #dsl .highlight .kc {
183
+ color: #66d9ef;
184
+ }
185
+
186
+ #dsl .highlight .kd {
187
+ color: #66d9ef;
188
+ }
189
+
190
+ #dsl .highlight .kn {
191
+ color: #f92672;
192
+ }
193
+
194
+ #dsl .highlight .kp {
195
+ color: #66d9ef;
196
+ }
197
+
198
+ #dsl .highlight .kr {
199
+ color: #66d9ef;
200
+ }
201
+
202
+ #dsl .highlight .kt {
203
+ color: #66d9ef;
204
+ }
205
+
206
+ #dsl .highlight .ld {
207
+ color: #e6db74;
208
+ }
209
+
210
+ #dsl .highlight .m {
211
+ color: #ae81ff;
212
+ }
213
+
214
+ #dsl .highlight .s {
215
+ color: #e6db74;
216
+ }
217
+
218
+ #dsl .highlight .na {
219
+ color: #a6e22e;
220
+ }
221
+
222
+ #dsl .highlight .nb {
223
+ color: #f8f8f2;
224
+ }
225
+
226
+ #dsl .highlight .nc {
227
+ color: #a6e22e;
228
+ }
229
+
230
+ #dsl .highlight .no {
231
+ color: #66d9ef;
232
+ }
233
+
234
+ #dsl .highlight .nd {
235
+ color: #a6e22e;
236
+ }
237
+
238
+ #dsl .highlight .ni {
239
+ color: #f8f8f2;
240
+ }
241
+
242
+ #dsl .highlight .ne {
243
+ color: #a6e22e;
244
+ }
245
+
246
+ #dsl .highlight .nf {
247
+ color: #a6e22e;
248
+ }
249
+
250
+ #dsl .highlight .nl {
251
+ color: #f8f8f2;
252
+ }
253
+
254
+ #dsl .highlight .nn {
255
+ color: #f8f8f2;
256
+ }
257
+
258
+ #dsl .highlight .nx {
259
+ color: #a6e22e;
260
+ }
261
+
262
+ #dsl .highlight .py {
263
+ color: #f8f8f2;
264
+ }
265
+
266
+ #dsl .highlight .nt {
267
+ color: #f92672;
268
+ }
269
+
270
+ #dsl .highlight .nv {
271
+ color: #f8f8f2;
272
+ }
273
+
274
+ #dsl .highlight .ow {
275
+ color: #f92672;
276
+ }
277
+
278
+ #dsl .highlight .w {
279
+ color: #f8f8f2;
280
+ }
281
+
282
+ #dsl .highlight .mf {
283
+ color: #ae81ff;
284
+ }
285
+
286
+ #dsl .highlight .mh {
287
+ color: #ae81ff;
288
+ }
289
+
290
+ #dsl .highlight .mi {
291
+ color: #ae81ff;
292
+ }
293
+
294
+ #dsl .highlight .mo {
295
+ color: #ae81ff;
296
+ }
297
+
298
+ #dsl .highlight .sb {
299
+ color: #e6db74;
300
+ }
301
+
302
+ #dsl .highlight .sc {
303
+ color: #e6db74;
304
+ }
305
+
306
+ #dsl .highlight .sd {
307
+ color: #e6db74;
308
+ }
309
+
310
+ #dsl .highlight .s2 {
311
+ color: #e6db74;
312
+ }
313
+
314
+ #dsl .highlight .se {
315
+ color: #ae81ff;
316
+ }
317
+
318
+ #dsl .highlight .sh {
319
+ color: #e6db74;
320
+ }
321
+
322
+ #dsl .highlight .si {
323
+ color: #e6db74;
324
+ }
325
+
326
+ #dsl .highlight .sx {
327
+ color: #e6db74;
328
+ }
329
+
330
+ #dsl .highlight .sr {
331
+ color: #e6db74;
332
+ }
333
+
334
+ #dsl .highlight .s1 {
335
+ color: #e6db74;
336
+ }
337
+
338
+ #dsl .highlight .ss {
339
+ color: #AE81FF;
340
+ }
341
+
342
+ #dsl .highlight .bp {
343
+ color: #f8f8f2;
344
+ }
345
+
346
+ #dsl .highlight .vc {
347
+ color: #f8f8f2;
348
+ }
349
+
350
+ #dsl .highlight .vg {
351
+ color: #f8f8f2;
352
+ }
353
+
354
+ #dsl .highlight .vi {
355
+ color: #f8f8f2;
356
+ }
357
+
358
+ #dsl .highlight .il {
359
+ color: #ae81ff;
360
+ }
361
+
362
+ body {
363
+ line-height: 1.5;
364
+ font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
365
+ color: #333333;
366
+ font-size: 75%;
367
+ }
368
+
369
+ h1, h2, h3, h4, h5, h6 {
370
+ font-weight: normal;
371
+ color: #222222;
372
+ }
373
+
374
+ h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {
375
+ margin: 0;
376
+ }
377
+
378
+ h1 {
379
+ font-size: 3em;
380
+ line-height: 1;
381
+ margin-bottom: 0.50em;
382
+ }
383
+
384
+ h2 {
385
+ font-size: 2em;
386
+ margin-bottom: 0.75em;
387
+ }
388
+
389
+ h3 {
390
+ font-size: 1.5em;
391
+ line-height: 1;
392
+ margin-bottom: 1.00em;
393
+ }
394
+
395
+ h4 {
396
+ font-size: 1.2em;
397
+ line-height: 1.25;
398
+ margin-bottom: 1.25em;
399
+ }
400
+
401
+ h5 {
402
+ font-size: 1em;
403
+ font-weight: bold;
404
+ margin-bottom: 1.50em;
405
+ }
406
+
407
+ h6 {
408
+ font-size: 1em;
409
+ font-weight: bold;
410
+ }
411
+
412
+ p {
413
+ margin: 0 0 1.5em;
414
+ }
415
+
416
+ p .left {
417
+ display: inline;
418
+ float: left;
419
+ margin: 1.5em 1.5em 1.5em 0;
420
+ padding: 0;
421
+ }
422
+
423
+ p .right {
424
+ display: inline;
425
+ float: right;
426
+ margin: 1.5em 0 1.5em 1.5em;
427
+ padding: 0;
428
+ }
429
+
430
+ a {
431
+ text-decoration: underline;
432
+ color: #0066cc;
433
+ }
434
+
435
+ a:visited {
436
+ color: #004c99;
437
+ }
438
+
439
+ a:focus {
440
+ color: #0099ff;
441
+ }
442
+
443
+ a:hover {
444
+ color: #0099ff;
445
+ }
446
+
447
+ a:active {
448
+ color: #bf00ff;
449
+ }
450
+
451
+ blockquote {
452
+ margin: 1.5em;
453
+ color: #666666;
454
+ font-style: italic;
455
+ }
456
+
457
+ strong, dfn {
458
+ font-weight: bold;
459
+ }
460
+
461
+ em, dfn {
462
+ font-style: italic;
463
+ }
464
+
465
+ sup, sub {
466
+ line-height: 0;
467
+ }
468
+
469
+ abbr, acronym {
470
+ border-bottom: 1px dotted #666666;
471
+ }
472
+
473
+ address {
474
+ margin: 0 0 1.5em;
475
+ font-style: italic;
476
+ }
477
+
478
+ del {
479
+ color: #666666;
480
+ }
481
+
482
+ pre {
483
+ margin: 1.5em 0;
484
+ white-space: pre;
485
+ }
486
+
487
+ pre, code, tt {
488
+ font: 1em "andale mono", "lucida console", monospace;
489
+ line-height: 1.5;
490
+ }
491
+
492
+ li ul, li ol {
493
+ margin: 0;
494
+ }
495
+
496
+ ul, ol {
497
+ margin: 0 1.5em 1.5em 0;
498
+ padding-left: 1.5em;
499
+ }
500
+
501
+ ul {
502
+ list-style-type: disc;
503
+ }
504
+
505
+ ol {
506
+ list-style-type: decimal;
507
+ }
508
+
509
+ dl {
510
+ margin: 0 0 1.5em 0;
511
+ }
512
+
513
+ dl dt {
514
+ font-weight: bold;
515
+ }
516
+
517
+ dd {
518
+ margin-left: 1.5em;
519
+ }
520
+
521
+ table {
522
+ margin-bottom: 1.4em;
523
+ width: 100%;
524
+ }
525
+
526
+ th {
527
+ font-weight: bold;
528
+ }
529
+
530
+ thead th {
531
+ background: #c3d9ff;
532
+ }
533
+
534
+ th, td, caption {
535
+ padding: 4px 10px 4px 5px;
536
+ }
537
+
538
+ table.striped tr:nth-child(even) td,
539
+ table tr.even td {
540
+ background: #e5ecf9;
541
+ }
542
+
543
+ tfoot {
544
+ font-style: italic;
545
+ }
546
+
547
+ caption {
548
+ background: #eeeeee;
549
+ }
550
+
551
+ .quiet {
552
+ color: #666666;
553
+ }
554
+
555
+ .loud {
556
+ color: #111111;
557
+ }
558
+
559
+ body {
560
+ background: #f6f4f1;
561
+ color: #676767;
562
+ width: 676px;
563
+ padding: 0 20px;
564
+ font-size: 95%;
565
+ margin: 25px auto;
566
+ font-family: 'Georgia';
567
+ }
568
+
569
+ body #wrapper {
570
+ position: relative;
571
+ }
572
+
573
+ body a, body a:hover, body a:link, body a:visited {
574
+ color: #407985;
575
+ }
576
+
577
+ body h1, body h2, body h3, body h4, body h5, body h6 {
578
+ color: #595959;
579
+ font-family: 'Yanone Kaffeesatz', 'Helvetica Neue', Arial, Helvetica, sans-serif;
580
+ }
581
+
582
+ body h1 a {
583
+ background: url("../images/activeadmin.png") 0 0 no-repeat;
584
+ display: block;
585
+ width: 257px;
586
+ height: 55px;
587
+ }
588
+
589
+ body h1 a span {
590
+ display: none;
591
+ }
592
+
593
+ body #header {
594
+ margin: 40px 0;
595
+ }
596
+
597
+ body .clear {
598
+ clear: both;
599
+ }
600
+
601
+ body .intro {
602
+ color: #595959;
603
+ font-family: 'Yanone Kaffeesatz', 'Helvetica Neue', Arial, Helvetica, sans-serif;
604
+ font-size: 3.2em;
605
+ font-weight: 300;
606
+ line-height: 1em;
607
+ margin-bottom: 0.3em;
608
+ padding-top: 35px;
609
+ background: url("../images/divider.png") 0 0 repeat-x;
610
+ }
611
+
612
+ body .intro strong {
613
+ font-weight: 400;
614
+ }
615
+
616
+ body h2 {
617
+ margin: 50px 0 10px 0;
618
+ padding-top: 35px;
619
+ background: url("../images/divider.png") 0 0 repeat-x;
620
+ font-size: 2.5em;
621
+ font-weight: 200;
622
+ line-height: 105%;
623
+ }
624
+
625
+ body h3 {
626
+ margin-top: 30px;
627
+ margin-bottom: 10px;
628
+ font-size: 1.7em;
629
+ font-weight: 300;
630
+ }
631
+
632
+ body #nav {
633
+ font-family: 'Yanone Kaffeesatz', 'Helvetica Neue', Arial, Helvetica, sans-serif;
634
+ font-weight: 400;
635
+ font-size: 1.2em;
636
+ text-transform: uppercase;
637
+ position: absolute;
638
+ right: 0;
639
+ top: 20px;
640
+ text-align: right;
641
+ }
642
+
643
+ body #nav a {
644
+ text-decoration: none;
645
+ color: #8b9091;
646
+ margin-left: 20px;
647
+ }
648
+
649
+ body #features {
650
+ padding-top: 0;
651
+ clear: both;
652
+ background: url("../images/features.png") 0 0 no-repeat;
653
+ margin: 0 -35px;
654
+ overflow: visible;
655
+ min-height: 569px;
656
+ font-size: 1.0em;
657
+ line-height: 1.2em;
658
+ font-weight: 300;
659
+ font-family: 'Yanone Kaffeesatz', 'Helvetica Neue', Arial, Helvetica, sans-serif;
660
+ }
661
+
662
+ body #features #features-left {
663
+ float: left;
664
+ width: 150px;
665
+ margin-left: -150px;
666
+ }
667
+
668
+ body #features #features-right {
669
+ float: right;
670
+ width: 150px;
671
+ margin-right: -150px;
672
+ }
673
+
674
+ body #features h3 {
675
+ font-size: 1.2em;
676
+ padding-bottom: 0;
677
+ margin-bottom: 5px;
678
+ }
679
+
680
+ body #features h3.first {
681
+ margin-top: 10px;
682
+ }
683
+
684
+ body.with-sidebar {
685
+ width: 976px;
686
+ }
687
+
688
+ body .toc {
689
+ font-family: Helvetica, Arial, sans-serif;
690
+ padding-top: 35px;
691
+ width: 270px;
692
+ float: right;
693
+ font-size: 0.9em;
694
+ background: url("../images/divider.png") top left repeat-x;
695
+ }
696
+
697
+ body .toc ol li {
698
+ list-style: none;
699
+ }
700
+
701
+ body .toc a, body .toc a:link, body .toc a:hover, body .toc a:visited {
702
+ text-decoration: none;
703
+ color: #595959;
704
+ }
705
+
706
+ body .toc ol.level-1 > li {
707
+ font-size: 1.0em;
708
+ font-weight: bold;
709
+ margin-top: 20px;
710
+ }
711
+
712
+ body .toc ol.level-1 > ol {
713
+ padding-left: 0;
714
+ font-size: 0.95em;
715
+ margin: 0;
716
+ }
717
+
718
+ body .toc ol.level-2 > ol {
719
+ display: none;
720
+ }
721
+
722
+ body .toc-content {
723
+ width: 676px;
724
+ }
725
+
726
+ body #dsl {
727
+ margin-top: 20px;
728
+ }
729
+
730
+ body #dsl .highlight {
731
+ font-size: 0.82em;
732
+ background: #292929 url("../images/code-header.png") 0 0 no-repeat;
733
+ padding: 40px 15px 20px 15px !important;
734
+ -moz-box-shadow: 0 8px 20px #444444;
735
+ -webkit-box-shadow: 0 8px 20px #444444;
736
+ -o-box-shadow: 0 8px 20px #444444;
737
+ box-shadow: 0 8px 20px #444444;
738
+ }
739
+
740
+ body .getting-started {
741
+ font-size: 2em;
742
+ text-align: center;
743
+ }
744
+
745
+ body .getting-started a {
746
+ margin-right: 15px;
747
+ display: block;
748
+ }
749
+
750
+ body .getting-started-heading {
751
+ text-align: center;
752
+ }
753
+
754
+ body .left {
755
+ float: left;
756
+ }
757
+
758
+ body .right {
759
+ float: right;
760
+ }
761
+
762
+ body .highlight {
763
+ background-color: #333;
764
+ font-family: "Droid Sans Mono", Monaco, monospace;
765
+ padding: 10px 5px;
766
+ font-size: 0.9em;
767
+ -moz-border-radius: 2px;
768
+ -webkit-border-radius: 2px;
769
+ -o-border-radius: 2px;
770
+ -ms-border-radius: 2px;
771
+ -khtml-border-radius: 2px;
772
+ border-radius: 2px;
773
+ margin-bottom: 1.5em;
774
+ }
775
+
776
+ body .highlight > pre, body .highlight code, body .highlight span {
777
+ line-height: 1.3em;
778
+ margin: 0;
779
+ padding: 0;
780
+ }
781
+
782
+ body #footer {
783
+ margin-top: 50px;
784
+ margin-bottom: 20px;
785
+ background: url("../images/divider.png") 0 0 repeat-x;
786
+ clear: both;
787
+ padding-top: 20px;
788
+ font-size: 0.9em;
789
+ }
790
+
791
+ body .post .post-date, body .post .post-meta {
792
+ font-size: 0.7em;
793
+ }
794
+
795
+ body .post .post-date {
796
+ display: inline-block;
797
+ width: 100px;
798
+ }
799
+
800
+ body .post .post-meta {
801
+ font-size: 0.6em;
802
+ padding-left: 40px;
803
+ }
804
+
805
+ span.breadcrumb {
806
+ display: block;
807
+ font-size: 45%;
808
+ font-weight: 200;
809
+ margin: 0;
810
+ padding: 0;
811
+ }
812
+
813
+ h2.in-docs {
814
+ font-weight: 400;
815
+ }
816
+
817
+ .docs-content {
818
+ /* Comment */
819
+ /* Error */
820
+ /* Keyword */
821
+ /* Comment.Multiline */
822
+ /* Comment.Preproc */
823
+ /* Comment.Single */
824
+ /* Comment.Special */
825
+ /* Generic.Deleted */
826
+ /* Generic.Emph */
827
+ /* Generic.Error */
828
+ /* Generic.Heading */
829
+ /* Generic.Inserted */
830
+ /* Generic.Output */
831
+ /* Generic.Prompt */
832
+ /* Generic.Strong */
833
+ /* Generic.Subheading */
834
+ /* Generic.Traceback */
835
+ /* Keyword.Constant */
836
+ /* Keyword.Declaration */
837
+ /* Keyword.Namespace */
838
+ /* Keyword.Pseudo */
839
+ /* Keyword.Reserved */
840
+ /* Keyword.Type */
841
+ /* Literal.Number */
842
+ /* Name */
843
+ /* Name */
844
+ /* Literal.String */
845
+ /* Name.Attribute */
846
+ /* Name.Builtin */
847
+ /* Name.Class */
848
+ /* Name.Constant */
849
+ /* Name.Decorator */
850
+ /* Name.Entity */
851
+ /* Name.Function */
852
+ /* Name.Namespace */
853
+ /* Name.Tag */
854
+ /* Name.Variable */
855
+ /* Operator.Word */
856
+ /* Text.Whitespace */
857
+ /* Literal.Number.Float */
858
+ /* Literal.Number.Hex */
859
+ /* Literal.Number.Integer */
860
+ /* Literal.Number.Oct */
861
+ /* Literal.String.Backtick */
862
+ /* Literal.String.Char */
863
+ /* Literal.String.Doc */
864
+ /* Literal.String.Double */
865
+ /* Literal.String.Escape */
866
+ /* Literal.String.Heredoc */
867
+ /* Literal.String.Interpol */
868
+ /* Literal.String.Other */
869
+ /* Literal.String.Regex */
870
+ /* Literal.String.Single */
871
+ /* Literal.String.Symbol */
872
+ /* Name.Builtin.Pseudo */
873
+ /* Name.Variable.Class */
874
+ /* Name.Variable.Global */
875
+ /* Name.Variable.Instance */
876
+ /* Literal.Number.Integer.Long */
877
+ }
878
+
879
+ .docs-content h3 {
880
+ margin-top: 50px;
881
+ margin-bottom: 10px;
882
+ font-size: 2em;
883
+ font-weight: 400;
884
+ }
885
+
886
+ .docs-content h4 {
887
+ font-size: 1.5em;
888
+ font-weight: 400;
889
+ margin-bottom: 0;
890
+ }
891
+
892
+ .docs-content p, .docs-content li {
893
+ font-family: Helvetica, Arial, sans-serif;
894
+ font-size: 0.9em;
895
+ }
896
+
897
+ .docs-content .highlight {
898
+ font-size: 0.85em;
899
+ background-color: #ece8e1;
900
+ color: #000000;
901
+ }
902
+
903
+ .docs-content .highlight .hll {
904
+ background-color: #ffffcc;
905
+ }
906
+
907
+ .docs-content .highlight .c {
908
+ color: #aaaaaa;
909
+ font-style: italic;
910
+ }
911
+
912
+ .docs-content .highlight .err {
913
+ color: #F00000;
914
+ background-color: #F0A0A0;
915
+ }
916
+
917
+ .docs-content .highlight .k {
918
+ color: #0000aa;
919
+ }
920
+
921
+ .docs-content .highlight .cm {
922
+ color: #aaaaaa;
923
+ font-style: italic;
924
+ }
925
+
926
+ .docs-content .highlight .cp {
927
+ color: #4c8317;
928
+ }
929
+
930
+ .docs-content .highlight .c1 {
931
+ color: #aaaaaa;
932
+ font-style: italic;
933
+ }
934
+
935
+ .docs-content .highlight .cs {
936
+ color: #0000aa;
937
+ font-style: italic;
938
+ }
939
+
940
+ .docs-content .highlight .gd {
941
+ color: #aa0000;
942
+ }
943
+
944
+ .docs-content .highlight .ge {
945
+ font-style: italic;
946
+ }
947
+
948
+ .docs-content .highlight .gr {
949
+ color: #aa0000;
950
+ }
951
+
952
+ .docs-content .highlight .gh {
953
+ color: #000080;
954
+ font-weight: bold;
955
+ }
956
+
957
+ .docs-content .highlight .gi {
958
+ color: #00aa00;
959
+ }
960
+
961
+ .docs-content .highlight .go {
962
+ color: #888888;
963
+ }
964
+
965
+ .docs-content .highlight .gp {
966
+ color: #555555;
967
+ }
968
+
969
+ .docs-content .highlight .gs {
970
+ font-weight: bold;
971
+ }
972
+
973
+ .docs-content .highlight .gu {
974
+ color: #800080;
975
+ font-weight: bold;
976
+ }
977
+
978
+ .docs-content .highlight .gt {
979
+ color: #aa0000;
980
+ }
981
+
982
+ .docs-content .highlight .kc {
983
+ color: #0000aa;
984
+ }
985
+
986
+ .docs-content .highlight .kd {
987
+ color: #0000aa;
988
+ }
989
+
990
+ .docs-content .highlight .kn {
991
+ color: #0000aa;
992
+ }
993
+
994
+ .docs-content .highlight .kp {
995
+ color: #0000aa;
996
+ }
997
+
998
+ .docs-content .highlight .kr {
999
+ color: #0000aa;
1000
+ }
1001
+
1002
+ .docs-content .highlight .kt {
1003
+ color: #00aaaa;
1004
+ }
1005
+
1006
+ .docs-content .highlight .m {
1007
+ color: #009999;
1008
+ }
1009
+
1010
+ .docs-content .highlight .n {
1011
+ color: #000000;
1012
+ }
1013
+
1014
+ .docs-content .highlight .p {
1015
+ color: #000000;
1016
+ }
1017
+
1018
+ .docs-content .highlight .s {
1019
+ color: #aa5500;
1020
+ }
1021
+
1022
+ .docs-content .highlight .na {
1023
+ color: #1e90ff;
1024
+ }
1025
+
1026
+ .docs-content .highlight .nb {
1027
+ color: #00aaaa;
1028
+ }
1029
+
1030
+ .docs-content .highlight .nc {
1031
+ color: #00aa00;
1032
+ text-decoration: underline;
1033
+ }
1034
+
1035
+ .docs-content .highlight .no {
1036
+ color: #aa0000;
1037
+ }
1038
+
1039
+ .docs-content .highlight .nd {
1040
+ color: #888888;
1041
+ }
1042
+
1043
+ .docs-content .highlight .ni {
1044
+ color: #800000;
1045
+ font-weight: bold;
1046
+ }
1047
+
1048
+ .docs-content .highlight .nf {
1049
+ color: #00aa00;
1050
+ }
1051
+
1052
+ .docs-content .highlight .nn {
1053
+ color: #00aaaa;
1054
+ text-decoration: underline;
1055
+ }
1056
+
1057
+ .docs-content .highlight .nt {
1058
+ color: #1e90ff;
1059
+ font-weight: bold;
1060
+ }
1061
+
1062
+ .docs-content .highlight .nv {
1063
+ color: #aa0000;
1064
+ }
1065
+
1066
+ .docs-content .highlight .ow {
1067
+ color: #0000aa;
1068
+ }
1069
+
1070
+ .docs-content .highlight .w {
1071
+ color: #bbbbbb;
1072
+ }
1073
+
1074
+ .docs-content .highlight .mf {
1075
+ color: #009999;
1076
+ }
1077
+
1078
+ .docs-content .highlight .mh {
1079
+ color: #009999;
1080
+ }
1081
+
1082
+ .docs-content .highlight .mi {
1083
+ color: #009999;
1084
+ }
1085
+
1086
+ .docs-content .highlight .mo {
1087
+ color: #009999;
1088
+ }
1089
+
1090
+ .docs-content .highlight .sb {
1091
+ color: #aa5500;
1092
+ }
1093
+
1094
+ .docs-content .highlight .sc {
1095
+ color: #aa5500;
1096
+ }
1097
+
1098
+ .docs-content .highlight .sd {
1099
+ color: #aa5500;
1100
+ }
1101
+
1102
+ .docs-content .highlight .s2 {
1103
+ color: #aa5500;
1104
+ }
1105
+
1106
+ .docs-content .highlight .se {
1107
+ color: #aa5500;
1108
+ }
1109
+
1110
+ .docs-content .highlight .sh {
1111
+ color: #aa5500;
1112
+ }
1113
+
1114
+ .docs-content .highlight .si {
1115
+ color: #aa5500;
1116
+ }
1117
+
1118
+ .docs-content .highlight .sx {
1119
+ color: #aa5500;
1120
+ }
1121
+
1122
+ .docs-content .highlight .sr {
1123
+ color: #009999;
1124
+ }
1125
+
1126
+ .docs-content .highlight .s1 {
1127
+ color: #aa5500;
1128
+ }
1129
+
1130
+ .docs-content .highlight .ss {
1131
+ color: #0000aa;
1132
+ }
1133
+
1134
+ .docs-content .highlight .bp {
1135
+ color: #00aaaa;
1136
+ }
1137
+
1138
+ .docs-content .highlight .vc {
1139
+ color: #aa0000;
1140
+ }
1141
+
1142
+ .docs-content .highlight .vg {
1143
+ color: #aa0000;
1144
+ }
1145
+
1146
+ .docs-content .highlight .vi {
1147
+ color: #aa0000;
1148
+ }
1149
+
1150
+ .docs-content .highlight .il {
1151
+ color: #009999;
1152
+ }