activeadmin 1.3.1 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +467 -0
  3. data/.gitignore +2 -5
  4. data/.rspec +1 -0
  5. data/.rspec_parallel +2 -0
  6. data/.rubocop.yml +25 -7
  7. data/.simplecov +4 -6
  8. data/CHANGELOG.md +175 -83
  9. data/CODE_OF_CONDUCT.md +64 -12
  10. data/CONTRIBUTING.md +77 -40
  11. data/Gemfile +7 -55
  12. data/Gemfile.common +53 -0
  13. data/Gemfile.lock +431 -0
  14. data/README.md +39 -18
  15. data/Rakefile +1 -32
  16. data/app/assets/stylesheets/active_admin/_forms.scss +1 -1
  17. data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
  18. data/app/views/active_admin/devise/confirmations/new.html.erb +1 -1
  19. data/app/views/active_admin/devise/passwords/edit.html.erb +1 -1
  20. data/app/views/active_admin/devise/passwords/new.html.erb +1 -1
  21. data/app/views/active_admin/devise/registrations/new.html.erb +1 -1
  22. data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
  23. data/app/views/active_admin/devise/unlocks/new.html.erb +1 -1
  24. data/app/views/layouts/active_admin_logged_out.html.erb +1 -1
  25. data/bin/install_chromedriver.sh +17 -0
  26. data/config/locales/de.yml +10 -0
  27. data/config/locales/en.yml +19 -1
  28. data/config/locales/es.yml +20 -1
  29. data/config/locales/fi.yml +1 -1
  30. data/config/locales/it.yml +4 -0
  31. data/config/locales/nb.yml +15 -5
  32. data/config/locales/nl.yml +11 -0
  33. data/config/locales/pl.yml +71 -3
  34. data/config/locales/ru.yml +2 -0
  35. data/config/locales/tr.yml +9 -0
  36. data/config/locales/zh-CN.yml +33 -5
  37. data/config/mdl_style.rb +2 -0
  38. data/cucumber.yml +7 -3
  39. data/docs/.gitignore +1 -0
  40. data/docs/1-general-configuration.md +16 -1
  41. data/docs/10-custom-pages.md +14 -0
  42. data/docs/12-arbre-components.md +28 -1
  43. data/docs/13-authorization-adapter.md +36 -17
  44. data/docs/2-resource-customization.md +8 -3
  45. data/docs/3-index-pages.md +17 -0
  46. data/docs/3-index-pages/custom-index.md +1 -1
  47. data/docs/3-index-pages/index-as-blog.md +1 -1
  48. data/docs/3-index-pages/index-as-table.md +5 -5
  49. data/docs/5-forms.md +16 -2
  50. data/docs/8-custom-actions.md +11 -0
  51. data/docs/Gemfile +2 -0
  52. data/docs/Gemfile.lock +249 -0
  53. data/docs/_config.yml +1 -1
  54. data/docs/_includes/toc.html +1 -1
  55. data/docs/_includes/top-menu.html +9 -1
  56. data/docs/documentation.md +1 -1
  57. data/docs/images/tidelift.svg +14 -0
  58. data/docs/stylesheets/main.css +26 -2
  59. data/gemfiles/rails_42.gemfile +2 -2
  60. data/gemfiles/rails_42.gemfile.lock +410 -0
  61. data/gemfiles/rails_50.gemfile +2 -2
  62. data/gemfiles/rails_50.gemfile.lock +424 -0
  63. data/gemfiles/rails_51.gemfile +2 -2
  64. data/gemfiles/rails_51.gemfile.lock +423 -0
  65. data/lib/active_admin/abstract_view_factory.rb +13 -51
  66. data/lib/active_admin/application.rb +42 -142
  67. data/lib/active_admin/application_settings.rb +39 -0
  68. data/lib/active_admin/base_controller/authorization.rb +1 -2
  69. data/lib/active_admin/batch_actions/controller.rb +1 -1
  70. data/lib/active_admin/dependency.rb +8 -0
  71. data/lib/active_admin/deprecation.rb +0 -25
  72. data/lib/active_admin/dynamic_setting.rb +38 -0
  73. data/lib/active_admin/dynamic_settings_node.rb +28 -0
  74. data/lib/active_admin/engine.rb +5 -0
  75. data/lib/active_admin/filters/active_filter.rb +1 -1
  76. data/lib/active_admin/filters/resource_extension.rb +1 -1
  77. data/lib/active_admin/form_builder.rb +95 -60
  78. data/lib/active_admin/inputs/datepicker_input.rb +7 -0
  79. data/lib/active_admin/menu.rb +2 -8
  80. data/lib/active_admin/menu_item.rb +3 -31
  81. data/lib/active_admin/namespace.rb +18 -6
  82. data/lib/active_admin/namespace_settings.rb +107 -0
  83. data/lib/active_admin/orm/active_record/comments.rb +11 -0
  84. data/lib/active_admin/orm/active_record/comments/comment.rb +1 -1
  85. data/lib/active_admin/resource/action_items.rb +6 -1
  86. data/lib/active_admin/resource_controller/decorators.rb +3 -3
  87. data/lib/active_admin/resource_controller/scoping.rb +1 -1
  88. data/lib/active_admin/router.rb +89 -84
  89. data/lib/active_admin/scope.rb +5 -1
  90. data/lib/active_admin/settings_node.rb +19 -0
  91. data/lib/active_admin/version.rb +1 -1
  92. data/lib/active_admin/views/components/active_admin_form.rb +2 -3
  93. data/lib/active_admin/views/components/menu.rb +32 -0
  94. data/lib/active_admin/views/components/menu_item.rb +58 -0
  95. data/lib/active_admin/views/components/scopes.rb +11 -4
  96. data/lib/active_admin/views/components/sidebar.rb +13 -0
  97. data/lib/active_admin/views/components/site_title.rb +5 -6
  98. data/lib/active_admin/views/components/table_for.rb +1 -10
  99. data/lib/active_admin/views/components/tabs.rb +4 -1
  100. data/lib/active_admin/views/footer.rb +2 -6
  101. data/lib/active_admin/views/header.rb +3 -15
  102. data/lib/active_admin/views/index_as_blog.rb +1 -1
  103. data/lib/active_admin/views/index_as_grid.rb +25 -25
  104. data/lib/active_admin/views/index_as_table.rb +6 -6
  105. data/lib/active_admin/views/pages/base.rb +27 -53
  106. data/lib/active_admin/views/tabbed_navigation.rb +4 -59
  107. data/lib/bug_report_templates/active_admin_master.rb +2 -3
  108. data/tasks/application_generator.rb +48 -0
  109. data/tasks/gemfiles.rake +8 -0
  110. data/tasks/lint.rake +96 -7
  111. data/tasks/local.rake +10 -8
  112. data/tasks/test.rake +30 -16
  113. metadata +26 -440
  114. data/.travis.yml +0 -51
  115. data/features/action_item.feature +0 -73
  116. data/features/authorization.feature +0 -64
  117. data/features/authorization_cancan.feature +0 -52
  118. data/features/authorization_pundit.feature +0 -37
  119. data/features/belongs_to.feature +0 -124
  120. data/features/breadcrumb.feature +0 -75
  121. data/features/comments/commenting.feature +0 -178
  122. data/features/comments/viewing_index.feature +0 -19
  123. data/features/create_another.feature +0 -55
  124. data/features/dashboard.feature +0 -16
  125. data/features/decorators.feature +0 -43
  126. data/features/development_reloading.feature +0 -28
  127. data/features/edit_page.feature +0 -116
  128. data/features/favicon.feature +0 -20
  129. data/features/first_boot.feature +0 -16
  130. data/features/footer.feature +0 -28
  131. data/features/global_navigation.feature +0 -29
  132. data/features/i18n.feature +0 -55
  133. data/features/index/batch_actions.feature +0 -218
  134. data/features/index/filters.feature +0 -250
  135. data/features/index/format_as_csv.feature +0 -220
  136. data/features/index/formats.feature +0 -88
  137. data/features/index/index_as_block.feature +0 -15
  138. data/features/index/index_as_blog.feature +0 -69
  139. data/features/index/index_as_grid.feature +0 -45
  140. data/features/index/index_as_table.feature +0 -291
  141. data/features/index/index_blank_slate.feature +0 -83
  142. data/features/index/index_parameters.feature +0 -75
  143. data/features/index/index_scope_to.feature +0 -56
  144. data/features/index/index_scopes.feature +0 -285
  145. data/features/index/page_title.feature +0 -41
  146. data/features/index/pagination.feature +0 -63
  147. data/features/index/switch_index_view.feature +0 -73
  148. data/features/menu.feature +0 -72
  149. data/features/meta_tags.feature +0 -21
  150. data/features/new_page.feature +0 -136
  151. data/features/registering_assets.feature +0 -38
  152. data/features/registering_pages.feature +0 -237
  153. data/features/registering_resources.feature +0 -33
  154. data/features/renamed_resource.feature +0 -30
  155. data/features/root_to.feature +0 -17
  156. data/features/show/attributes_table_title.feature +0 -54
  157. data/features/show/columns.feature +0 -40
  158. data/features/show/default_content.feature +0 -44
  159. data/features/show/page_title.feature +0 -58
  160. data/features/show/tabs.feature +0 -33
  161. data/features/sidebar_sections.feature +0 -210
  162. data/features/site_title.feature +0 -47
  163. data/features/specifying_actions.feature +0 -118
  164. data/features/step_definitions/action_item_steps.rb +0 -7
  165. data/features/step_definitions/action_link_steps.rb +0 -19
  166. data/features/step_definitions/additional_web_steps.rb +0 -81
  167. data/features/step_definitions/asset_steps.rb +0 -15
  168. data/features/step_definitions/attribute_steps.rb +0 -18
  169. data/features/step_definitions/attributes_table_title_steps.rb +0 -11
  170. data/features/step_definitions/batch_action_steps.rb +0 -81
  171. data/features/step_definitions/blog_steps.rb +0 -3
  172. data/features/step_definitions/breadcrumb_steps.rb +0 -3
  173. data/features/step_definitions/column_steps.rb +0 -8
  174. data/features/step_definitions/comment_steps.rb +0 -32
  175. data/features/step_definitions/configuration_steps.rb +0 -100
  176. data/features/step_definitions/dashboard_steps.rb +0 -15
  177. data/features/step_definitions/factory_steps.rb +0 -35
  178. data/features/step_definitions/filter_steps.rb +0 -47
  179. data/features/step_definitions/flash_steps.rb +0 -11
  180. data/features/step_definitions/footer_steps.rb +0 -11
  181. data/features/step_definitions/format_steps.rb +0 -56
  182. data/features/step_definitions/i18n_steps.rb +0 -11
  183. data/features/step_definitions/index_scope_steps.rb +0 -29
  184. data/features/step_definitions/index_views_steps.rb +0 -3
  185. data/features/step_definitions/layout_steps.rb +0 -3
  186. data/features/step_definitions/member_link_steps.rb +0 -7
  187. data/features/step_definitions/menu_steps.rb +0 -11
  188. data/features/step_definitions/meta_tag_steps.rb +0 -3
  189. data/features/step_definitions/pagination_steps.rb +0 -15
  190. data/features/step_definitions/sidebar_steps.rb +0 -11
  191. data/features/step_definitions/site_title_steps.rb +0 -17
  192. data/features/step_definitions/tab_steps.rb +0 -8
  193. data/features/step_definitions/table_steps.rb +0 -116
  194. data/features/step_definitions/user_steps.rb +0 -52
  195. data/features/step_definitions/web_steps.rb +0 -86
  196. data/features/sti_resource.feature +0 -65
  197. data/features/strong_parameters.feature +0 -69
  198. data/features/support/env.rb +0 -122
  199. data/features/support/paths.rb +0 -73
  200. data/features/support/regular_env.rb +0 -7
  201. data/features/support/reload_env.rb +0 -7
  202. data/features/support/selectors.rb +0 -45
  203. data/features/users/logging_in.feature +0 -36
  204. data/features/users/logging_out.feature +0 -13
  205. data/features/users/resetting_password.feature +0 -34
  206. data/gemfiles/rails_52.gemfile +0 -11
  207. data/lib/active_admin/helpers/settings.rb +0 -114
  208. data/spec/bug_report_templates_spec.rb +0 -26
  209. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  210. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  211. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  212. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  213. data/spec/javascripts/fixtures/flashes.html +0 -2
  214. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  215. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  216. data/spec/javascripts/support/jasmine.yml +0 -74
  217. data/spec/javascripts/support/jasmine_runner.rb +0 -19
  218. data/spec/rails_helper.rb +0 -59
  219. data/spec/requests/default_namespace_spec.rb +0 -81
  220. data/spec/requests/memory_spec.rb +0 -25
  221. data/spec/requests/stylesheets_spec.rb +0 -18
  222. data/spec/spec_helper.rb +0 -1
  223. data/spec/support/active_admin_integration_spec_helper.rb +0 -73
  224. data/spec/support/active_admin_request_helpers.rb +0 -39
  225. data/spec/support/rails_template.rb +0 -153
  226. data/spec/support/rails_template_with_data.rb +0 -327
  227. data/spec/support/templates/admin/stores.rb +0 -7
  228. data/spec/support/templates/en.yml +0 -8
  229. data/spec/support/templates/manifest.js +0 -3
  230. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  231. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  232. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  233. data/spec/support/templates/policies/application_policy.rb +0 -44
  234. data/spec/support/templates/policies/category_policy.rb +0 -7
  235. data/spec/support/templates/policies/post_policy.rb +0 -15
  236. data/spec/support/templates/policies/store_policy.rb +0 -11
  237. data/spec/support/templates/policies/user_policy.rb +0 -11
  238. data/spec/support/templates/post_decorator.rb +0 -24
  239. data/spec/unit/abstract_view_factory_spec.rb +0 -78
  240. data/spec/unit/action_builder_spec.rb +0 -158
  241. data/spec/unit/active_admin_spec.rb +0 -11
  242. data/spec/unit/application_spec.rb +0 -184
  243. data/spec/unit/asset_registration_spec.rb +0 -81
  244. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  245. data/spec/unit/authorization/controller_authorization_spec.rb +0 -43
  246. data/spec/unit/authorization/index_overriding_spec.rb +0 -23
  247. data/spec/unit/auto_link_spec.rb +0 -93
  248. data/spec/unit/batch_actions/resource_spec.rb +0 -84
  249. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  250. data/spec/unit/belongs_to_spec.rb +0 -76
  251. data/spec/unit/cancan_adapter_spec.rb +0 -43
  252. data/spec/unit/comments_spec.rb +0 -176
  253. data/spec/unit/component_spec.rb +0 -18
  254. data/spec/unit/config_shared_examples.rb +0 -59
  255. data/spec/unit/controller_filters_spec.rb +0 -41
  256. data/spec/unit/csv_builder_spec.rb +0 -313
  257. data/spec/unit/dependency_spec.rb +0 -135
  258. data/spec/unit/devise_spec.rb +0 -110
  259. data/spec/unit/dsl_spec.rb +0 -120
  260. data/spec/unit/filters/active_filter_spec.rb +0 -189
  261. data/spec/unit/filters/active_spec.rb +0 -24
  262. data/spec/unit/filters/filter_form_builder_spec.rb +0 -524
  263. data/spec/unit/filters/resource_spec.rb +0 -128
  264. data/spec/unit/form_builder_spec.rb +0 -990
  265. data/spec/unit/generators/install_spec.rb +0 -31
  266. data/spec/unit/helpers/collection_spec.rb +0 -68
  267. data/spec/unit/helpers/output_safety_helper_spec.rb +0 -79
  268. data/spec/unit/helpers/scope_chain_spec.rb +0 -35
  269. data/spec/unit/helpers/settings_spec.rb +0 -30
  270. data/spec/unit/i18n_spec.rb +0 -29
  271. data/spec/unit/localizers/resource_localizer_spec.rb +0 -36
  272. data/spec/unit/menu_collection_spec.rb +0 -62
  273. data/spec/unit/menu_item_spec.rb +0 -141
  274. data/spec/unit/menu_spec.rb +0 -71
  275. data/spec/unit/namespace/authorization_spec.rb +0 -27
  276. data/spec/unit/namespace/register_page_spec.rb +0 -99
  277. data/spec/unit/namespace/register_resource_spec.rb +0 -162
  278. data/spec/unit/namespace_spec.rb +0 -124
  279. data/spec/unit/order_clause_spec.rb +0 -81
  280. data/spec/unit/page_controller_spec.rb +0 -5
  281. data/spec/unit/page_spec.rb +0 -128
  282. data/spec/unit/pretty_format_spec.rb +0 -82
  283. data/spec/unit/pundit_adapter_spec.rb +0 -98
  284. data/spec/unit/resource/action_items_spec.rb +0 -69
  285. data/spec/unit/resource/attributes_spec.rb +0 -49
  286. data/spec/unit/resource/includes_spec.rb +0 -21
  287. data/spec/unit/resource/menu_spec.rb +0 -18
  288. data/spec/unit/resource/naming_spec.rb +0 -122
  289. data/spec/unit/resource/ordering_spec.rb +0 -35
  290. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  291. data/spec/unit/resource/pagination_spec.rb +0 -38
  292. data/spec/unit/resource/routes_spec.rb +0 -125
  293. data/spec/unit/resource/scopes_spec.rb +0 -50
  294. data/spec/unit/resource/sidebars_spec.rb +0 -43
  295. data/spec/unit/resource_collection_spec.rb +0 -175
  296. data/spec/unit/resource_controller/data_access_spec.rb +0 -234
  297. data/spec/unit/resource_controller/decorators_spec.rb +0 -94
  298. data/spec/unit/resource_controller/sidebars_spec.rb +0 -37
  299. data/spec/unit/resource_controller_spec.rb +0 -273
  300. data/spec/unit/resource_registration_spec.rb +0 -61
  301. data/spec/unit/resource_spec.rb +0 -320
  302. data/spec/unit/routing_spec.rb +0 -211
  303. data/spec/unit/scope_spec.rb +0 -209
  304. data/spec/unit/settings_spec.rb +0 -117
  305. data/spec/unit/view_factory_spec.rb +0 -19
  306. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -253
  307. data/spec/unit/view_helpers/display_helper_spec.rb +0 -203
  308. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  309. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  310. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -24
  311. data/spec/unit/view_helpers/form_helper_spec.rb +0 -42
  312. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -138
  313. data/spec/unit/views/components/attributes_table_spec.rb +0 -271
  314. data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
  315. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  316. data/spec/unit/views/components/columns_spec.rb +0 -187
  317. data/spec/unit/views/components/index_list_spec.rb +0 -49
  318. data/spec/unit/views/components/index_table_for_spec.rb +0 -127
  319. data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
  320. data/spec/unit/views/components/panel_spec.rb +0 -58
  321. data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
  322. data/spec/unit/views/components/site_title_spec.rb +0 -76
  323. data/spec/unit/views/components/status_tag_spec.rb +0 -265
  324. data/spec/unit/views/components/table_for_spec.rb +0 -436
  325. data/spec/unit/views/components/tabs_spec.rb +0 -67
  326. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
  327. data/spec/unit/views/index_as_blog_spec.rb +0 -76
  328. data/spec/unit/views/pages/form_spec.rb +0 -54
  329. data/spec/unit/views/pages/index_spec.rb +0 -60
  330. data/spec/unit/views/pages/layout_spec.rb +0 -59
  331. data/spec/unit/views/pages/show_spec.rb +0 -32
  332. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  333. data/tasks/parallel_tests.rake +0 -66
