activeadmin 1.0.0.pre4 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of activeadmin might be problematic. Click here for more details.

Files changed (542) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +529 -52
  3. data/CODE_OF_CONDUCT.md +64 -12
  4. data/CONTRIBUTING.md +129 -58
  5. data/README.md +80 -79
  6. data/app/assets/javascripts/active_admin/base.es6 +23 -0
  7. data/app/assets/javascripts/active_admin/ext/jquery-ui.es6 +7 -0
  8. data/app/assets/javascripts/active_admin/ext/jquery.es6 +9 -0
  9. data/app/assets/javascripts/active_admin/initializers/datepicker.es6 +16 -0
  10. data/app/assets/javascripts/active_admin/initializers/filters.es6 +45 -0
  11. data/app/assets/javascripts/active_admin/initializers/tabs.es6 +6 -0
  12. data/app/assets/javascripts/active_admin/lib/active_admin.es6 +41 -0
  13. data/app/assets/javascripts/active_admin/lib/batch_actions.es6 +59 -0
  14. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.es6 +49 -0
  15. data/app/assets/javascripts/active_admin/lib/dropdown-menu.es6 +123 -0
  16. data/app/assets/javascripts/active_admin/lib/has_many.es6 +95 -0
  17. data/app/assets/javascripts/active_admin/lib/modal_dialog.es6 +61 -0
  18. data/app/assets/javascripts/active_admin/lib/per_page.es6 +47 -0
  19. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.es6 +36 -0
  20. data/app/assets/stylesheets/active_admin/_base.scss +2 -2
  21. data/app/assets/stylesheets/active_admin/_forms.scss +19 -26
  22. data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +0 -5
  23. data/app/assets/stylesheets/active_admin/components/_pagination.scss +11 -0
  24. data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
  25. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -4
  26. data/app/assets/stylesheets/active_admin/components/_tables.scss +4 -1
  27. data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
  28. data/app/assets/stylesheets/active_admin/mixins/_all.scss +0 -2
  29. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
  30. data/app/assets/stylesheets/active_admin/print.scss +2 -3
  31. data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
  32. data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
  33. data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
  34. data/app/views/active_admin/devise/registrations/new.html.erb +3 -4
  35. data/app/views/active_admin/devise/sessions/new.html.erb +2 -2
  36. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  37. data/app/views/active_admin/devise/shared/_links.erb +12 -6
  38. data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
  39. data/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
  40. data/app/views/kaminari/active_admin/_gap.html.erb +8 -0
  41. data/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
  42. data/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
  43. data/app/views/kaminari/active_admin/_page.html.erb +12 -0
  44. data/app/views/kaminari/active_admin/_paginator.html.erb +25 -0
  45. data/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
  46. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  47. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  48. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  49. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  50. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  51. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  52. data/app/views/layouts/active_admin_logged_out.html.erb +2 -2
  53. data/config/locales/ar.yml +4 -5
  54. data/config/locales/bg.yml +1 -3
  55. data/config/locales/bs.yml +1 -2
  56. data/config/locales/ca.yml +2 -4
  57. data/config/locales/cs.yml +1 -2
  58. data/config/locales/da.yml +45 -14
  59. data/config/locales/de-CH.yml +2 -3
  60. data/config/locales/de.yml +30 -3
  61. data/config/locales/el.yml +3 -4
  62. data/config/locales/en-CA.yml +139 -0
  63. data/config/locales/en-GB.yml +44 -3
  64. data/config/locales/en.yml +31 -5
  65. data/config/locales/eo.yml +145 -0
  66. data/config/locales/es-MX.yml +5 -3
  67. data/config/locales/es.yml +32 -6
  68. data/config/locales/fa.yml +1 -2
  69. data/config/locales/fi.yml +2 -3
  70. data/config/locales/fr.yml +27 -5
  71. data/config/locales/he.yml +53 -7
  72. data/config/locales/hr.yml +1 -2
  73. data/config/locales/hu.yml +5 -2
  74. data/config/locales/id.yml +2 -3
  75. data/config/locales/it.yml +15 -7
  76. data/config/locales/ja.yml +8 -3
  77. data/config/locales/ko.yml +1 -2
  78. data/config/locales/lt.yml +27 -6
  79. data/config/locales/lv.yml +1 -2
  80. data/config/locales/mk.yml +134 -0
  81. data/config/locales/nb.yml +16 -7
  82. data/config/locales/nl.yml +13 -3
  83. data/config/locales/pl.yml +75 -5
  84. data/config/locales/pt-BR.yml +10 -3
  85. data/config/locales/pt-PT.yml +1 -2
  86. data/config/locales/ro.yml +1 -2
  87. data/config/locales/ru.yml +5 -3
  88. data/config/locales/sk.yml +168 -0
  89. data/config/locales/sv-SE.yml +4 -3
  90. data/config/locales/tr.yml +10 -2
  91. data/config/locales/uk.yml +4 -3
  92. data/config/locales/vi.yml +48 -8
  93. data/config/locales/zh-CN.yml +38 -7
  94. data/config/locales/zh-TW.yml +2 -3
  95. data/docs/.gitignore +1 -0
  96. data/docs/0-installation.md +19 -13
  97. data/docs/1-general-configuration.md +37 -4
  98. data/docs/10-custom-pages.md +47 -3
  99. data/docs/11-decorators.md +4 -0
  100. data/docs/12-arbre-components.md +73 -9
  101. data/docs/13-authorization-adapter.md +72 -35
  102. data/docs/14-gotchas.md +57 -19
  103. data/docs/2-resource-customization.md +64 -20
  104. data/docs/3-index-pages/custom-index.md +5 -1
  105. data/docs/3-index-pages/index-as-block.md +3 -5
  106. data/docs/3-index-pages/index-as-blog.md +4 -6
  107. data/docs/3-index-pages/index-as-grid.md +3 -5
  108. data/docs/3-index-pages/index-as-table.md +33 -12
  109. data/docs/3-index-pages.md +65 -9
  110. data/docs/4-csv-format.md +16 -0
  111. data/docs/5-forms.md +78 -17
  112. data/docs/6-show-pages.md +5 -29
  113. data/docs/7-sidebars.md +5 -1
  114. data/docs/8-custom-actions.md +18 -1
  115. data/docs/9-batch-actions.md +8 -4
  116. data/docs/CNAME +1 -0
  117. data/docs/Gemfile +3 -0
  118. data/docs/Gemfile.lock +248 -0
  119. data/docs/_config.yml +4 -0
  120. data/docs/_includes/footer.html +8 -0
  121. data/docs/_includes/google-analytics.html +16 -0
  122. data/docs/_includes/head.html +7 -0
  123. data/docs/_includes/toc.html +98 -0
  124. data/docs/_includes/top-menu.html +17 -0
  125. data/docs/_layouts/default.html +21 -0
  126. data/docs/documentation.md +60 -0
  127. data/docs/images/activeadmin.png +0 -0
  128. data/docs/images/code-header.png +0 -0
  129. data/docs/images/divider.png +0 -0
  130. data/docs/images/features.png +0 -0
  131. data/docs/images/tidelift.svg +14 -0
  132. data/docs/index.html +226 -0
  133. data/docs/stylesheets/main.css +1205 -0
  134. data/lib/active_admin/abstract_view_factory.rb +13 -51
  135. data/lib/active_admin/application.rb +50 -140
  136. data/lib/active_admin/application_settings.rb +42 -0
  137. data/lib/active_admin/authorization_adapter.rb +0 -3
  138. data/lib/active_admin/base_controller/authorization.rb +4 -7
  139. data/lib/active_admin/base_controller/menu.rb +10 -14
  140. data/lib/active_admin/base_controller.rb +8 -14
  141. data/lib/active_admin/batch_actions/controller.rb +3 -3
  142. data/lib/active_admin/batch_actions/resource_extension.rb +9 -13
  143. data/lib/active_admin/batch_actions/views/batch_action_form.rb +1 -1
  144. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +1 -1
  145. data/lib/active_admin/batch_actions/views/selection_cells.rb +6 -5
  146. data/lib/active_admin/callbacks.rb +1 -1
  147. data/lib/active_admin/controller_action.rb +2 -1
  148. data/lib/active_admin/csv_builder.rb +15 -12
  149. data/lib/active_admin/dependency.rb +8 -76
  150. data/lib/active_admin/deprecation.rb +0 -25
  151. data/lib/active_admin/devise.rb +3 -3
  152. data/lib/active_admin/dsl.rb +3 -16
  153. data/lib/active_admin/dynamic_setting.rb +38 -0
  154. data/lib/active_admin/dynamic_settings_node.rb +28 -0
  155. data/lib/active_admin/engine.rb +5 -0
  156. data/lib/active_admin/error.rb +5 -3
  157. data/lib/active_admin/filters/active.rb +13 -14
  158. data/lib/active_admin/filters/active_filter.rb +124 -0
  159. data/lib/active_admin/filters/active_sidebar.rb +54 -0
  160. data/lib/active_admin/filters/forms.rb +6 -4
  161. data/lib/active_admin/filters/formtastic_addons.rb +2 -2
  162. data/lib/active_admin/filters/resource_extension.rb +28 -43
  163. data/lib/active_admin/filters.rb +2 -0
  164. data/lib/active_admin/form_builder.rb +100 -59
  165. data/lib/active_admin/generators/boilerplate.rb +12 -4
  166. data/lib/active_admin/helpers/collection.rb +2 -0
  167. data/lib/active_admin/helpers/scope_chain.rb +1 -0
  168. data/lib/active_admin/inputs/datepicker_input.rb +12 -5
  169. data/lib/active_admin/inputs/filters/base/search_method_select.rb +2 -2
  170. data/lib/active_admin/inputs/filters/date_range_input.rb +21 -8
  171. data/lib/active_admin/inputs/filters/select_input.rb +6 -3
  172. data/lib/active_admin/inputs/filters/text_input.rb +25 -0
  173. data/lib/active_admin/inputs.rb +1 -0
  174. data/lib/active_admin/localizers/resource_localizer.rb +35 -0
  175. data/lib/active_admin/localizers.rb +11 -0
  176. data/lib/active_admin/menu.rb +6 -12
  177. data/lib/active_admin/menu_collection.rb +0 -2
  178. data/lib/active_admin/menu_item.rb +4 -32
  179. data/lib/active_admin/namespace.rb +36 -17
  180. data/lib/active_admin/namespace_settings.rb +123 -0
  181. data/lib/active_admin/order_clause.rb +30 -8
  182. data/lib/active_admin/orm/active_record/comments/comment.rb +3 -17
  183. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +19 -7
  184. data/lib/active_admin/orm/active_record/comments.rb +17 -11
  185. data/lib/active_admin/page.rb +23 -4
  186. data/lib/active_admin/page_controller.rb +2 -6
  187. data/lib/active_admin/page_dsl.rb +5 -1
  188. data/lib/active_admin/page_presenter.rb +2 -1
  189. data/lib/active_admin/pundit_adapter.rb +18 -5
  190. data/lib/active_admin/resource/action_items.rb +17 -5
  191. data/lib/active_admin/resource/attributes.rb +47 -0
  192. data/lib/active_admin/resource/belongs_to.rb +10 -1
  193. data/lib/active_admin/resource/menu.rb +7 -4
  194. data/lib/active_admin/resource/model.rb +15 -0
  195. data/lib/active_admin/resource/naming.rb +3 -3
  196. data/lib/active_admin/resource/ordering.rb +11 -0
  197. data/lib/active_admin/resource/page_presenters.rb +1 -1
  198. data/lib/active_admin/resource/routes.rb +52 -20
  199. data/lib/active_admin/resource/scopes.rb +5 -3
  200. data/lib/active_admin/resource/sidebars.rb +1 -1
  201. data/lib/active_admin/resource.rb +59 -7
  202. data/lib/active_admin/resource_collection.rb +2 -2
  203. data/lib/active_admin/resource_controller/action_builder.rb +10 -0
  204. data/lib/active_admin/resource_controller/data_access.rb +32 -27
  205. data/lib/active_admin/resource_controller/decorators.rb +5 -5
  206. data/lib/active_admin/resource_controller/polymorphic_routes.rb +36 -0
  207. data/lib/active_admin/resource_controller/resource_class_methods.rb +2 -0
  208. data/lib/active_admin/resource_controller/scoping.rb +1 -1
  209. data/lib/active_admin/resource_controller.rb +15 -0
  210. data/lib/active_admin/resource_dsl.rb +58 -24
  211. data/lib/active_admin/router.rb +90 -82
  212. data/lib/active_admin/scope.rb +20 -12
  213. data/lib/active_admin/settings_node.rb +19 -0
  214. data/lib/active_admin/sidebar_section.rb +3 -1
  215. data/lib/active_admin/version.rb +1 -1
  216. data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -2
  217. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +2 -2
  218. data/lib/active_admin/view_helpers/display_helper.rb +28 -16
  219. data/lib/active_admin/view_helpers/download_format_links_helper.rb +13 -0
  220. data/lib/active_admin/view_helpers/fields_for.rb +1 -2
  221. data/lib/active_admin/view_helpers/form_helper.rb +2 -2
  222. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +8 -1
  223. data/lib/active_admin/view_helpers/scope_name_helper.rb +16 -0
  224. data/lib/active_admin/view_helpers.rb +2 -1
  225. data/lib/active_admin/views/action_items.rb +1 -1
  226. data/lib/active_admin/views/components/active_admin_form.rb +43 -11
  227. data/lib/active_admin/views/components/attributes_table.rb +4 -4
  228. data/lib/active_admin/views/components/columns.rb +3 -3
  229. data/lib/active_admin/views/components/dropdown_menu.rb +4 -4
  230. data/lib/active_admin/views/components/index_list.rb +4 -3
  231. data/lib/active_admin/views/components/menu.rb +32 -0
  232. data/lib/active_admin/views/components/menu_item.rb +58 -0
  233. data/lib/active_admin/views/components/paginated_collection.rb +7 -11
  234. data/lib/active_admin/views/components/scopes.rb +14 -8
  235. data/lib/active_admin/views/components/sidebar.rb +13 -0
  236. data/lib/active_admin/views/components/site_title.rb +5 -6
  237. data/lib/active_admin/views/components/status_tag.rb +11 -16
  238. data/lib/active_admin/views/components/table_for.rb +7 -16
  239. data/lib/active_admin/views/components/tabs.rb +15 -3
  240. data/lib/active_admin/views/footer.rb +14 -4
  241. data/lib/active_admin/views/header.rb +3 -16
  242. data/lib/active_admin/views/index_as_blog.rb +2 -3
  243. data/lib/active_admin/views/index_as_grid.rb +25 -25
  244. data/lib/active_admin/views/index_as_table.rb +39 -13
  245. data/lib/active_admin/views/pages/base.rb +36 -57
  246. data/lib/active_admin/views/pages/form.rb +2 -3
  247. data/lib/active_admin/views/pages/layout.rb +1 -1
  248. data/lib/active_admin/views/pages/show.rb +8 -2
  249. data/lib/active_admin/views/tabbed_navigation.rb +4 -59
  250. data/lib/active_admin/views/title_bar.rb +4 -4
  251. data/lib/active_admin/views.rb +1 -1
  252. data/lib/active_admin.rb +11 -7
  253. data/lib/generators/active_admin/assets/assets_generator.rb +2 -2
  254. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  255. data/lib/generators/active_admin/devise/devise_generator.rb +8 -5
  256. data/lib/generators/active_admin/install/install_generator.rb +7 -3
  257. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +60 -4
  258. data/lib/generators/active_admin/install/templates/{admin_user.rb.erb → admin_users.rb.erb} +1 -3
  259. data/lib/generators/active_admin/install/templates/dashboard.rb +2 -3
  260. data/lib/generators/active_admin/install/templates/migrations/{create_active_admin_comments.rb → create_active_admin_comments.rb.erb} +2 -5
  261. data/lib/generators/active_admin/page/page_generator.rb +1 -1
  262. data/lib/generators/active_admin/resource/resource_generator.rb +2 -2
  263. data/lib/generators/active_admin/resource/templates/admin.rb.erb +46 -0
  264. data/lib/ransack_ext.rb +5 -5
  265. data/vendor/assets/javascripts/jquery-ui/data.js +41 -0
  266. data/vendor/assets/javascripts/jquery-ui/disable-selection.js +48 -0
  267. data/vendor/assets/javascripts/jquery-ui/escape-selector.js +23 -0
  268. data/vendor/assets/javascripts/jquery-ui/focusable.js +86 -0
  269. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  270. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  271. data/vendor/assets/javascripts/jquery-ui/ie.js +17 -0
  272. data/vendor/assets/javascripts/jquery-ui/keycode.js +47 -0
  273. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  274. data/vendor/assets/javascripts/jquery-ui/plugin.js +46 -0
  275. data/vendor/assets/javascripts/jquery-ui/position.js +500 -0
  276. data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +42 -0
  277. data/vendor/assets/javascripts/jquery-ui/safe-blur.js +23 -0
  278. data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +47 -0
  279. data/vendor/assets/javascripts/jquery-ui/tabbable.js +38 -0
  280. data/vendor/assets/javascripts/jquery-ui/unique-id.js +51 -0
  281. data/vendor/assets/javascripts/jquery-ui/version.js +17 -0
  282. data/vendor/assets/javascripts/jquery-ui/widget.js +735 -0
  283. data/vendor/assets/javascripts/jquery-ui/widgets/button.js +391 -0
  284. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +291 -0
  285. data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +300 -0
  286. data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2123 -0
  287. data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +954 -0
  288. data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1259 -0
  289. data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +230 -0
  290. data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1207 -0
  291. data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1561 -0
  292. data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +931 -0
  293. data/vendor/assets/stylesheets/active_admin/_normalize.scss +447 -0
  294. metadata +190 -539
  295. data/.gitignore +0 -49
  296. data/.hound.yml +0 -14
  297. data/.travis.yml +0 -46
  298. data/.yardopts +0 -8
  299. data/Gemfile +0 -75
  300. data/Guardfile +0 -8
  301. data/Rakefile +0 -33
  302. data/activeadmin.gemspec +0 -31
  303. data/app/assets/images/active_admin/datepicker/datepicker-input-icon.png +0 -0
  304. data/app/assets/javascripts/active_admin/base.js.coffee +0 -9
  305. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  306. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  307. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -7
  308. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -10
  309. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -15
  310. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -3
  311. data/app/assets/javascripts/active_admin/jquery_ui.js.erb +0 -11
  312. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -39
  313. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -36
  314. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -101
  315. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  316. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  317. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
  318. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -31
  319. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -24
  320. data/app/assets/stylesheets/active_admin/mixins/_reset.scss +0 -165
  321. data/cucumber.yml +0 -3
  322. data/features/action_item.feature +0 -73
  323. data/features/authorization.feature +0 -64
  324. data/features/authorization_cancan.feature +0 -52
  325. data/features/authorization_pundit.feature +0 -37
  326. data/features/belongs_to.feature +0 -66
  327. data/features/breadcrumb.feature +0 -75
  328. data/features/comments/commenting.feature +0 -171
  329. data/features/comments/viewing_index.feature +0 -19
  330. data/features/dashboard.feature +0 -16
  331. data/features/decorators.feature +0 -43
  332. data/features/development_reloading.feature +0 -30
  333. data/features/edit_page.feature +0 -117
  334. data/features/favicon.feature +0 -20
  335. data/features/first_boot.feature +0 -16
  336. data/features/global_navigation.feature +0 -29
  337. data/features/i18n.feature +0 -43
  338. data/features/index/batch_actions.feature +0 -196
  339. data/features/index/filters.feature +0 -161
  340. data/features/index/format_as_csv.feature +0 -203
  341. data/features/index/formats.feature +0 -66
  342. data/features/index/index_as_block.feature +0 -15
  343. data/features/index/index_as_blog.feature +0 -69
  344. data/features/index/index_as_grid.feature +0 -45
  345. data/features/index/index_as_table.feature +0 -291
  346. data/features/index/index_blank_slate.feature +0 -83
  347. data/features/index/index_parameters.feature +0 -75
  348. data/features/index/index_scope_to.feature +0 -56
  349. data/features/index/index_scopes.feature +0 -251
  350. data/features/index/page_title.feature +0 -42
  351. data/features/index/pagination.feature +0 -63
  352. data/features/index/switch_index_view.feature +0 -73
  353. data/features/menu.feature +0 -53
  354. data/features/meta_tags.feature +0 -21
  355. data/features/new_page.feature +0 -109
  356. data/features/registering_assets.feature +0 -34
  357. data/features/registering_pages.feature +0 -148
  358. data/features/registering_resources.feature +0 -33
  359. data/features/renamed_resource.feature +0 -32
  360. data/features/root_to.feature +0 -17
  361. data/features/show/columns.feature +0 -40
  362. data/features/show/default_content.feature +0 -44
  363. data/features/show/page_title.feature +0 -59
  364. data/features/show/tabs.feature +0 -27
  365. data/features/sidebar_sections.feature +0 -210
  366. data/features/site_title.feature +0 -47
  367. data/features/specifying_actions.feature +0 -93
  368. data/features/step_definitions/action_item_steps.rb +0 -7
  369. data/features/step_definitions/action_link_steps.rb +0 -20
  370. data/features/step_definitions/additional_web_steps.rb +0 -81
  371. data/features/step_definitions/asset_steps.rb +0 -15
  372. data/features/step_definitions/attribute_steps.rb +0 -18
  373. data/features/step_definitions/batch_action_steps.rb +0 -81
  374. data/features/step_definitions/blog_steps.rb +0 -3
  375. data/features/step_definitions/breadcrumb_steps.rb +0 -3
  376. data/features/step_definitions/column_steps.rb +0 -8
  377. data/features/step_definitions/comment_steps.rb +0 -12
  378. data/features/step_definitions/configuration_steps.rb +0 -100
  379. data/features/step_definitions/dashboard_steps.rb +0 -15
  380. data/features/step_definitions/factory_steps.rb +0 -35
  381. data/features/step_definitions/filter_steps.rb +0 -39
  382. data/features/step_definitions/flash_steps.rb +0 -11
  383. data/features/step_definitions/format_steps.rb +0 -52
  384. data/features/step_definitions/i18n_steps.rb +0 -3
  385. data/features/step_definitions/index_scope_steps.rb +0 -21
  386. data/features/step_definitions/index_views_steps.rb +0 -3
  387. data/features/step_definitions/layout_steps.rb +0 -3
  388. data/features/step_definitions/member_link_steps.rb +0 -7
  389. data/features/step_definitions/menu_steps.rb +0 -11
  390. data/features/step_definitions/meta_tag_steps.rb +0 -3
  391. data/features/step_definitions/pagination_steps.rb +0 -15
  392. data/features/step_definitions/sidebar_steps.rb +0 -13
  393. data/features/step_definitions/site_title_steps.rb +0 -17
  394. data/features/step_definitions/symbol_leak_steps.rb +0 -3
  395. data/features/step_definitions/tab_steps.rb +0 -8
  396. data/features/step_definitions/table_steps.rb +0 -120
  397. data/features/step_definitions/user_steps.rb +0 -45
  398. data/features/step_definitions/web_steps.rb +0 -85
  399. data/features/sti_resource.feature +0 -65
  400. data/features/strong_parameters.feature +0 -73
  401. data/features/support/env.rb +0 -162
  402. data/features/support/paths.rb +0 -71
  403. data/features/support/selectors.rb +0 -45
  404. data/features/symbol_leak.feature +0 -35
  405. data/features/users/logging_in.feature +0 -34
  406. data/features/users/logging_out.feature +0 -13
  407. data/features/users/resetting_password.feature +0 -34
  408. data/lib/active_admin/event.rb +0 -24
  409. data/lib/active_admin/filters/humanized.rb +0 -68
  410. data/lib/active_admin/helpers/settings.rb +0 -115
  411. data/lib/active_admin/reloader.rb +0 -25
  412. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  413. data/lib/generators/active_admin/resource/templates/admin.rb +0 -45
  414. data/script/local +0 -53
  415. data/script/travis_cache +0 -107
  416. data/script/use_rails +0 -53
  417. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  418. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  419. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  420. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  421. data/spec/javascripts/fixtures/flashes.html +0 -2
  422. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  423. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  424. data/spec/javascripts/support/jasmine.yml +0 -74
  425. data/spec/javascripts/support/jasmine_config.rb +0 -23
  426. data/spec/javascripts/support/jasmine_runner.rb +0 -32
  427. data/spec/rails_helper.rb +0 -169
  428. data/spec/requests/default_namespace_spec.rb +0 -61
  429. data/spec/requests/javascript_spec.rb +0 -22
  430. data/spec/requests/memory_spec.rb +0 -21
  431. data/spec/requests/stylesheets_spec.rb +0 -18
  432. data/spec/spec_helper.rb +0 -17
  433. data/spec/support/active_admin_request_helpers.rb +0 -27
  434. data/spec/support/deferred_garbage_collection.rb +0 -19
  435. data/spec/support/detect_rails_version.rb +0 -34
  436. data/spec/support/jslint.yml +0 -80
  437. data/spec/support/rails_template.rb +0 -158
  438. data/spec/support/rails_template_with_data.rb +0 -55
  439. data/spec/support/templates/admin/stores.rb +0 -9
  440. data/spec/support/templates/en.yml +0 -8
  441. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  442. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  443. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  444. data/spec/support/templates/policies/application_policy.rb +0 -45
  445. data/spec/support/templates/policies/category_policy.rb +0 -7
  446. data/spec/support/templates/policies/post_policy.rb +0 -15
  447. data/spec/support/templates/policies/store_policy.rb +0 -11
  448. data/spec/support/templates/policies/user_policy.rb +0 -11
  449. data/spec/support/templates/post_decorator.rb +0 -11
  450. data/spec/unit/abstract_view_factory_spec.rb +0 -79
  451. data/spec/unit/action_builder_spec.rb +0 -134
  452. data/spec/unit/active_admin_spec.rb +0 -11
  453. data/spec/unit/application_spec.rb +0 -165
  454. data/spec/unit/asset_registration_spec.rb +0 -52
  455. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  456. data/spec/unit/authorization/controller_authorization_spec.rb +0 -39
  457. data/spec/unit/authorization/index_overriding_spec.rb +0 -23
  458. data/spec/unit/auto_link_spec.rb +0 -69
  459. data/spec/unit/batch_actions/resource_spec.rb +0 -97
  460. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  461. data/spec/unit/belongs_to_spec.rb +0 -65
  462. data/spec/unit/cancan_adapter_spec.rb +0 -43
  463. data/spec/unit/comments_spec.rb +0 -188
  464. data/spec/unit/component_spec.rb +0 -18
  465. data/spec/unit/config_shared_examples.rb +0 -59
  466. data/spec/unit/controller_filters_spec.rb +0 -41
  467. data/spec/unit/csv_builder_spec.rb +0 -303
  468. data/spec/unit/dependency_spec.rb +0 -135
  469. data/spec/unit/devise_spec.rb +0 -96
  470. data/spec/unit/dsl_spec.rb +0 -122
  471. data/spec/unit/filters/filter_form_builder_spec.rb +0 -434
  472. data/spec/unit/filters/humanized_spec.rb +0 -56
  473. data/spec/unit/filters/resource_spec.rb +0 -128
  474. data/spec/unit/form_builder_spec.rb +0 -815
  475. data/spec/unit/generators/install_spec.rb +0 -24
  476. data/spec/unit/helpers/collection_spec.rb +0 -65
  477. data/spec/unit/helpers/scope_chain_spec.rb +0 -36
  478. data/spec/unit/helpers/settings_spec.rb +0 -30
  479. data/spec/unit/i18n_spec.rb +0 -12
  480. data/spec/unit/menu_collection_spec.rb +0 -62
  481. data/spec/unit/menu_item_spec.rb +0 -143
  482. data/spec/unit/menu_spec.rb +0 -71
  483. data/spec/unit/namespace/authorization_spec.rb +0 -27
  484. data/spec/unit/namespace/register_page_spec.rb +0 -73
  485. data/spec/unit/namespace/register_resource_spec.rb +0 -160
  486. data/spec/unit/namespace_spec.rb +0 -103
  487. data/spec/unit/order_clause_spec.rb +0 -81
  488. data/spec/unit/page_controller_spec.rb +0 -5
  489. data/spec/unit/page_spec.rb +0 -78
  490. data/spec/unit/pretty_format_spec.rb +0 -77
  491. data/spec/unit/pundit_adapter_spec.rb +0 -98
  492. data/spec/unit/resource/action_items_spec.rb +0 -65
  493. data/spec/unit/resource/includes_spec.rb +0 -21
  494. data/spec/unit/resource/menu_spec.rb +0 -18
  495. data/spec/unit/resource/naming_spec.rb +0 -122
  496. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  497. data/spec/unit/resource/pagination_spec.rb +0 -38
  498. data/spec/unit/resource/routes_spec.rb +0 -77
  499. data/spec/unit/resource/scopes_spec.rb +0 -50
  500. data/spec/unit/resource/sidebars_spec.rb +0 -43
  501. data/spec/unit/resource_collection_spec.rb +0 -175
  502. data/spec/unit/resource_controller/data_access_spec.rb +0 -140
  503. data/spec/unit/resource_controller/decorators_spec.rb +0 -94
  504. data/spec/unit/resource_controller/sidebars_spec.rb +0 -38
  505. data/spec/unit/resource_controller_spec.rb +0 -269
  506. data/spec/unit/resource_registration_spec.rb +0 -56
  507. data/spec/unit/resource_spec.rb +0 -331
  508. data/spec/unit/routing_spec.rb +0 -185
  509. data/spec/unit/scope_spec.rb +0 -185
  510. data/spec/unit/settings_spec.rb +0 -118
  511. data/spec/unit/view_factory_spec.rb +0 -19
  512. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -217
  513. data/spec/unit/view_helpers/display_helper_spec.rb +0 -165
  514. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  515. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  516. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -25
  517. data/spec/unit/view_helpers/form_helper_spec.rb +0 -43
  518. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -139
  519. data/spec/unit/views/components/attributes_table_spec.rb +0 -272
  520. data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
  521. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  522. data/spec/unit/views/components/columns_spec.rb +0 -189
  523. data/spec/unit/views/components/index_list_spec.rb +0 -35
  524. data/spec/unit/views/components/index_table_for_spec.rb +0 -127
  525. data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
  526. data/spec/unit/views/components/panel_spec.rb +0 -58
  527. data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
  528. data/spec/unit/views/components/site_title_spec.rb +0 -78
  529. data/spec/unit/views/components/status_tag_spec.rb +0 -249
  530. data/spec/unit/views/components/table_for_spec.rb +0 -434
  531. data/spec/unit/views/components/tabs_spec.rb +0 -39
  532. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
  533. data/spec/unit/views/index_as_blog_spec.rb +0 -76
  534. data/spec/unit/views/pages/form_spec.rb +0 -51
  535. data/spec/unit/views/pages/index_spec.rb +0 -60
  536. data/spec/unit/views/pages/layout_spec.rb +0 -59
  537. data/spec/unit/views/pages/show_spec.rb +0 -33
  538. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  539. data/tasks/docs.rake +0 -37
  540. data/tasks/parallel_tests.rake +0 -66
  541. data/tasks/test.rake +0 -91
  542. data/tasks/yard.rake +0 -9
