activeadmin 1.0.0.pre4 → 2.4.0

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

Potentially problematic release.


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

Files changed (542) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +529 -52
  3. data/CODE_OF_CONDUCT.md +64 -12
  4. data/CONTRIBUTING.md +129 -58
  5. data/README.md +80 -79
  6. data/app/assets/javascripts/active_admin/base.es6 +23 -0
  7. data/app/assets/javascripts/active_admin/ext/jquery-ui.es6 +7 -0
  8. data/app/assets/javascripts/active_admin/ext/jquery.es6 +9 -0
  9. data/app/assets/javascripts/active_admin/initializers/datepicker.es6 +16 -0
  10. data/app/assets/javascripts/active_admin/initializers/filters.es6 +45 -0
  11. data/app/assets/javascripts/active_admin/initializers/tabs.es6 +6 -0
  12. data/app/assets/javascripts/active_admin/lib/active_admin.es6 +41 -0
  13. data/app/assets/javascripts/active_admin/lib/batch_actions.es6 +59 -0
  14. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.es6 +49 -0
  15. data/app/assets/javascripts/active_admin/lib/dropdown-menu.es6 +123 -0
  16. data/app/assets/javascripts/active_admin/lib/has_many.es6 +95 -0
  17. data/app/assets/javascripts/active_admin/lib/modal_dialog.es6 +61 -0
  18. data/app/assets/javascripts/active_admin/lib/per_page.es6 +47 -0
  19. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.es6 +36 -0
  20. data/app/assets/stylesheets/active_admin/_base.scss +2 -2
  21. data/app/assets/stylesheets/active_admin/_forms.scss +19 -26
  22. data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +0 -5
  23. data/app/assets/stylesheets/active_admin/components/_pagination.scss +11 -0
  24. data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
  25. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -4
  26. data/app/assets/stylesheets/active_admin/components/_tables.scss +4 -1
  27. data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
  28. data/app/assets/stylesheets/active_admin/mixins/_all.scss +0 -2
  29. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
  30. data/app/assets/stylesheets/active_admin/print.scss +2 -3
  31. data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
  32. data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
  33. data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
  34. data/app/views/active_admin/devise/registrations/new.html.erb +3 -4
  35. data/app/views/active_admin/devise/sessions/new.html.erb +2 -2
  36. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  37. data/app/views/active_admin/devise/shared/_links.erb +12 -6
  38. data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
  39. data/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
  40. data/app/views/kaminari/active_admin/_gap.html.erb +8 -0
  41. data/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
  42. data/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
  43. data/app/views/kaminari/active_admin/_page.html.erb +12 -0
  44. data/app/views/kaminari/active_admin/_paginator.html.erb +25 -0
  45. data/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
  46. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  47. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  48. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  49. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  50. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  51. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  52. data/app/views/layouts/active_admin_logged_out.html.erb +2 -2
  53. data/config/locales/ar.yml +4 -5
  54. data/config/locales/bg.yml +1 -3
  55. data/config/locales/bs.yml +1 -2
  56. data/config/locales/ca.yml +2 -4
  57. data/config/locales/cs.yml +1 -2
  58. data/config/locales/da.yml +45 -14
  59. data/config/locales/de-CH.yml +2 -3
  60. data/config/locales/de.yml +30 -3
  61. data/config/locales/el.yml +3 -4
  62. data/config/locales/en-CA.yml +139 -0
  63. data/config/locales/en-GB.yml +44 -3
  64. data/config/locales/en.yml +31 -5
  65. data/config/locales/eo.yml +145 -0
  66. data/config/locales/es-MX.yml +5 -3
  67. data/config/locales/es.yml +32 -6
  68. data/config/locales/fa.yml +1 -2
  69. data/config/locales/fi.yml +2 -3
  70. data/config/locales/fr.yml +27 -5
  71. data/config/locales/he.yml +53 -7
  72. data/config/locales/hr.yml +1 -2
  73. data/config/locales/hu.yml +5 -2
  74. data/config/locales/id.yml +2 -3
  75. data/config/locales/it.yml +15 -7
  76. data/config/locales/ja.yml +8 -3
  77. data/config/locales/ko.yml +1 -2
  78. data/config/locales/lt.yml +27 -6
  79. data/config/locales/lv.yml +1 -2
  80. data/config/locales/mk.yml +134 -0
  81. data/config/locales/nb.yml +16 -7
  82. data/config/locales/nl.yml +13 -3
  83. data/config/locales/pl.yml +75 -5
  84. data/config/locales/pt-BR.yml +10 -3
  85. data/config/locales/pt-PT.yml +1 -2
  86. data/config/locales/ro.yml +1 -2
  87. data/config/locales/ru.yml +5 -3
  88. data/config/locales/sk.yml +168 -0
  89. data/config/locales/sv-SE.yml +4 -3
  90. data/config/locales/tr.yml +10 -2
  91. data/config/locales/uk.yml +4 -3
  92. data/config/locales/vi.yml +48 -8
  93. data/config/locales/zh-CN.yml +38 -7
  94. data/config/locales/zh-TW.yml +2 -3
  95. data/docs/.gitignore +1 -0
  96. data/docs/0-installation.md +19 -13
  97. data/docs/1-general-configuration.md +37 -4
  98. data/docs/10-custom-pages.md +47 -3
  99. data/docs/11-decorators.md +4 -0
  100. data/docs/12-arbre-components.md +73 -9
  101. data/docs/13-authorization-adapter.md +72 -35
  102. data/docs/14-gotchas.md +57 -19
  103. data/docs/2-resource-customization.md +64 -20
  104. data/docs/3-index-pages/custom-index.md +5 -1
  105. data/docs/3-index-pages/index-as-block.md +3 -5
  106. data/docs/3-index-pages/index-as-blog.md +4 -6
  107. data/docs/3-index-pages/index-as-grid.md +3 -5
  108. data/docs/3-index-pages/index-as-table.md +33 -12
  109. data/docs/3-index-pages.md +65 -9
  110. data/docs/4-csv-format.md +16 -0
  111. data/docs/5-forms.md +78 -17
  112. data/docs/6-show-pages.md +5 -29
  113. data/docs/7-sidebars.md +5 -1
  114. data/docs/8-custom-actions.md +18 -1
  115. data/docs/9-batch-actions.md +8 -4
  116. data/docs/CNAME +1 -0
  117. data/docs/Gemfile +3 -0
  118. data/docs/Gemfile.lock +248 -0
  119. data/docs/_config.yml +4 -0
  120. data/docs/_includes/footer.html +8 -0
  121. data/docs/_includes/google-analytics.html +16 -0
  122. data/docs/_includes/head.html +7 -0
  123. data/docs/_includes/toc.html +98 -0
  124. data/docs/_includes/top-menu.html +17 -0
  125. data/docs/_layouts/default.html +21 -0
  126. data/docs/documentation.md +60 -0
  127. data/docs/images/activeadmin.png +0 -0
  128. data/docs/images/code-header.png +0 -0
  129. data/docs/images/divider.png +0 -0
  130. data/docs/images/features.png +0 -0
  131. data/docs/images/tidelift.svg +14 -0
  132. data/docs/index.html +226 -0
  133. data/docs/stylesheets/main.css +1205 -0
  134. data/lib/active_admin/abstract_view_factory.rb +13 -51
  135. data/lib/active_admin/application.rb +50 -140
  136. data/lib/active_admin/application_settings.rb +42 -0
  137. data/lib/active_admin/authorization_adapter.rb +0 -3
  138. data/lib/active_admin/base_controller/authorization.rb +4 -7
  139. data/lib/active_admin/base_controller/menu.rb +10 -14
  140. data/lib/active_admin/base_controller.rb +8 -14
  141. data/lib/active_admin/batch_actions/controller.rb +3 -3
  142. data/lib/active_admin/batch_actions/resource_extension.rb +9 -13
  143. data/lib/active_admin/batch_actions/views/batch_action_form.rb +1 -1
  144. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +1 -1
  145. data/lib/active_admin/batch_actions/views/selection_cells.rb +6 -5
  146. data/lib/active_admin/callbacks.rb +1 -1
  147. data/lib/active_admin/controller_action.rb +2 -1
  148. data/lib/active_admin/csv_builder.rb +15 -12
  149. data/lib/active_admin/dependency.rb +8 -76
  150. data/lib/active_admin/deprecation.rb +0 -25
  151. data/lib/active_admin/devise.rb +3 -3
  152. data/lib/active_admin/dsl.rb +3 -16
  153. data/lib/active_admin/dynamic_setting.rb +38 -0
  154. data/lib/active_admin/dynamic_settings_node.rb +28 -0
  155. data/lib/active_admin/engine.rb +5 -0
  156. data/lib/active_admin/error.rb +5 -3
  157. data/lib/active_admin/filters/active.rb +13 -14
  158. data/lib/active_admin/filters/active_filter.rb +124 -0
  159. data/lib/active_admin/filters/active_sidebar.rb +54 -0
  160. data/lib/active_admin/filters/forms.rb +6 -4
  161. data/lib/active_admin/filters/formtastic_addons.rb +2 -2
  162. data/lib/active_admin/filters/resource_extension.rb +28 -43
  163. data/lib/active_admin/filters.rb +2 -0
  164. data/lib/active_admin/form_builder.rb +100 -59
  165. data/lib/active_admin/generators/boilerplate.rb +12 -4
  166. data/lib/active_admin/helpers/collection.rb +2 -0
  167. data/lib/active_admin/helpers/scope_chain.rb +1 -0
  168. data/lib/active_admin/inputs/datepicker_input.rb +12 -5
  169. data/lib/active_admin/inputs/filters/base/search_method_select.rb +2 -2
  170. data/lib/active_admin/inputs/filters/date_range_input.rb +21 -8
  171. data/lib/active_admin/inputs/filters/select_input.rb +6 -3
  172. data/lib/active_admin/inputs/filters/text_input.rb +25 -0
  173. data/lib/active_admin/inputs.rb +1 -0
  174. data/lib/active_admin/localizers/resource_localizer.rb +35 -0
  175. data/lib/active_admin/localizers.rb +11 -0
  176. data/lib/active_admin/menu.rb +6 -12
  177. data/lib/active_admin/menu_collection.rb +0 -2
  178. data/lib/active_admin/menu_item.rb +4 -32
  179. data/lib/active_admin/namespace.rb +36 -17
  180. data/lib/active_admin/namespace_settings.rb +123 -0
  181. data/lib/active_admin/order_clause.rb +30 -8
  182. data/lib/active_admin/orm/active_record/comments/comment.rb +3 -17
  183. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +19 -7
  184. data/lib/active_admin/orm/active_record/comments.rb +17 -11
  185. data/lib/active_admin/page.rb +23 -4
  186. data/lib/active_admin/page_controller.rb +2 -6
  187. data/lib/active_admin/page_dsl.rb +5 -1
  188. data/lib/active_admin/page_presenter.rb +2 -1
  189. data/lib/active_admin/pundit_adapter.rb +18 -5
  190. data/lib/active_admin/resource/action_items.rb +17 -5
  191. data/lib/active_admin/resource/attributes.rb +47 -0
  192. data/lib/active_admin/resource/belongs_to.rb +10 -1
  193. data/lib/active_admin/resource/menu.rb +7 -4
  194. data/lib/active_admin/resource/model.rb +15 -0
  195. data/lib/active_admin/resource/naming.rb +3 -3
  196. data/lib/active_admin/resource/ordering.rb +11 -0
  197. data/lib/active_admin/resource/page_presenters.rb +1 -1
  198. data/lib/active_admin/resource/routes.rb +52 -20
  199. data/lib/active_admin/resource/scopes.rb +5 -3
  200. data/lib/active_admin/resource/sidebars.rb +1 -1
  201. data/lib/active_admin/resource.rb +59 -7
  202. data/lib/active_admin/resource_collection.rb +2 -2
  203. data/lib/active_admin/resource_controller/action_builder.rb +10 -0
  204. data/lib/active_admin/resource_controller/data_access.rb +32 -27
  205. data/lib/active_admin/resource_controller/decorators.rb +5 -5
  206. data/lib/active_admin/resource_controller/polymorphic_routes.rb +36 -0
  207. data/lib/active_admin/resource_controller/resource_class_methods.rb +2 -0
  208. data/lib/active_admin/resource_controller/scoping.rb +1 -1
  209. data/lib/active_admin/resource_controller.rb +15 -0
  210. data/lib/active_admin/resource_dsl.rb +58 -24
  211. data/lib/active_admin/router.rb +90 -82
  212. data/lib/active_admin/scope.rb +20 -12
  213. data/lib/active_admin/settings_node.rb +19 -0
  214. data/lib/active_admin/sidebar_section.rb +3 -1
  215. data/lib/active_admin/version.rb +1 -1
  216. data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -2
  217. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +2 -2
  218. data/lib/active_admin/view_helpers/display_helper.rb +28 -16
  219. data/lib/active_admin/view_helpers/download_format_links_helper.rb +13 -0
  220. data/lib/active_admin/view_helpers/fields_for.rb +1 -2
  221. data/lib/active_admin/view_helpers/form_helper.rb +2 -2
  222. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +8 -1
  223. data/lib/active_admin/view_helpers/scope_name_helper.rb +16 -0
  224. data/lib/active_admin/view_helpers.rb +2 -1
  225. data/lib/active_admin/views/action_items.rb +1 -1
  226. data/lib/active_admin/views/components/active_admin_form.rb +43 -11
  227. data/lib/active_admin/views/components/attributes_table.rb +4 -4
  228. data/lib/active_admin/views/components/columns.rb +3 -3
  229. data/lib/active_admin/views/components/dropdown_menu.rb +4 -4
  230. data/lib/active_admin/views/components/index_list.rb +4 -3
  231. data/lib/active_admin/views/components/menu.rb +32 -0
  232. data/lib/active_admin/views/components/menu_item.rb +58 -0
  233. data/lib/active_admin/views/components/paginated_collection.rb +7 -11
  234. data/lib/active_admin/views/components/scopes.rb +14 -8
  235. data/lib/active_admin/views/components/sidebar.rb +13 -0
  236. data/lib/active_admin/views/components/site_title.rb +5 -6
  237. data/lib/active_admin/views/components/status_tag.rb +11 -16
  238. data/lib/active_admin/views/components/table_for.rb +7 -16
  239. data/lib/active_admin/views/components/tabs.rb +15 -3
  240. data/lib/active_admin/views/footer.rb +14 -4
  241. data/lib/active_admin/views/header.rb +3 -16
  242. data/lib/active_admin/views/index_as_blog.rb +2 -3
  243. data/lib/active_admin/views/index_as_grid.rb +25 -25
  244. data/lib/active_admin/views/index_as_table.rb +39 -13
  245. data/lib/active_admin/views/pages/base.rb +36 -57
  246. data/lib/active_admin/views/pages/form.rb +2 -3
  247. data/lib/active_admin/views/pages/layout.rb +1 -1
  248. data/lib/active_admin/views/pages/show.rb +8 -2
  249. data/lib/active_admin/views/tabbed_navigation.rb +4 -59
  250. data/lib/active_admin/views/title_bar.rb +4 -4
  251. data/lib/active_admin/views.rb +1 -1
  252. data/lib/active_admin.rb +11 -7
  253. data/lib/generators/active_admin/assets/assets_generator.rb +2 -2
  254. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  255. data/lib/generators/active_admin/devise/devise_generator.rb +8 -5
  256. data/lib/generators/active_admin/install/install_generator.rb +7 -3
  257. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +60 -4
  258. data/lib/generators/active_admin/install/templates/{admin_user.rb.erb → admin_users.rb.erb} +1 -3
  259. data/lib/generators/active_admin/install/templates/dashboard.rb +2 -3
  260. data/lib/generators/active_admin/install/templates/migrations/{create_active_admin_comments.rb → create_active_admin_comments.rb.erb} +2 -5
  261. data/lib/generators/active_admin/page/page_generator.rb +1 -1
  262. data/lib/generators/active_admin/resource/resource_generator.rb +2 -2
  263. data/lib/generators/active_admin/resource/templates/admin.rb.erb +46 -0
  264. data/lib/ransack_ext.rb +5 -5
  265. data/vendor/assets/javascripts/jquery-ui/data.js +41 -0
  266. data/vendor/assets/javascripts/jquery-ui/disable-selection.js +48 -0
  267. data/vendor/assets/javascripts/jquery-ui/escape-selector.js +23 -0
  268. data/vendor/assets/javascripts/jquery-ui/focusable.js +86 -0
  269. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  270. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  271. data/vendor/assets/javascripts/jquery-ui/ie.js +17 -0
  272. data/vendor/assets/javascripts/jquery-ui/keycode.js +47 -0
  273. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  274. data/vendor/assets/javascripts/jquery-ui/plugin.js +46 -0
  275. data/vendor/assets/javascripts/jquery-ui/position.js +500 -0
  276. data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +42 -0
  277. data/vendor/assets/javascripts/jquery-ui/safe-blur.js +23 -0
  278. data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +47 -0
  279. data/vendor/assets/javascripts/jquery-ui/tabbable.js +38 -0
  280. data/vendor/assets/javascripts/jquery-ui/unique-id.js +51 -0
  281. data/vendor/assets/javascripts/jquery-ui/version.js +17 -0
  282. data/vendor/assets/javascripts/jquery-ui/widget.js +735 -0
  283. data/vendor/assets/javascripts/jquery-ui/widgets/button.js +391 -0
  284. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +291 -0
  285. data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +300 -0
  286. data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2123 -0
  287. data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +954 -0
  288. data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1259 -0
  289. data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +230 -0
  290. data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1207 -0
  291. data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1561 -0
  292. data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +931 -0
  293. data/vendor/assets/stylesheets/active_admin/_normalize.scss +447 -0
  294. metadata +190 -539
  295. data/.gitignore +0 -49
  296. data/.hound.yml +0 -14
  297. data/.travis.yml +0 -46
  298. data/.yardopts +0 -8
  299. data/Gemfile +0 -75
  300. data/Guardfile +0 -8
  301. data/Rakefile +0 -33
  302. data/activeadmin.gemspec +0 -31
  303. data/app/assets/images/active_admin/datepicker/datepicker-input-icon.png +0 -0
  304. data/app/assets/javascripts/active_admin/base.js.coffee +0 -9
  305. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  306. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  307. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -7
  308. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -10
  309. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -15
  310. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -3
  311. data/app/assets/javascripts/active_admin/jquery_ui.js.erb +0 -11
  312. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -39
  313. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -36
  314. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -101
  315. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  316. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  317. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
  318. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -31
  319. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -24
  320. data/app/assets/stylesheets/active_admin/mixins/_reset.scss +0 -165
  321. data/cucumber.yml +0 -3
  322. data/features/action_item.feature +0 -73
  323. data/features/authorization.feature +0 -64
  324. data/features/authorization_cancan.feature +0 -52
  325. data/features/authorization_pundit.feature +0 -37
  326. data/features/belongs_to.feature +0 -66
  327. data/features/breadcrumb.feature +0 -75
  328. data/features/comments/commenting.feature +0 -171
  329. data/features/comments/viewing_index.feature +0 -19
  330. data/features/dashboard.feature +0 -16
  331. data/features/decorators.feature +0 -43
  332. data/features/development_reloading.feature +0 -30
  333. data/features/edit_page.feature +0 -117
  334. data/features/favicon.feature +0 -20
  335. data/features/first_boot.feature +0 -16
  336. data/features/global_navigation.feature +0 -29
  337. data/features/i18n.feature +0 -43
  338. data/features/index/batch_actions.feature +0 -196
  339. data/features/index/filters.feature +0 -161
  340. data/features/index/format_as_csv.feature +0 -203
  341. data/features/index/formats.feature +0 -66
  342. data/features/index/index_as_block.feature +0 -15
  343. data/features/index/index_as_blog.feature +0 -69
  344. data/features/index/index_as_grid.feature +0 -45
  345. data/features/index/index_as_table.feature +0 -291
  346. data/features/index/index_blank_slate.feature +0 -83
  347. data/features/index/index_parameters.feature +0 -75
  348. data/features/index/index_scope_to.feature +0 -56
  349. data/features/index/index_scopes.feature +0 -251
  350. data/features/index/page_title.feature +0 -42
  351. data/features/index/pagination.feature +0 -63
  352. data/features/index/switch_index_view.feature +0 -73
  353. data/features/menu.feature +0 -53
  354. data/features/meta_tags.feature +0 -21
  355. data/features/new_page.feature +0 -109
  356. data/features/registering_assets.feature +0 -34
  357. data/features/registering_pages.feature +0 -148
  358. data/features/registering_resources.feature +0 -33
  359. data/features/renamed_resource.feature +0 -32
  360. data/features/root_to.feature +0 -17
  361. data/features/show/columns.feature +0 -40
  362. data/features/show/default_content.feature +0 -44
  363. data/features/show/page_title.feature +0 -59
  364. data/features/show/tabs.feature +0 -27
  365. data/features/sidebar_sections.feature +0 -210
  366. data/features/site_title.feature +0 -47
  367. data/features/specifying_actions.feature +0 -93
  368. data/features/step_definitions/action_item_steps.rb +0 -7
  369. data/features/step_definitions/action_link_steps.rb +0 -20
  370. data/features/step_definitions/additional_web_steps.rb +0 -81
  371. data/features/step_definitions/asset_steps.rb +0 -15
  372. data/features/step_definitions/attribute_steps.rb +0 -18
  373. data/features/step_definitions/batch_action_steps.rb +0 -81
  374. data/features/step_definitions/blog_steps.rb +0 -3
  375. data/features/step_definitions/breadcrumb_steps.rb +0 -3
  376. data/features/step_definitions/column_steps.rb +0 -8
  377. data/features/step_definitions/comment_steps.rb +0 -12
  378. data/features/step_definitions/configuration_steps.rb +0 -100
  379. data/features/step_definitions/dashboard_steps.rb +0 -15
  380. data/features/step_definitions/factory_steps.rb +0 -35
  381. data/features/step_definitions/filter_steps.rb +0 -39
  382. data/features/step_definitions/flash_steps.rb +0 -11
  383. data/features/step_definitions/format_steps.rb +0 -52
  384. data/features/step_definitions/i18n_steps.rb +0 -3
  385. data/features/step_definitions/index_scope_steps.rb +0 -21
  386. data/features/step_definitions/index_views_steps.rb +0 -3
  387. data/features/step_definitions/layout_steps.rb +0 -3
  388. data/features/step_definitions/member_link_steps.rb +0 -7
  389. data/features/step_definitions/menu_steps.rb +0 -11
  390. data/features/step_definitions/meta_tag_steps.rb +0 -3
  391. data/features/step_definitions/pagination_steps.rb +0 -15
  392. data/features/step_definitions/sidebar_steps.rb +0 -13
  393. data/features/step_definitions/site_title_steps.rb +0 -17
  394. data/features/step_definitions/symbol_leak_steps.rb +0 -3
  395. data/features/step_definitions/tab_steps.rb +0 -8
  396. data/features/step_definitions/table_steps.rb +0 -120
  397. data/features/step_definitions/user_steps.rb +0 -45
  398. data/features/step_definitions/web_steps.rb +0 -85
  399. data/features/sti_resource.feature +0 -65
  400. data/features/strong_parameters.feature +0 -73
  401. data/features/support/env.rb +0 -162
  402. data/features/support/paths.rb +0 -71
  403. data/features/support/selectors.rb +0 -45
  404. data/features/symbol_leak.feature +0 -35
  405. data/features/users/logging_in.feature +0 -34
  406. data/features/users/logging_out.feature +0 -13
  407. data/features/users/resetting_password.feature +0 -34
  408. data/lib/active_admin/event.rb +0 -24
  409. data/lib/active_admin/filters/humanized.rb +0 -68
  410. data/lib/active_admin/helpers/settings.rb +0 -115
  411. data/lib/active_admin/reloader.rb +0 -25
  412. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  413. data/lib/generators/active_admin/resource/templates/admin.rb +0 -45
  414. data/script/local +0 -53
  415. data/script/travis_cache +0 -107
  416. data/script/use_rails +0 -53
  417. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  418. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  419. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  420. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  421. data/spec/javascripts/fixtures/flashes.html +0 -2
  422. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  423. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  424. data/spec/javascripts/support/jasmine.yml +0 -74
  425. data/spec/javascripts/support/jasmine_config.rb +0 -23
  426. data/spec/javascripts/support/jasmine_runner.rb +0 -32
  427. data/spec/rails_helper.rb +0 -169
  428. data/spec/requests/default_namespace_spec.rb +0 -61
  429. data/spec/requests/javascript_spec.rb +0 -22
  430. data/spec/requests/memory_spec.rb +0 -21
  431. data/spec/requests/stylesheets_spec.rb +0 -18
  432. data/spec/spec_helper.rb +0 -17
  433. data/spec/support/active_admin_request_helpers.rb +0 -27
  434. data/spec/support/deferred_garbage_collection.rb +0 -19
  435. data/spec/support/detect_rails_version.rb +0 -34
  436. data/spec/support/jslint.yml +0 -80
  437. data/spec/support/rails_template.rb +0 -158
  438. data/spec/support/rails_template_with_data.rb +0 -55
  439. data/spec/support/templates/admin/stores.rb +0 -9
  440. data/spec/support/templates/en.yml +0 -8
  441. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  442. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  443. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  444. data/spec/support/templates/policies/application_policy.rb +0 -45
  445. data/spec/support/templates/policies/category_policy.rb +0 -7
  446. data/spec/support/templates/policies/post_policy.rb +0 -15
  447. data/spec/support/templates/policies/store_policy.rb +0 -11
  448. data/spec/support/templates/policies/user_policy.rb +0 -11
  449. data/spec/support/templates/post_decorator.rb +0 -11
  450. data/spec/unit/abstract_view_factory_spec.rb +0 -79
  451. data/spec/unit/action_builder_spec.rb +0 -134
  452. data/spec/unit/active_admin_spec.rb +0 -11
  453. data/spec/unit/application_spec.rb +0 -165
  454. data/spec/unit/asset_registration_spec.rb +0 -52
  455. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  456. data/spec/unit/authorization/controller_authorization_spec.rb +0 -39
  457. data/spec/unit/authorization/index_overriding_spec.rb +0 -23
  458. data/spec/unit/auto_link_spec.rb +0 -69
  459. data/spec/unit/batch_actions/resource_spec.rb +0 -97
  460. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  461. data/spec/unit/belongs_to_spec.rb +0 -65
  462. data/spec/unit/cancan_adapter_spec.rb +0 -43
  463. data/spec/unit/comments_spec.rb +0 -188
  464. data/spec/unit/component_spec.rb +0 -18
  465. data/spec/unit/config_shared_examples.rb +0 -59
  466. data/spec/unit/controller_filters_spec.rb +0 -41
  467. data/spec/unit/csv_builder_spec.rb +0 -303
  468. data/spec/unit/dependency_spec.rb +0 -135
  469. data/spec/unit/devise_spec.rb +0 -96
  470. data/spec/unit/dsl_spec.rb +0 -122
  471. data/spec/unit/filters/filter_form_builder_spec.rb +0 -434
  472. data/spec/unit/filters/humanized_spec.rb +0 -56
  473. data/spec/unit/filters/resource_spec.rb +0 -128
  474. data/spec/unit/form_builder_spec.rb +0 -815
  475. data/spec/unit/generators/install_spec.rb +0 -24
  476. data/spec/unit/helpers/collection_spec.rb +0 -65
  477. data/spec/unit/helpers/scope_chain_spec.rb +0 -36
  478. data/spec/unit/helpers/settings_spec.rb +0 -30
  479. data/spec/unit/i18n_spec.rb +0 -12
  480. data/spec/unit/menu_collection_spec.rb +0 -62
  481. data/spec/unit/menu_item_spec.rb +0 -143
  482. data/spec/unit/menu_spec.rb +0 -71
  483. data/spec/unit/namespace/authorization_spec.rb +0 -27
  484. data/spec/unit/namespace/register_page_spec.rb +0 -73
  485. data/spec/unit/namespace/register_resource_spec.rb +0 -160
  486. data/spec/unit/namespace_spec.rb +0 -103
  487. data/spec/unit/order_clause_spec.rb +0 -81
  488. data/spec/unit/page_controller_spec.rb +0 -5
  489. data/spec/unit/page_spec.rb +0 -78
  490. data/spec/unit/pretty_format_spec.rb +0 -77
  491. data/spec/unit/pundit_adapter_spec.rb +0 -98
  492. data/spec/unit/resource/action_items_spec.rb +0 -65
  493. data/spec/unit/resource/includes_spec.rb +0 -21
  494. data/spec/unit/resource/menu_spec.rb +0 -18
  495. data/spec/unit/resource/naming_spec.rb +0 -122
  496. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  497. data/spec/unit/resource/pagination_spec.rb +0 -38
  498. data/spec/unit/resource/routes_spec.rb +0 -77
  499. data/spec/unit/resource/scopes_spec.rb +0 -50
  500. data/spec/unit/resource/sidebars_spec.rb +0 -43
  501. data/spec/unit/resource_collection_spec.rb +0 -175
  502. data/spec/unit/resource_controller/data_access_spec.rb +0 -140
  503. data/spec/unit/resource_controller/decorators_spec.rb +0 -94
  504. data/spec/unit/resource_controller/sidebars_spec.rb +0 -38
  505. data/spec/unit/resource_controller_spec.rb +0 -269
  506. data/spec/unit/resource_registration_spec.rb +0 -56
  507. data/spec/unit/resource_spec.rb +0 -331
  508. data/spec/unit/routing_spec.rb +0 -185
  509. data/spec/unit/scope_spec.rb +0 -185
  510. data/spec/unit/settings_spec.rb +0 -118
  511. data/spec/unit/view_factory_spec.rb +0 -19
  512. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -217
  513. data/spec/unit/view_helpers/display_helper_spec.rb +0 -165
  514. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  515. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  516. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -25
  517. data/spec/unit/view_helpers/form_helper_spec.rb +0 -43
  518. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -139
  519. data/spec/unit/views/components/attributes_table_spec.rb +0 -272
  520. data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
  521. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  522. data/spec/unit/views/components/columns_spec.rb +0 -189
  523. data/spec/unit/views/components/index_list_spec.rb +0 -35
  524. data/spec/unit/views/components/index_table_for_spec.rb +0 -127
  525. data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
  526. data/spec/unit/views/components/panel_spec.rb +0 -58
  527. data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
  528. data/spec/unit/views/components/site_title_spec.rb +0 -78
  529. data/spec/unit/views/components/status_tag_spec.rb +0 -249
  530. data/spec/unit/views/components/table_for_spec.rb +0 -434
  531. data/spec/unit/views/components/tabs_spec.rb +0 -39
  532. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
  533. data/spec/unit/views/index_as_blog_spec.rb +0 -76
  534. data/spec/unit/views/pages/form_spec.rb +0 -51
  535. data/spec/unit/views/pages/index_spec.rb +0 -60
  536. data/spec/unit/views/pages/layout_spec.rb +0 -59
  537. data/spec/unit/views/pages/show_spec.rb +0 -33
  538. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  539. data/tasks/docs.rake +0 -37
  540. data/tasks/parallel_tests.rake +0 -66
  541. data/tasks/test.rake +0 -91
  542. data/tasks/yard.rake +0 -9