@@ -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,11 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- eval_gemfile(File.expand_path(File.join("..", "Gemfile"), __dir__))
4
-
5
- gem "rails", "5.2.1"
6
- gem "bootsnap"
7
- gem "devise", "~> 4.4"
8
- gem "draper", "~> 3.0"
9
- gem "activerecord-jdbcsqlite3-adapter", "~> 51.0", platforms: :jruby
10
-
11
- gemspec path: "../"
@@ -1,114 +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
- # Allows you to define child classes that should receive the same
74
- # settings, as well as the same default values.
75
- #
76
- # Example from the codebase:
77
- #
78
- # class Application
79
- # include Settings
80
- # include Settings::Inheritance
81
- #
82
- # settings_inherited_by :Namespace
83
- #
84
- # inheritable_setting :root_to, 'dashboard#index'
85
- # end
86
- #
87
- module Inheritance
88
-
89
- def self.included(base)
90
- base.extend ClassMethods
91
- end
92
-
93
- module ClassMethods
94
-
95
- def settings_inherited_by(heir)
96
- (@setting_heirs ||= []) << heir
97
- heir.send :include, ActiveAdmin::Settings
98
- end
99
-
100
- def inheritable_setting(name, default)
101
- setting name, default
102
- @setting_heirs.each{ |c| c.setting name, default }
103
- end
104
-
105
- def deprecated_inheritable_setting(name, default)
106
- deprecated_setting name, default
107
- @setting_heirs.each{ |c| c.deprecated_setting name, default }
108
- end
109
-
110
- end
111
- end
112
-
113
- end
114
- end
@@ -1,26 +0,0 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe 'bug_report_templates' do
4
- subject do
5
- Bundler.with_clean_env do
6
- Dir.chdir(chdir_path) do
7
- system({'ACTIVE_ADMIN_PATH' => active_admin_root},
8
- Gem.ruby,
9
- template_path,
10
- out: File::NULL)
11
- end
12
- end
13
- end
14
-
15
- let(:active_admin_root) { File.expand_path('../..', __FILE__) }
16
- let(:chdir_path) { File.join(active_admin_root, 'lib', 'bug_report_templates') }
17
-
18
- context 'when runs active_admin_master.rb' do
19
- let(:template_path) { 'active_admin_master.rb' }
20
-
21
- it 'passes' do
22
- expect(subject).to be_truthy
23
- end
24
- end
25
-
26
- end
@@ -1,50 +0,0 @@
1
- describe "ActiveAdmin.CheckboxToggler", ->
2
-
3
- beforeEach ->
4
- loadFixtures('checkboxes.html')
5
-
6
- @collection = $("#collection")
7
- @toggle_all = @collection.find(".toggle_all")
8
-
9
- @checkboxes = @collection.find(":checkbox").not(@toggle_all)
10
-
11
-
12
- new ActiveAdmin.CheckboxToggler({}, @collection)
13
-
14
- describe "on init", ->
15
- it "should raise an error if container not found", ->
16
- expect( => new ActiveAdmin.CheckboxToggler({}) ).toThrow("Container element not found")
17
-
18
- it "should raise an error if 'toggle all' checkbox not found", ->
19
- @toggle_all.remove()
20
- expect( => new ActiveAdmin.CheckboxToggler({}, @collection); ).toThrow("'toggle all' checkbox not found")
21
-
22
- describe "'toggle all' checkbox", ->
23
- it "should check all checkboxes when checked", ->
24
- @toggle_all.trigger("click")
25
- expect(@checkboxes).toHaveAttr("checked")
26
-
27
- it "should uncheck all checkboxes when unchecked", ->
28
- @toggle_all.trigger("click")
29
- @toggle_all.trigger("click")
30
- expect(@checkboxes).not.toHaveAttr("checked")
31
-
32
- describe "individual checkboxes", ->
33
-
34
- describe "when all checkboxes are selected and one is unchecked", ->
35
- beforeEach ->
36
- @collection.find(":checkbox").attr("checked", "checked")
37
- @collection.find("#item_1").trigger("click")
38
-
39
- it "should uncheck the 'toggle all' checkbox", ->
40
- expect(@toggle_all).not.toHaveAttr("checked")
41
-
42
- describe "when the last checkbox is checked", ->
43
- beforeEach ->
44
- @checkboxes.attr("checked", "checked")
45
- @collection.find("#item_1").removeAttr("checked")
46
- @collection.find("#item_1").trigger("click")
47
-
48
- it "should check the 'toggle all' checkbox", ->
49
- expect(@toggle_all).toHaveAttr("checked")
50
-
@@ -1,25 +0,0 @@
1
- describe "ActiveAdmin.flash", ->
2
- beforeEach ->
3
- loadFixtures('flashes.html')
4
- @flashes = $(".flashes")
5
-
6
- describe "abstract", ->
7
- it "should add a flash box with class and message"
8
- ActiveAdmin.flash.abstract "a abstract message", "abstract"
9
- flash = @flashes.find(".flash")
10
- expect(flash).toHaveClass("abstract")
11
- expect(flash.text()).toHaveClass("a abstract message")
12
-
13
- describe "error", ->
14
- it "should add a flash box with class and message"
15
- ActiveAdmin.flash.abstract "a error message"
16
- flash = @flashes.find(".flash")
17
- expect(flash).toHaveClass("error")
18
- expect(flash.text()).toHaveClass("a error message")
19
-
20
- describe "notice", ->
21
- it "should add a flash box with class and message"
22
- ActiveAdmin.flash.abstract "a notice message"
23
- flash = @flashes.find(".flash")
24
- expect(flash).toHaveClass("notice")
25
- expect(flash.text()).toHaveClass("a notice message")
@@ -1,34 +0,0 @@
1
- describe "ActiveAdmin.TableCheckboxToggler", ->
2
-
3
- beforeEach ->
4
- loadFixtures('table_checkboxes.html');
5
-
6
- @collection = $("#collection")
7
- @toggle_all = @collection.find(".toggle_all")
8
-
9
- @checkboxes = @collection.find(":checkbox").not(@toggle_all)
10
-
11
- new ActiveAdmin.TableCheckboxToggler({}, @collection)
12
-
13
- describe "'selected' class for table row", ->
14
- it "should add the class 'selected' to rows when their checkbox is checked ", ->
15
- checkbox = $("#item_1")
16
- checkbox.attr("checked", "checked")
17
- checkbox.trigger("change")
18
-
19
- expect(checkbox.parents("tr")).toHaveAttr("class", "selected")
20
-
21
- it "should remove the class 'selected' from rows when their checkbox is unchecked ", ->
22
- checkbox = $("#item_1")
23
- checkbox.trigger("change")
24
-
25
- expect(checkbox.parents("tr")).not.toHaveAttr("class", "selected")
26
-
27
- describe "clicking a cell", ->
28
- it "should toggle the checkbox when a cell is clicked", ->
29
- checkbox = $("#item_1")
30
- row = checkbox.parents("td")
31
- $(row).trigger("click")
32
-
33
- expect(checkbox).toHaveAttr("checked", "checked")
34
-
@@ -1,9 +0,0 @@
1
- <div id="collection">
2
- <input type="checkbox" name="toggle_all" class="toggle_all" value="">
3
-
4
- <input type="checkbox" name="item1" id="item_1" value="1">
5
- <input type="checkbox" name="item2" id="item_2" value="2">
6
- <input type="checkbox" name="item3" id="item_3" value="3">
7
- <input type="checkbox" name="item4" id="item_4" value="4">
8
- </div>
9
-
@@ -1,2 +0,0 @@
1
- <div class="flashes">
2
- </div>
@@ -1,17 +0,0 @@
1
- <table id="collection">
2
- <thead>
3
- <tr>
4
- <td>
5
- <input type="checkbox" name="toggle_all" class="toggle_all" value="">
6
- </td>
7
- </tr>
8
- </thead>
9
- <tbody>
10
- <tr><td><input type="checkbox" name="item1" id="item_1" value="1"></td></tr>
11
- <tr><td><input type="checkbox" name="item2" id="item_2" value="2"></td></tr>
12
- <tr><td><input type="checkbox" name="item3" id="item_3" value="3"></td></tr>
13
- <tr><td><input type="checkbox" name="item4" id="item_4" value="4"></td></tr>
14
- </tbody>
15
- </table>
16
-
17
-
@@ -1,3 +0,0 @@
1
- beforeEach(function() {
2
- window.inject = $.jasmine.inject;
3
- });
@@ -1,74 +0,0 @@
1
- # src_files
2
- #
3
- # Return an array of filepaths relative to src_dir to include before jasmine specs.
4
- # Default: []
5
- #
6
- # EXAMPLE:
7
- #
8
- # src_files:
9
- # - lib/source1.js
10
- # - lib/source2.js
11
- # - dist/**/*.js
12
- #
13
- src_files:
14
- - spec/javascripts/support/jquery.min.js
15
- - spec/javascripts/support/jquery-ui-1.8.16.custom.min.js
16
- - app/assets/javascripts/active_admin/compiled/lib/**/*.js
17
- - app/assets/javascripts/active_admin/compiled/components/**/*.js
18
-
19
- # stylesheets
20
- #
21
- # Return an array of stylesheet filepaths relative to src_dir to include before jasmine specs.
22
- # Default: []
23
- #
24
- # EXAMPLE:
25
- #
26
- # stylesheets:
27
- # - css/style.css
28
- # - stylesheets/*.css
29
- #
30
- stylesheets:
31
-
32
- # helpers
33
- #
34
- # Return an array of filepaths relative to spec_dir to include before jasmine specs.
35
- # Default: ["helpers/**/*.js"]
36
- #
37
- # EXAMPLE:
38
- #
39
- helpers:
40
- - helpers/**/*.js
41
-
42
-
43
- # spec_files
44
- #
45
- # Return an array of filepaths relative to spec_dir to include.
46
- # Default: ["**/*[sS]pec.js"]
47
- #
48
- # EXAMPLE:
49
- #
50
- spec_files:
51
- - **/*[sS]pec.js
52
-
53
-
54
- # src_dir
55
- #
56
- # Source directory path. Your src_files must be returned relative to this path. Will use root if left blank.
57
- # Default: project root
58
- #
59
- # EXAMPLE:
60
- #
61
- # src_dir: public
62
- #
63
- src_dir:
64
-
65
- # spec_dir
66
- #
67
- # Spec directory path. Your spec_files must be returned relative to this path.
68
- # Default: spec/javascripts
69
- #
70
- # EXAMPLE:
71
- #
72
- # spec_dir: spec/javascripts
73
- #
74
- spec_dir: spec/javascripts/
@@ -1,19 +0,0 @@
1
- $:.unshift(ENV['JASMINE_GEM_PATH']) if ENV['JASMINE_GEM_PATH'] # for gem testing purposes
2
-
3
- require 'jasmine'
4
- require 'spec'
5
-
6
- jasmine_config = Jasmine::Config.new
7
- spec_builder = Jasmine::SpecBuilder.new(jasmine_config)
8
-
9
- should_stop = false
10
-
11
- Spec::Runner.configure do |config|
12
- config.after(:suite) do
13
- spec_builder.stop if should_stop
14
- end
15
- end
16
-
17
- spec_builder.start
18
- should_stop = true
19
- spec_builder.declare_suites
@@ -1,59 +0,0 @@
1
- require 'spec_helper'
2
-
3
- ENV['RAILS_ENV'] = 'test'
4
-
5
- require 'rails'
6
- ENV['RAILS_ROOT'] = File.expand_path("../rails/rails-#{Rails.version}", __FILE__)
7
-
8
- # Create the test app if it doesn't exists
9
- unless File.exists?(ENV['RAILS_ROOT'])
10
- system 'rake setup'
11
- end
12
-
13
- require 'active_record'
14
- require 'active_admin'
15
- require 'devise'
16
- ActiveAdmin.application.load_paths = [ENV['RAILS_ROOT'] + "/app/admin"]
17
-
18
- require ENV['RAILS_ROOT'] + '/config/environment'
19
-
20
- require 'rspec/rails'
21
-
22
- # Disabling authentication in specs so that we don't have to worry about
23
- # it allover the place
24
- ActiveAdmin.application.authentication_method = false
25
- ActiveAdmin.application.current_user_method = false
26
-
27
- RSpec.configure do |config|
28
- config.disable_monkey_patching!
29
- config.use_transactional_fixtures = true
30
- config.use_instantiated_fixtures = false
31
- config.render_views = false
32
- config.filter_run focus: true
33
- config.filter_run_excluding skip: true
34
- config.run_all_when_everything_filtered = true
35
- config.color = true
36
- config.order = :random
37
-
38
- devise = ActiveAdmin::Dependency.devise >= '4.2' ? Devise::Test::ControllerHelpers : Devise::TestHelpers
39
- config.include devise, type: :controller
40
-
41
- require 'support/active_admin_integration_spec_helper'
42
- config.include ActiveAdminIntegrationSpecHelper
43
-
44
- require 'support/active_admin_request_helpers'
45
- config.include ActiveAdminRequestHelpers, type: :request
46
-
47
- # Setup Some Admin stuff for us to play with
48
- config.before(:suite) do
49
- ActiveAdminIntegrationSpecHelper.load_defaults!
50
- ActiveAdminIntegrationSpecHelper.reload_routes!
51
- end
52
- end
53
-
54
- # Force deprecations to raise an exception.
55
- ActiveSupport::Deprecation.behavior = :raise
56
-
57
- # improve the performance of the specs suite by not logging anything
58
- # see http://blog.plataformatec.com.br/2011/12/three-tips-to-improve-the-performance-of-your-test-suite/
59
- Rails.logger.level = Logger::FATAL