data/CODE_OF_CONDUCT.md CHANGED
@@ -1,22 +1,74 @@
1
- # Contributor Code of Conduct
1
+ # Contributor Covenant Code of Conduct
2
2
 
3
- As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
3
+ ## Our Pledge
4
4
 
5
- We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, sex characteristics, gender identity and expression,
9
+ level of experience, education, socio-economic status, nationality, personal
10
+ appearance, race, religion, or sexual identity and orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
6
22
 
7
23
  Examples of unacceptable behavior by participants include:
8
24
 
9
- * The use of sexualized language or imagery
10
- * Personal attacks
11
- * Trolling or insulting/derogatory comments
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
12
28
  * Public or private harassment
13
- * Publishing other's private information, such as physical or electronic addresses, without explicit permission
14
- * Other unethical or unprofessional conduct.
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting one or more of the project maintainers. All complaints
59
+ will be reviewed and investigated and will result in a response that is deemed
60
+ necessary and appropriate to the circumstances. The project team is obligated to
61
+ maintain confidentiality with regard to the reporter of an incident. Further
62
+ details of specific enforcement policies may be posted separately.
15
63
 
16
- Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team.
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
17
67
 
18
- This code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.
68
+ ## Attribution
19
69
 
20
- Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
70
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+ available [here][source].
21
72
 