@@ -1,71 +0,0 @@
1
- module NavigationHelpers
2
- # Maps a name to a path. Used by the
3
- #
4
- # When /^I go to (.+)$/ do |page_name|
5
- #
6
- # step definition in web_steps.rb
7
- #
8
- def path_to(page_name)
9
- params = page_name.scan(/with params "(.*?)"/).flatten[0] || ''
10
- page_name.sub! /\ with params.*/, ''
11
-
12
- url = case page_name
13
-
14
- when /the home\s?page/
15
- '/'
16
- when /the dashboard/
17
- "/admin"
18
- when /the new post page/
19
- "/admin/posts/new"
20
- when /the login page/
21
- "/admin/login"
22
- when /the first post show page/
23
- "/admin/posts/1"
24
- when /the first post edit page/
25
- "/admin/posts/1/edit"
26
- when /the admin password reset form with token "([^"]*)"/
27
- "/admin/password/edit?reset_password_token=#{$1}"
28
-
29
- # the index page for posts in the root namespace
30
- # the index page for posts in the user_admin namespace
31
- when /^the index page for (.*) in the (.*) namespace$/
32
- if $2 != 'root'
33
- send "#{$2}_#{$1}_path"
34
- else
35
- send "#{$1}_path"
36
- end
37
-
38
- # same as above, except defaults to admin namespace
39
- when /^the index page for (.*)$/
40
- send "admin_#{$1}_path"
41
-
42
- when /^the last author's posts$/
43
- admin_user_posts_path(User.last)
44
-
45
- when /^the last author's last post page$/
46
- admin_user_post_path(User.last, Post.where(author_id: User.last.id).last)
47
-
48
- when /^the last post's edit page$/
49
- edit_admin_post_path(Post.last)
50
-
51
- # Add more mappings here.
52
- # Here is an example that pulls values out of the Regexp:
53
- #
54
- # when /^(.*)'s profile page$/i
55
- # user_profile_path(User.find_by_login($1))
56
-
57
- else
58
- begin
59
- page_name =~ /the (.*) page/
60
- path_components = $1.split(/\s+/)
61
- self.send path_components.push('path').join('_')
62
- rescue Object => e
63
- raise "Can't find mapping from \"#{page_name}\" to a path.\n" +
64
- "Now, go and add a mapping in #{__FILE__}"
65
- end
66
- end
67
- url + params
68
- end
69
- end
70
-
71
- World(NavigationHelpers)
@@ -1,45 +0,0 @@
1
- module HtmlSelectorsHelpers
2
- # Maps a name to a selector. Used primarily by the
3
- #
4
- # When /^(.+) within (.+)$/ do |step, scope|
5
- #
6
- # step definitions in web_steps.rb
7
- #
8
- def selector_for(locator)
9
- case locator
10
-
11
- when "the page"
12
- "html > body"
13
-
14
- # Add more mappings here.
15
- # Here is an example that pulls values out of the Regexp:
16
- #
17
- # when /^the (notice|error|info) flash$/
18
- # ".flash.#{$1}"
19
-
20
- # You can also return an array to use a different selector
21
- # type, like:
22
- #
23
- # when /the header/
24
- # [:xpath, "//header"]
25
-
26
- when "index grid"
27
- [:css, "table.index_grid"]
28
-
29
- when /^the "([^"]*)" sidebar$/
30
- [:css, "##{$1.tr(" ", '').underscore}_sidebar_section"]
31
-
32
- # This allows you to provide a quoted selector as the scope
33
- # for "within" steps as was previously the default for the
34
- # web steps:
35
- when /^"(.+)"$/
36
- $1
37
-
38
- else
39
- raise "Can't find mapping from \"#{locator}\" to a selector.\n" +
40
- "Now, go and add a mapping in #{__FILE__}"
41
- end
42
- end
43
- end
44
-
45
- World(HtmlSelectorsHelpers)
@@ -1,35 +0,0 @@
1
- Feature: User input shouldn't be symbolized
2
-
3
- Background:
4
- Given a configuration of:
5
- """
6
- ActiveAdmin.register Post
7
- """
8
- Given I am logged in
9
- And 1 post exists
10
-
11
- Scenario: The dashboard doesn't leak
12
- Given I am on the dashboard with params "?really_long_malicious_key0"
13
- Then "really_long_malicious_key0" shouldn't be a symbol
14
-
15
- Scenario: The index page doesn't leak
16
- Given I am on the index page for posts with params "?really_long_malicious_key1"
17
- Then "really_long_malicious_key1" shouldn't be a symbol
18
-
19
- @allow-rescue
20
- Scenario: The filter query hash doesn't leak
21
- Given I am on the index page for posts with params "?q[really_long_malicious_key2]"
22
- Then "really_long_malicious_key2" shouldn't be a symbol
23
-
24
- Scenario: The show page doesn't leak
25
- Given I go to the first post show page with params "?really_long_malicious_key3"
26
- Then "really_long_malicious_key3" shouldn't be a symbol
27
-
28
- Scenario: The edit page doesn't leak
29
- Given I go to the first post edit page with params "?really_long_malicious_key4"
30
- Then "really_long_malicious_key4" shouldn't be a symbol
31
-
32
- @allow-rescue
33
- Scenario: Batch Actions don't leak
34
- Given I POST to "admin/posts/batch_action" with params "?batch_action=really_long_malicious_key5"
35
- Then "really_long_malicious_key5" shouldn't be a symbol
@@ -1,34 +0,0 @@
1
- Feature: User Logging In
2
-
3
- Logging in to the system as an admin user
4
-
5
- Background:
6
- Given a configuration of:
7
- """
8
- ActiveAdmin.register Post
9
- """
10
- And I am logged out
11
- And an admin user "admin@example.com" exists
12
- When I go to the dashboard
13
-
14
- Scenario: Logging in Successfully
15
- When I fill in "Email" with "admin@example.com"
16
- And I fill in "Password" with "password"
17
- And I press "Login"
18
- Then I should be on the the dashboard
19
- And I should see the element "a[href='/admin/logout' ]:contains('Logout')"
20
- And I should see the element "a[href='/admin/admin_users/1']:contains('admin@example.com')"
21
-
22
- Scenario: Attempting to log in with an incorrect email address
23
- When I fill in "Email" with "not-an-admin@example.com"
24
- And I fill in "Password" with "not-my-password"
25
- And I press "Login"
26
- Then I should see "Login"
27
- And I should see "Invalid email or password."
28
-
29
- Scenario: Attempting to log in with an incorrect password
30
- When I fill in "Email" with "admin@example.com"
31
- And I fill in "Password" with "not-my-password"
32
- And I press "Login"
33
- Then I should see "Login"
34
- And I should see "Invalid email or password."
@@ -1,13 +0,0 @@
1
- Feature: User Logging out
2
-
3
- Logging out of the system as an admin user
4
-
5
- Scenario: Logging out successfully
6
- Given a configuration of:
7
- """
8
- ActiveAdmin.register Post
9
- """
10
- And I am logged in
11
- When I go to the dashboard
12
- And I follow "Logout"
13
- Then I should see "Login"
@@ -1,34 +0,0 @@
1
- Feature: User Resetting Password
2
-
3
- Resetting my password as an admin user
4
-
5
- Background:
6
- Given a configuration of:
7
- """
8
- ActiveAdmin.register Post
9
- """
10
- And I am logged out
11
- And an admin user "admin@example.com" exists
12
-
13
- Scenario: Resetting password successfully
14
- When I go to the dashboard
15
- And I follow "Forgot your password?"
16
- When I fill in "Email" with "admin@example.com"
17
- And I press "Reset My Password"
18
- Then I should see "You will receive an email with instructions on how to reset your password in a few minutes."
19
-
20
- Scenario: Changing password after resetting
21
- When "admin@example.com" requests a password reset with token "foobarbaz"
22
- When I go to the admin password reset form with token "foobarbaz"
23
- And I fill in the password field with "password"
24
- And I fill in "Password confirmation" with "password"
25
- And I press "Change my password"
26
- Then I should see "success"
27
-
28
- Scenario: Changing password after resetting with errors
29
- When "admin@example.com" requests a password reset with token "foobarbaz" but it expires
30
- When I go to the admin password reset form with token "foobarbaz"
31
- And I fill in the password field with "password"
32
- And I fill in "Password confirmation" with "wrong"
33
- And I press "Change my password"
34
- Then I should see "expired"
@@ -1,24 +0,0 @@
1
- module ActiveAdmin
2
-
3
- class EventDispatcher
4
- def subscribe(*event_names, &block)
5
- Deprecation.warn "`ActiveAdmin::Event.subscribe` is deprecated, use `ActiveSupport::Notifications.subscribe`"
6
- event_names.each do |event|
7
- ActiveSupport::Notifications.subscribe event,
8
- &wrap_block_for_active_support_notifications(block)
9
- end
10
- end
11
-
12
- def dispatch(event, *args)
13
- Deprecation.warn "`ActiveAdmin::Event.dispatch` is deprecated, use `ActiveSupport::Notifications.publish`"
14
- ActiveSupport::Notifications.publish event, *args
15
- end
16
-
17
- def wrap_block_for_active_support_notifications block
18
- proc { |event, *args| block.call *args }
19
- end
20
- end
21
-
22
- # ActiveAdmin::Event is set to a dispatcher
23
- Event = EventDispatcher.new
24
- end
@@ -1,68 +0,0 @@
1
- module ActiveAdmin
2
- module Filters
3
-
4
- class Humanized
5
- include ActiveAdmin::ViewHelpers
6
-
7
- def initialize(param)
8
- @body = param[0]
9
- @value = param[1]
10
- end
11
-
12
- def value
13
- @value.is_a?(::Array) ? @value.compact.join(', ') : @value
14
- end
15
-
16
- def body
17
- predicate = ransack_predicate_translation
18
-
19
- if current_predicate.nil?
20
- predicate = @body.titleize
21
- elsif translation_missing?(predicate)
22
- predicate = active_admin_predicate_translation
23
- end
24
-
25
- "#{parse_parameter_body} #{predicate}".strip
26
- end
27
-
28
- private
29
-
30
- def parse_parameter_body
31
- return if current_predicate.nil?
32
-
33
- # Accounting for strings that might contain other predicates. Example:
34
- # 'requires_approval' contains the substring 'eq'
35
- split_string = "_#{current_predicate}"
36
-
37
- @body.split(split_string)
38
- .first
39
- .gsub('_', ' ')
40
- .strip
41
- .titleize
42
- .gsub('Id', 'ID')
43
- end
44
-
45
- def current_predicate
46
- @current_predicate ||= predicates.detect { |p| @body.include?(p) }
47
- end
48
-
49
- def predicates
50
- Ransack::Predicate.names_by_decreasing_length
51
- end
52
-
53
- def ransack_predicate_translation
54
- I18n.t("ransack.predicates.#{current_predicate}")
55
- end
56
-
57
- def active_admin_predicate_translation
58
- translation = I18n.t("active_admin.filters.predicates.#{current_predicate}").downcase
59
- end
60
-
61
- def translation_missing?(predicate)
62
- predicate.downcase.include?('translation missing')
63
- end
64
-
65
- end
66
-
67
- end
68
- end
@@ -1,115 +0,0 @@
1
- module ActiveAdmin
2
-
3
- # Adds a class method to a class to create settings with default values.
4
- #
5
- # Example:
6
- #
7
- # class Configuration
8
- # include ActiveAdmin::Settings
9
- #
10
- # setting :site_title, "Default Site Title"
11
- # end
12
- #
13
- # conf = Configuration.new
14
- # conf.site_title #=> "Default Site Title"
15
- # conf.site_title = "Override Default"
16
- # conf.site_title #=> "Override Default"
17
- #
18
- module Settings
19
-
20
- def self.included(base)
21
- base.extend ClassMethods
22
- end
23
-
24
- def read_default_setting(name)
25
- default_settings[name]
26
- end
27
-
28
- private
29
-
30
- def default_settings
31
- self.class.default_settings
32
- end
33
-
34
- module ClassMethods
35
-
36
- def setting(name, default)
37
- default_settings[name] = default
38
- attr_writer name
39
-
40
- # Create an accessor that looks up the default value if none is set.
41
- define_method name do
42
- if instance_variable_defined? "@#{name}"
43
- instance_variable_get "@#{name}"
44
- else
45
- read_default_setting name.to_sym
46
- end
47
- end
48
-
49
- define_method "#{name}?" do
50
- value = public_send(name)
51
- if value.is_a? Array
52
- value.any?
53
- else
54
- value.present?
55
- end
56
- end
57
- end
58
-
59
- def deprecated_setting(name, default, message = nil)
60
- setting(name, default)
61
-
62
- message ||= "The #{name} setting is deprecated and will be removed."
63
- ActiveAdmin::Deprecation.deprecate self, name, message
64
- ActiveAdmin::Deprecation.deprecate self, :"#{name}=", message
65
- end
66
-
67
- def default_settings
68
- @default_settings ||= {}
69
- end
70
-
71
- end
72
-
73
-
74
- # Allows you to define child classes that should receive the same
75
- # settings, as well as the same default values.
76
- #
77
- # Example from the codebase:
78
- #
79
- # class Application
80
- # include Settings
81
- # include Settings::Inheritance
82
- #
83
- # settings_inherited_by :Namespace
84
- #
85
- # inheritable_setting :root_to, 'dashboard#index'
86
- # end
87
- #
88
- module Inheritance
89
-
90
- def self.included(base)
91
- base.extend ClassMethods
92
- end
93
-
94
- module ClassMethods
95
-
96
- def settings_inherited_by(heir)
97
- (@setting_heirs ||= []) << heir
98
- heir.send :include, ActiveAdmin::Settings
99
- end
100
-
101
- def inheritable_setting(name, default)
102
- setting name, default
103
- @setting_heirs.each{ |c| c.setting name, default }
104
- end
105
-
106
- def deprecated_inheritable_setting(name, default)
107
- deprecated_setting name, default
108
- @setting_heirs.each{ |c| c.deprecated_setting name, default }
109
- end
110
-
111
- end
112
- end
113
-
114
- end
115
- end
@@ -1,25 +0,0 @@
1
- module ActiveAdmin
2
- module Reloader
3
- # ActionDispatch::Reloader.to_prepare is deprecated in Rails 5.0 and will be removed from Rails 5.1
4
- #
5
- # Use ActiveSupport::Reloader if available for Rails 5, fall back to ActionDispatch::Reloader for earlier Rails
6
- def self.to_prepare(*args, &block)
7
- if defined? ActiveSupport::Reloader
8
- ActiveSupport::Reloader.to_prepare(*args, &block)
9
- else
10
- ActionDispatch::Reloader.to_prepare(*args, &block)
11
- end
12
- end
13
-
14
- # ActionDispatch::Reloader.to_cleanup is deprecated in Rails 5.0 and will be removed from Rails 5.1
15
- #
16
- # Use ActiveSupport::Reloader if available for Rails 5, fall back to ActionDispatch::Reloader for earlier Rails
17
- def self.to_complete(*args, &block)
18
- if defined? ActiveSupport::Reloader
19
- ActiveSupport::Reloader.to_complete(*args, &block)
20
- else
21
- ActionDispatch::Reloader.to_cleanup(*args, &block)
22
- end
23
- end
24
- end
25
- end
@@ -1 +0,0 @@
1
- #= require active_admin/base
@@ -1,45 +0,0 @@
1
- ActiveAdmin.register <%= class_name %> do
2
- <% if ActiveAdmin::Dependency.rails.strong_parameters? %>
3
- # See permitted parameters documentation:
4
- # https://github.com/activeadmin/activeadmin/blob/master/docs/2-resource-customization.md#setting-up-strong-parameters
5
- #
6
- # permit_params :list, :of, :attributes, :on, :model
7
- #
8
- # or
9
- #
10
- # permit_params do
11
- # permitted = [:permitted, :attributes]
12
- # permitted << :other if params[:action] == 'create' && current_user.admin?
13
- # permitted
14
- # end
15
- <% end %>
16
- <% if options.include_boilerplate? %>
17
- # Limit actions available to your users by adding them to the 'except' array
18
- # actions :all, except: []
19
-
20
- # Add or remove filters (you can use any ActiveRecord scope) to toggle their
21
- # visibility in the sidebar
22
- <%= @boilerplate.filters %>
23
-
24
- # Add or remove columns to toggle their visiblity in the index action
25
- # index do
26
- # selectable_column
27
- # id_column
28
- <%= @boilerplate.columns %>
29
- # actions
30
- # end
31
-
32
- # Add or remove rows to toggle their visiblity in the show action
33
- # show do |<%= class_name.downcase %>|
34
- <%= @boilerplate.rows %>
35
- # end
36
-
37
- # Add or remove fields to toggle their visibility in the form
38
- # form do |f|
39
- # f.inputs do
40
- <%= @boilerplate.form_inputs %>
41
- # end
42
- # f.actions
43
- # end
44
- <% end %>
45
- end
data/script/local DELETED
@@ -1,53 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'shellwords'
4
- require File.expand_path('../../spec/support/detect_rails_version', __FILE__)
5
-
6
- unless ARGV[0]
7
- puts <<-EOF
8
- Usage: ./script/#{__FILE__} COMMAND [ARGS]
9
-
10
- The command will be run in the context of the local rails
11
- app stored in test-rails-app.
12
-
13
- Examples:
14
-
15
- ./script/local server
16
- ./script/local c
17
- ./script/local rake db:migrate
18
- EOF
19
- exit(1)
20
- end
21
-
22
- # Set up some variables
23
- rails_version = detect_rails_version!
24
-
25
- dir = ".test-rails-apps"
26
- path = "#{dir}/test-rails-app-#{rails_version}"
27
-
28
- # Ensure .test-rails-apps is created
29
- system "mkdir #{dir}" unless File.exists?(dir)
30
-
31
- # Create the sample rails app if it doesn't already exist
32
- unless File.exists? path
33
- args = %w[
34
- -m\ spec/support/rails_template_with_data.rb
35
- --skip-gemfile
36
- --skip-bundle
37
- --skip-git
38
- --skip-turbolinks
39
- --skip-test-unit
40
- ]
41
- system "RAILS='#{rails_version}' bundle exec rails new #{Shellwords.escape path} #{args.join ' '}"
42
- end
43
-
44
- # Link this rails app
45
- system "rm test-rails-app"
46
- system "ln -s #{Shellwords.escape path} test-rails-app"
47
-
48
- # If it's a rails command, auto add the rails script
49
- RAILS_COMMANDS = %w{generate console server dbconsole g c s runner}
50
- args = RAILS_COMMANDS.include?(ARGV[0]) ? ["rails", ARGV].flatten : ARGV
51
-
52
- # Run the command
53
- exec "cd test-rails-app && GEMFILE=../Gemfile bundle exec #{args.join(" ")}"
data/script/travis_cache DELETED
@@ -1,107 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'base64'
4
- require 'digest'
5
- require 'openssl'
6
- require 'shellwords'
7
-
8
- prefix = "ruby_#{RUBY_VERSION}-rails_#{ENV.fetch 'RAILS'}-"
9
- BUNDLE = prefix + 'bundle'
10
- APP = prefix + 'app'
11
-
12
- def download_bundle
13
- s3 :save, file: "#{BUNDLE}.sha2", as: "remote-#{BUNDLE}.sha2"
14
- s3 :save, file: "#{BUNDLE}.tgz", as: "remote-#{BUNDLE}.tgz", untar: true
15
- end
16
-
17
- def download_app
18
- # Force test app re-build if dependencies were updated
19
- unless digest_changed? 'Gemfile.lock', "remote-#{BUNDLE}.sha2", "#{BUNDLE}.sha2"
20
- s3 :save, file: "#{APP}.sha2", as: "remote-#{APP}.sha2"
21
- # Force test app re-build if spec/support changed
22
- unless digest_changed? 'spec/support', "remote-#{APP}.sha2", "#{APP}.sha2"
23
- s3 :save, file: "#{APP}.tgz", as: "remote-#{APP}.tgz", untar: true
24
- end
25
- end
26
- end
27
-
28
- def upload
29
- unless ID && SECRET
30
- puts "S3 credentials missing"
31
- return
32
- end
33
-
34
- [ ['Gemfile.lock', BUNDLE, 'bundle'],
35
- ['spec/support', APP, 'spec/rails']
36
- ].each do |to_check, name, to_save|
37
- puts "=> Checking #{to_check} for changes"
38
- if ret = digest_changed?(to_check, "remote-#{name}.sha2", "#{name}.sha2")
39
- puts " => Changes found: #{ret[:old]} -> #{ret[:new]}"
40
-
41
- puts " => Creating an archive"
42
- `tar -cjf #{name}.tgz #{to_save}`
43
-
44
- puts " => Uploading a new archive"
45
- s3 :upload, file: "#{name}.tgz"
46
- s3 :upload, file: "#{name}.sha2"
47
- else
48
- puts " => There were no changes, doing nothing"
49
- end
50
- end
51
- end
52
-
53
- def digest_changed?(to_check, old_digest_file, new_digest_file)
54
- if File.exists? new_digest_file
55
- digest = File.read new_digest_file
56
- else
57
- # Supports a single file, as well as a folder
58
- files = Dir[to_check, "#{to_check}/**/*"].reject{ |f| File.directory? f }
59
- content = files.sort!.map{ |f| File.read f }.join
60
- digest = Digest::SHA2.hexdigest content
61
- File.write new_digest_file, digest
62
- end
63
-
64
- old_digest = File.read old_digest_file if File.exists? old_digest_file
65
-
66
- {old: old_digest, new: digest} if digest != old_digest
67
- end
68
-
69
- def sign(secret, to_sign)
70
- Base64.strict_encode64 OpenSSL::HMAC.digest OpenSSL::Digest::SHA1.new, secret, to_sign
71
- end
72
-
73
- ID = ENV['AWS_S3_ID']
74
- SECRET = ENV['AWS_S3_SECRET']
75
- URL = 'https://s3.amazonaws.com/ActiveAdmin'
76
-
77
- # s3 :list
78
- # s3 :upload, file: 'foo'
79
- # s3 :find, file: 'foo'
80
- # s3 :save, file: 'foo', as: 'bar'
81
- # s3 :save, file: 'foo', untar: true
82
- def s3(action, options = {})
83
- verb = {list: :get, upload: :put, find: :get, save: :get}.fetch action
84
- file = options.fetch(:file) unless action == :list
85
- extra_arg = case action
86
- when :upload then "-T #{file}"
87
- when :save then options[:as] ? "-o #{options[:as]}" : '-O'
88
- end
89
- do_after = "&& tar -xf #{options[:as] || file}" if options[:untar]
90
-
91
- if ID && SECRET
92
- now = Time.now.strftime "%a, %d %b %Y %H:%M:%S %z"
93
- signature = sign SECRET, "#{verb.upcase}\n\n\n#{now}\n/ActiveAdmin/#{file}"
94
- headers = ["Authorization: AWS #{ID}:#{signature}", "Date: #{now}"].map do |h|
95
- "-H #{Shellwords.escape h}"
96
- end.join ' '
97
- end
98
-
99
- output = `curl -f #{headers} #{extra_arg} #{URL}/#{file} #{do_after}`
100
- [$?.success?, output]
101
- end
102
-
103
- if %w[download_bundle download_app upload].include? ARGV[0]
104
- send ARGV[0]
105
- else
106
- raise "unexpected argument(s): #{ARGV}"
107
- end