22
- This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0, available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/)
73
+ [homepage]: https://www.contributor-covenant.org
74
+ [source]: https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
data/CONTRIBUTING.md CHANGED
@@ -3,20 +3,17 @@
3
3
  First off, thank you for considering contributing to Active Admin. It's people
4
4
  like you that make Active Admin such a great tool.
5
5
 
6
- ### 1. Where do I go from here?
6
+ ### Where do I go from here?
7
7
 
8
8
  If you've noticed a bug or have a question that doesn't belong on the
9
- [mailing list](http://groups.google.com/group/activeadmin) or
10
- [Stack Overflow](http://stackoverflow.com/questions/tagged/activeadmin),
11
- [search the issue tracker](https://github.com/activeadmin/activeadmin/issues?q=something)
12
- to see if someone else in the community has already created a ticket.
13
- If not, go ahead and [make one](https://github.com/activeadmin/activeadmin/issues/new)!
9
+ [mailing list][] or [Stack Overflow][], [search the issue tracker][] to see if
10
+ someone else in the community has already created a ticket. If not, go ahead and
11
+ [make one][new issue]!
14
12
 
15
- ### 2. Fork & create a branch
13
+ ### Fork & create a branch
16
14
 
17
- If this is something you think you can fix, then
18
- [fork Active Admin](https://help.github.com/articles/fork-a-repo)
19
- and create a branch with a descriptive name.
15
+ If this is something you think you can fix, then [fork Active Admin][] and
16
+ create a branch with a descriptive name.
20
17
 
21
18
  A good branch name would be (where issue #325 is the ticket you're working on):
22
19
 
@@ -24,9 +21,14 @@ A good branch name would be (where issue #325 is the ticket you're working on):
24
21
  git checkout -b 325-add-japanese-translations
25
22
  ```
26
23
 
27
- ### 3. Get the test suite running
24
+ ### Get the test suite running
28
25
 
29
- Install the development dependencies:
26
+ Make sure you're using a recent ruby and have the `bundler` gem installed, at
27
+ least version `1.14.3`.
28
+
29
+ You'll also need chrome installed in order to run cucumber scenarios.
30
+
31
+ Now install the development dependencies:
30
32
 
31
33
  ```sh
32
34
  bundle install
@@ -35,23 +37,52 @@ bundle install
35
37
  Now you should be able to run the entire suite using:
36
38
 
37
39
  ```sh
38
- rake test
40
+ bin/rake
39
41
  ```
40
42
 
41
- Which will generate a rails application in `spec/rails` to run the tests against.
43
+ The test run will generate a sample Rails application in `tmp/test_apps` to run the
44
+ tests against.
45
+
46
+ If your tests are passing locally but they're failing on CircleCI, it's probably
47
+ because of some breaking change or problem with the latest version of some
48
+ dependency. You should be able to reproduce the issue locally by:
49
+
50
+ * Removing the `Gemfile.lock` file.
51
+ * Running `bundle install`.
52
+ * Re-running the tests again like you did previously.
53
+
54
+ This is not your fault though, so if this happens feel free to investigate, but
55
+ also feel free to ping maintainers about the issue you just found.
42
56
 
43
- If your tests are passing locally but they're failing on Travis, reset your test environment:
57
+ If you want to test against a Rails version different from the latest, make sure
58
+ you use the correct Gemfile, for example:
44
59
 
45
60
  ```sh
46
- rm -rf spec/rails && bundle update
61
+ export BUNDLE_GEMFILE=gemfiles/rails_51.gemfile
47
62
  ```
48
63
 
49
- ### 4. Implement your fix or feature
64
+ ### Did you find a bug?
65
+
66
+ * **Ensure the bug was not already reported** by [searching all issues][].
67
+
68
+ * If you're unable to find an open issue addressing the problem,
69
+ [open a new one][new issue]. Be sure to include a **title and clear
70
+ description**, as much relevant information as possible, and a **code sample**
71
+ or an **executable test case** demonstrating the expected behavior that is not
72
+ occurring.
73
+
74
+ * If possible, use the relevant bug report templates to create the issue.
75
+ Simply copy the content of the appropriate template into a .rb file, make the
76
+ necessary changes to demonstrate the issue, and **paste the content into the
77
+ issue description**:
78
+ * [**ActiveAdmin** master issues][master template]
79
+
80
+ ### 5. Implement your fix or feature
50
81
 
51
82
  At this point, you're ready to make your changes! Feel free to ask for help;
52
83
  everyone is a beginner at first :smile_cat:
53
84
 
54
- ### 5. View your changes in a Rails application
85
+ ### 6. View your changes in a Rails application
55
86
 
56
87
  Active Admin is meant to be used by humans, not cucumbers. So make sure to take
57
88
  a look at your changes in a browser.
@@ -59,54 +90,40 @@ a look at your changes in a browser.
59
90
  To boot up a test Rails app:
60
91
 
61
92
  ```sh
62
- script/local server
63
- ```
64
-
65
- This will automatically create a Rails app if none already exists, and store it in the
66
- `.test-rails-apps` folder. The currently active app is symlinked to `test-rails-app`.
67
-
68
- If you have any Bundler issues, call the `use_rails` script then prepend
69
- the version of rails you would like to use in an environment variable:
70
-
71
- ```sh
72
- script/use_rails 4.0.0
73
- RAILS=4.0.0 script/local server
93
+ bin/rake local server
74
94
  ```
75
95
 
76
- You should now be able to open <http://localhost:3000/admin> in your browser. You can log in using:
96
+ This will automatically create a Rails app if none already exists, and store it
97
+ in the `tmp/development_apps` folder.
77
98
 
78
- User: admin@example.com
79
- Password: password
99
+ You should now be able to open <http://localhost:3000/admin> in your browser.
100
+ You can log in using:
80
101
 
81
- If you need to perform any other commands on the test application, use the
82
- `local` script. For example:
102
+ *User*: admin@example.com
103
+ *Password*: password
83
104
 
84
- To boot the rails console:
105
+ If you need to perform any other commands on the test application, just pass
106
+ them to the `local` rake task. For example, to boot the rails console:
85
107
 
86
108
  ```sh
87
- script/local console
109
+ bin/rake local console
88
110
  ```
89
111
 
90
- Or to migrate the database:
112
+ Or to migrate the database, if you create a new migration or just play around
113
+ with the db:
91
114
 
92
115
  ```sh
93
- script/local rake db:migrate
116
+ bin/rake local db:migrate
94
117
  ```
95
118
 
96
- ### 6. Run tests against major supported rails versions
97
-
98
- Once you've implemented your code, got the tests passing, previewed it in a
99
- browser, you're ready to test it against multiple versions of Rails.
119
+ ### Get the style right
100
120
 
101
- ```sh
102
- rake test:major_supported_rails
103
- ```
104
-
105
- This runs our test suite against a couple of major versions of Rails.
106
- Travis does essentially the same thing when you open a Pull Request.
107
- We care about quality, so your PR won't be merged until all tests pass.
121
+ Your patch should follow the same conventions & pass the same code quality
122
+ checks as the rest of the project. `bin/rake lint` will give you feedback in
123
+ this regard. You can check & fix style issues by running each linter
124
+ individually. Run `bin/rake -T lint` to see the available linters.
108
125
 
109
- ### 7. Make a Pull Request
126
+ ### Make a Pull Request
110
127
 
111
128
  At this point, you should switch back to your master branch and make sure it's
112
129
  up to date with Active Admin's master branch:
@@ -125,20 +142,74 @@ git rebase master
125
142
  git push --set-upstream origin 325-add-japanese-translations
126
143
  ```
127
144
 
128
- Finally, go to GitHub and [make a Pull Request](https://help.github.com/articles/creating-a-pull-request) :D
145
+ Finally, go to GitHub and [make a Pull Request][] :D
129
146
 
130
- ### 8. Keeping your Pull Request updated
147
+ CircleCI will run our test suite against all supported Rails versions. We care
148
+ about quality, so your PR won't be merged until all tests pass. It's unlikely,
149
+ but it's possible that your changes pass tests in one Rails version but fail in
150
+ another. In that case, you'll have to setup your development environment (as
151
+ explained in step 3) to use the problematic Rails version, and investigate
152
+ what's going on!
153
+
154
+ ### Keeping your Pull Request updated
131
155
 
132
156
  If a maintainer asks you to "rebase" your PR, they're saying that a lot of code
133
157
  has changed, and that you need to update your branch so it's easier to merge.
134
158
 
135
- To learn more about rebasing in Git, there are a lot of
136
- [good](http://git-scm.com/book/en/Git-Branching-Rebasing)
137
- [resources](https://help.github.com/articles/interactive-rebase),
138
- but here's the suggested workflow:
159
+ To learn more about rebasing in Git, there are a lot of [good][git rebasing]
160
+ [resources][interactive rebase] but here's the suggested workflow:
139
161
 
140
162
  ```sh
141
163
  git checkout 325-add-japanese-translations
142
164
  git pull --rebase upstream master
143
- git push -f 325-add-japanese-translations
165
+ git push --force-with-lease 325-add-japanese-translations
144
166
  ```
167
+
168
+ ### Merging a PR (maintainers only)
169
+
170
+ A PR can only be merged into master by a maintainer if:
171
+
172
+ * It is passing CI.
173
+ * It has been approved by at least two maintainers. If it was a maintainer who
174
+ opened the PR, only one extra approval is needed.
175
+ * It has no requested changes.
176
+ * It is up to date with current master.
177
+
178
+ Any maintainer is allowed to merge a PR if all of these conditions are
179
+ met.
180
+
181
+ ### Shipping a release (maintainers only)
182
+
183
+ Maintainers need to do the following to push out a release:
184
+
185
+ * Make sure all pull requests are in and that changelog is current
186
+ * Update `version.rb` file and changelog with new version number
187
+ * If it's not a patch level release, create a stable branch for that release,
188
+ otherwise switch to the stable branch corresponding to the patch release you
189
+ want to ship:
190
+
191
+ ```sh
192
+ git checkout master
193
+ git fetch activeadmin
194
+ git rebase activeadmin/master
195
+ # If the release is 2.1.x then this should be: 2-1-stable
196
+ git checkout -b N-N-stable
197
+ git push activeadmin N-N-stable:N-N-stable
198
+ ```
199
+
200
+ * Make sure you have [chandler] properly configured. Chandler is used to
201
+ automatically submit github release notes from the changelog right after
202
+ pushing the gem to rubygems.
203
+ * `bin/rake release`
204
+
205
+ [chandler]: https://github.com/mattbrictson/chandler#2-configure-credentials
206
+ [mailing list]: http://groups.google.com/group/activeadmin
207
+ [Stack Overflow]: http://stackoverflow.com/questions/tagged/activeadmin
208
+ [search the issue tracker]: https://github.com/activeadmin/activeadmin/issues?q=something
209
+ [new issue]: https://github.com/activeadmin/activeadmin/issues/new
210
+ [fork Active Admin]: https://help.github.com/articles/fork-a-repo
211
+ [searching all issues]: https://github.com/activeadmin/activeadmin/issues?q=
212
+ [master template]: https://github.com/activeadmin/activeadmin/blob/master/tasks/bug_report_template.rb
213
+ [make a pull request]: https://help.github.com/articles/creating-a-pull-request
214
+ [git rebasing]: http://git-scm.com/book/en/Git-Branching-Rebasing
215
+ [interactive rebase]: https://help.github.com/articles/interactive-rebase
data/README.md CHANGED
@@ -1,99 +1,58 @@
1
1
  # Active Admin
2
2
 
3
- Active Admin is a Ruby on Rails framework for creating elegant backends for website administration.
3
+ [Active Admin](https://activeadmin.info) is a Ruby on Rails framework for
4
+ creating elegant backends for website administration.
4
5
 
5
- [![Version ](http://img.shields.io/gem/v/activeadmin.svg) ](https://rubygems.org/gems/activeadmin)
6
- [![Travis CI ](http://img.shields.io/travis/activeadmin/activeadmin/master.svg) ](https://travis-ci.org/activeadmin/activeadmin)
7
- [![Quality ](http://img.shields.io/codeclimate/github/activeadmin/activeadmin.svg) ](https://codeclimate.com/github/activeadmin/activeadmin)
8
- [![Coverage ](http://img.shields.io/coveralls/activeadmin/activeadmin.svg) ](https://coveralls.io/r/activeadmin/activeadmin)
9
- [![Inch CI ](http://inch-ci.org/github/activeadmin/activeadmin.svg?branch=master) ](http://inch-ci.org/github/activeadmin/activeadmin)
6
+ [![Version ][rubygems_badge]][rubygems]
7
+ [![Circle CI ][circle_badge]][circle]
8
+ [![Coverage ][coverage_badge]][coverage]
9
+ [![Tidelift ][tidelift_badge]][tidelift]
10
+ [![Inch CI ][inch_badge]][inch]
10
11
 
11
- ## State of the project
12
-
13
- ### 1.0.0
14
-
15
- We're [currently working on 1.0.0](https://github.com/activeadmin/activeadmin/issues?milestone=18),
16
- which as far as dependencies, moves us from meta_search to Ransack and adds Rails 4 & 5 support.
17
-
18
- You can get it by tracking master:
19
- ```ruby
20
- gem 'activeadmin', github: 'activeadmin'
21
- ```
22
-
23
- Or you can using rubygems:
24
- ```ruby
25
- gem 'activeadmin', '~> 1.0.0.pre4'
26
- ```
27
-
28
- *Keep in mind that during the time where we use `pre`-release label, things can break in each release!*
29
-
30
- ### Rails 5
31
-
32
- Active Admin master has preliminary support for Rails 5. To give it a try, these Gemfile changes may be needed:
33
-
34
- ```ruby
35
- gem 'devise', '> 4.x'
36
- gem 'rspec-rails', '>= 3.5.0.beta1'
37
- gem 'ransack', github: 'activerecord-hackery/ransack'
38
- gem 'kaminari', github: 'amatsuda/kaminari', branch: '0-17-stable'
39
- gem 'formtastic', github: 'justinfrench/formtastic'
40
- gem 'draper', github: 'audionerd/draper', branch: 'rails5', ref: 'e816e0e587'
41
- # To fix a Draper deprecation error
42
- gem 'activemodel-serializers-xml', github: 'rails/activemodel-serializers-xml'
43
- # Optional -- only if you already include these gems
44
- gem 'rack-mini-profiler', github: 'MiniProfiler/rack-mini-profiler'
45
- gem 'database_cleaner', github: 'pschambacher/database_cleaner', branch: 'rails5.0', ref: '8dd9fa4'
46
- # Only for JRuby:
47
- gem 'activerecord-jdbc-adapter', github: 'jruby/activerecord-jdbc-adapter', platforms: :jruby
48
- ```
49
-
50
- If something isn't working for you please report it on [#4177](https://github.com/activeadmin/activeadmin/issues/4177).
12
+ ## Goals
51
13
 
52
- ### 0.6.x
14
+ * Enable developers to quickly create good-looking administration interfaces.
15
+ * Build a DSL for developers and an interface for businesses.
16
+ * Ensure that developers can easily customize every nook and cranny.
53
17
 
54
- The plan is to follow [semantic versioning](http://semver.org/) as of 1.0.0. The 0.6.x line will
55
- still be maintained, and we will backport bug fixes into future 0.6.x releases. If you don't want
56
- to have to wait for a release, you can track the branch instead:
18
+ ## Getting started
57
19
 
58
- ```ruby
59
- gem 'activeadmin', github: 'activeadmin', branch: '0-6-stable'
60
- ```
20
+ * Check out [the docs][docs].
21
+ * Try the [live demo][demo].
22
+ * The [wiki] includes links to tutorials, articles and sample projects.
61
23
 
62
- ## Documentation
24
+ ## For enterprise
63
25
 
64
- Please note that <http://activeadmin.info> is out of date. For the latest docs, check out the
65
- Github [docs](https://github.com/activeadmin/activeadmin/tree/master/docs#activeadmin-documentation) and the [wiki](https://github.com/activeadmin/activeadmin/wiki).
26
+ Active Admin for enterprise is available via the Tidelift subscription. [Learn
27
+ More][tidelift_enterprise].
66
28
 
67
- ## Links
29
+ ## Need help?
68
30
 
69
- * Website: <http://www.activeadmin.info> (out of date)
70
- * Live demo: <http://demo.activeadmin.info/admin>
71
- * Documentation
72
- * Guides: <https://github.com/activeadmin/activeadmin/tree/master/docs>
73
- * YARD: <http://rubydoc.info/gems/activeadmin>
74
- * Wiki: <https://github.com/activeadmin/activeadmin/wiki>
31
+ Please use [StackOverflow][stackoverflow] for help requests and how-to questions.
75
32
 
76
- ## Goals
33
+ Please open GitHub issues for bugs and enhancements only, not general help requests.
34
+ Please search previous issues (and Google and StackOverflow) before creating a new issue.
77
35
 
78
- 1. Enable developers to quickly create good-looking administration interfaces.
79
- 2. Build a DSL for developers and an interface for businesses.
80
- 3. Ensure that developers can easily customize every nook and cranny.
36
+ Google Groups, IRC #activeadmin and Gitter are not actively monitored.
81
37
 
82
- ## Getting started
38
+ ## Want to contribute?
83
39
 
84
- Check out [the docs](https://github.com/activeadmin/activeadmin/blob/master/docs/0-installation.md)!
40
+ If you want to contribute through code or documentation, the [Contributing
41
+ guide is the best place to start][contributing]. If you have questions, feel free
42
+ to ask.
85
43
 
86
- ## Need help?
44
+ ## Want to support us?
87
45
 
88
- Ask us in IRC ([#activeadmin](https://webchat.freenode.net/?channels=activeadmin)), on the
89
- [mailing list](http://groups.google.com/group/activeadmin), or on
90
- [Stack Overflow](http://stackoverflow.com/questions/tagged/activeadmin).
46
+ If you want to support us financially, you can [help fund the project
47
+ through a Tidelift subscription][tidelift_support]. By buying a Tidelift subscription
48
+ you make sure your whole dependency stack is properly maintained, while also
49
+ getting a comprehensive view of outdated dependencies, new releases, security
50
+ alerts, and licensing compatibility issues.
91
51
 
92
- ## Want to contribute?
52
+ You can also support us with a weekly tip via [Liberapay].
93
53
 
94
- The [contributing guide](https://github.com/activeadmin/activeadmin/blob/master/CONTRIBUTING.md)
95
- is a good place to start. If you have questions, feel free to ask
96
- [@seanlinsley](https://twitter.com/seanlinsley) or [@captainhagbard](https://twitter.com/captainhagbard).
54
+ Finally, we have an [Open Collective][opencollective page] where you can become a backer or
55
+ sponsor for the project, and also submit expenses to it.
97
56
 
98
57
  ## Dependencies
99
58
 
@@ -108,9 +67,51 @@ Tool | Description
108
67
  [Kaminari] | Elegant pagination for any sort of collection
109
68
  [Ransack] | Provides a simple search API to query your data
110
69
 
70
+ ## Security contact information
71
+
72
+ Please use the Tidelift security contact to [report a security vulnerability][Tidelift security contact].
73
+ Tidelift will coordinate the fix and disclosure.
74
+
75
+ ## Acknowledgements
76
+
77
+ Thanks to [Greg Bell][Greg] for creating and sharing this project with the open source community.
78
+
79
+ Thanks to [all the people that ever contributed through code][contributors] or
80
+ other means such as bug reports, issue triaging, feature suggestions, code
81
+ snippet tips, Slack discussions and so on.
82
+
83
+ Thanks to [Tidelift][tidelift] and all our Tidelift subscribers.
84
+
85
+ Thanks to [Open Collective][opencollective contributors] and all our Open Collective contributors.
86
+
111
87
  [Arbre]: https://github.com/activeadmin/arbre
112
88
  [Devise]: https://github.com/plataformatec/devise
113
89
  [Formtastic]: https://github.com/justinfrench/formtastic
114
- [Inherited Resources]: https://github.com/josevalim/inherited_resources
115
- [Kaminari]: https://github.com/amatsuda/kaminari
90
+ [Inherited Resources]: https://github.com/activeadmin/inherited_resources
91
+ [Kaminari]: https://github.com/kaminari/kaminari
116
92
  [Ransack]: https://github.com/activerecord-hackery/ransack
93
+
94
+ [rubygems_badge]: http://img.shields.io/gem/v/activeadmin.svg
95
+ [rubygems]: https://rubygems.org/gems/activeadmin
96
+ [circle_badge]: https://circleci.com/gh/activeadmin/activeadmin/tree/master.svg
97
+ [circle]: https://circleci.com/gh/activeadmin/activeadmin/tree/master
98
+ [coverage_badge]: https://api.codeclimate.com/v1/badges/779e407d22bacff19733/test_coverage
99
+ [coverage]: https://codeclimate.com/github/activeadmin/activeadmin/test_coverage
100
+ [inch_badge]: http://inch-ci.org/github/activeadmin/activeadmin.svg?branch=master
101
+ [inch]: http://inch-ci.org/github/activeadmin/activeadmin
102
+ [tidelift_badge]: https://tidelift.com/badges/github/activeadmin/activeadmin
103
+ [tidelift]: https://tidelift.com/subscription/pkg/rubygems-activeadmin?utm_source=rubygems-activeadmin&utm_medium=readme
104
+ [tidelift_enterprise]: https://tidelift.com/subscription/pkg/rubygems-activeadmin?utm_source=rubygems-activeadmin&utm_medium=referral&utm_campaign=github&utm_content=enterprise
105
+ [tidelift_support]: https://tidelift.com/subscription/pkg/rubygems-activeadmin?utm_source=rubygems-activeadmin&utm_medium=referral&utm_campaign=github&utm_content=support
106
+
107
+ [docs]: http://activeadmin.info/0-installation.html
108
+ [demo]: http://demo.activeadmin.info/admin
109
+ [wiki]: https://github.com/activeadmin/activeadmin/wiki
110
+ [stackoverflow]: http://stackoverflow.com/questions/tagged/activeadmin
111
+ [contributing]: https://github.com/activeadmin/activeadmin/blob/master/CONTRIBUTING.md
112
+ [Liberapay]: https://liberapay.com/Active-Admin/donate
113
+ [Tidelift security contact]: https://tidelift.com/security
114
+ [Greg]: https://github.com/gregbell
115
+ [contributors]: https://github.com/activeadmin/activeadmin/graphs/contributors
116
+ [opencollective page]: https://opencollective.com/activeadmin
117
+ [opencollective contributors]: https://opencollective.com/activeadmin#contributors
@@ -0,0 +1,23 @@
1
+ //= require jquery3
2
+ //= require jquery-ui/widgets/datepicker
3
+ //= require jquery-ui/widgets/dialog
4
+ //= require jquery-ui/widgets/sortable
5
+ //= require jquery-ui/widgets/tabs
6
+ //= require jquery-ui/widget
7
+ //= require jquery_ujs
8
+ //= require_self
9
+ //= require ./ext/jquery
10
+ //= require ./ext/jquery-ui
11
+ //= require ./lib/active_admin
12
+ //= require ./lib/batch_actions
13
+ //= require ./lib/dropdown-menu
14
+ //= require ./lib/has_many
15
+ //= require ./lib/modal_dialog
16
+ //= require ./lib/per_page
17
+ //= require ./lib/checkbox-toggler
18
+ //= require ./lib/table-checkbox-toggler
19
+ //= require ./initializers/datepicker
20
+ //= require ./initializers/filters
21
+ //= require ./initializers/tabs
22
+
23
+ window.ActiveAdmin = {}
@@ -0,0 +1,7 @@
1
+ // Short-circuits `_focusTabbable` to focus on the modal itself instead of
2
+ // elements inside the modal. Without this, if a datepicker is the first input,
3
+ // it'll immediately pop up when the modal opens.
4
+ // See this ticket for more info: http://bugs.jqueryui.com/ticket/4731
5
+ $.ui.dialog.prototype._focusTabbable = function() {
6
+ this.uiDialog.focus();
7
+ };
@@ -0,0 +1,9 @@
1
+ // `serializeArray` generates => [{ name: 'foo', value: 'bar' }]
2
+ // This function remaps it to => { foo: 'bar' }
3
+ $.fn.serializeObject = function() {
4
+ return this.serializeArray()
5
+ .reduce((obj, item) => {
6
+ obj[item.name] = item.value
7
+ return obj
8
+ }, {});
9
+ };
@@ -0,0 +1,16 @@
1
+ (($) => {
2
+
3
+ $(document)
4
+ .on('focus', 'input.datepicker:not(.hasDatepicker)', function() {
5
+ const input = $(this);
6
+
7
+ // Only create datepickers in compatible browsers
8
+ if (input[0].type === 'date') { return; }
9
+
10
+ const defaults = { dateFormat: 'yy-mm-dd' };
11
+ const options = input.data('datepicker-options');
12
+
13
+ input.datepicker($.extend(defaults, options));
14
+ });
15
+
16
+ })(jQuery);
@@ -0,0 +1,45 @@
1
+ (($, ActiveAdmin) => {
2
+
3
+ class Filters {
4
+
5
+ static _clearForm(event) {
6
+ const regex = /^(q\[|q%5B|q%5b|page|utf8|commit)/;
7
+ const params = ActiveAdmin
8
+ .queryStringToParams()
9
+ .filter(({name}) => !name.match(regex));
10
+
11
+ event.preventDefault();
12
+
13
+ if (ActiveAdmin.turbolinks) {
14
+ ActiveAdmin.turbolinksVisit(params);
15
+ } else {
16
+ window.location.search = ActiveAdmin.toQueryString(params);
17
+ }
18
+ }
19
+
20
+ static _disableEmptyInputFields(event) {
21
+ const params = $(this)
22
+ .find(':input')
23
+ .filter((i, input) => input.value === '')
24
+ .prop({ disabled: true })
25
+ .end()
26
+ .serializeArray();
27
+
28
+ if (ActiveAdmin.turbolinks) {
29
+ event.preventDefault();
30
+ ActiveAdmin.turbolinksVisit(params);
31
+ }
32
+ }
33
+
34
+ static _setSearchType() {
35
+ $(this).siblings('input').prop({name: `q[${this.value}]`});
36
+ }
37
+
38
+ }
39
+
40
+ $(document).
41
+ on('click', '.clear_filters_btn', Filters._clearForm).
42
+ on('submit', '.filter_form', Filters._disableEmptyInputFields).
43
+ on('change', '.filter_form_field.select_and_search select', Filters._setSearchType);
44
+
45
+ })(jQuery, window.activeadmin);
@@ -0,0 +1,6 @@
1
+ let onDOMReady = () =>
2
+ $('#active_admin_content .tabs').tabs()
3
+
4
+ $(document).
5
+ ready(onDOMReady).
6
+ on('page:load turbolinks:load', onDOMReady)