activeadmin 1.3.1 → 1.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 (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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a0f581d1bf8d192eef8c0e79edcdc950d6d1a876309acaba0e896f32278ea0c9
4
- data.tar.gz: e6015871157ef554b5706b97e6fc7a8721a8c3943edadadf8c91d6189416a515
3
+ metadata.gz: fd8fae1d955948264f5b359f1bfb9bca2e60e8671d604fc90a090afad412d36f
4
+ data.tar.gz: dba90e7055cfe8c2c3fd263514b30c6b89caf37721460947b109fba1a5828c8d
5
5
  SHA512:
6
- metadata.gz: 90be53e21d89e96733fc3fa4e6fcaf12dd7d5a39c15ae7a297f656a066e5bdcb76f984442cdf6be445a006aecd4c476a6cd18464088f859d180cc227b7d2fd75
7
- data.tar.gz: e90fd3cf1890673789fcf0674627b9e4787df8a888dff7abb768160631cbfc5ed443ea02dc1a9eea01941abe4e46289e8f9f8bc49cdd3daf30c5ad475e81d020
6
+ metadata.gz: 11bc5adadc598f3ac9380b2af7486dc1512390aaa898a6fb637d235510f5da19c2ed2b57b6ade71882b3e76e8601cd4074be6caa84f75b9686c46338ad5ae1c5
7
+ data.tar.gz: 7886911aec63d9f94da0cbc47f981b2ba6fbe8c2c90e38fc5434294c93b0652caf486b89858ea3729c590ee2a8d78a8d64e37bfcde26ef0d48f08c137855806d
@@ -0,0 +1,467 @@
1
+ ---
2
+
3
+ version: 2.1
4
+
5
+ .install_bundler: &install_bundler
6
+ run:
7
+ name: Install a specific bundler version
8
+ command: gem install bundler -v 1.17.1
9
+
10
+ .copy_current_gemfile: &copy_current_gemfile
11
+ run:
12
+ name: Cat current Gemfile to a specific file so caching works
13
+ command: cat "$BUNDLE_GEMFILE.lock" > current_gemfile.lock
14
+
15
+ .restore_cache: &restore_cache
16
+ restore_cache:
17
+ keys:
18
+ - bundler-dependencies-{{ checksum "current_gemfile.lock" }}-{{ .Environment.CIRCLE_JOB }}
19
+
20
+ .install_dependencies: &install_dependencies
21
+ run:
22
+ name: Install dependencies
23
+ command: bundle install --without development --path /home/circleci/project/vendor/bundle --retry 3 --jobs 3
24
+
25
+ .install_chromedriver: &install_chromedriver
26
+ run:
27
+ name: Install chromedriver
28
+ command: bin/install_chromedriver.sh
29
+
30
+ .save_cache: &save_cache
31
+ save_cache:
32
+ key: bundler-dependencies-{{ checksum "current_gemfile.lock" }}-{{ .Environment.CIRCLE_JOB }}
33
+ paths:
34
+ - vendor/bundle
35
+
36
+ .create_test_app: &create_test_app
37
+ run:
38
+ name: Create test app
39
+ command: PARALLEL_TEST_PROCESSORS=4 bundle exec rake setup
40
+
41
+ .save_test_app_to_workspace: &save_test_app_to_workspace
42
+ persist_to_workspace:
43
+ root: spec/rails
44
+ paths:
45
+ - rails-*
46
+
47
+ .restore_test_app_from_workspace: &restore_test_app_from_workspace
48
+ attach_workspace:
49
+ at: spec/rails
50
+
51
+ .restore_test_times: &restore_test_times
52
+ restore_cache:
53
+ keys:
54
+ - testtime-{{ .Branch }}-{{ .Environment.CIRCLE_JOB }}
55
+ - testtime-master-{{ .Environment.CIRCLE_JOB }}
56
+
57
+ .run_tests: &run_tests
58
+ run:
59
+ name: Run tests
60
+ command: COVERAGE=true PARALLEL_TEST_PROCESSORS=4 bundle exec rake test
61
+
62
+ .save_test_times: &save_test_times
63
+ save_cache:
64
+ key: testtime-{{ .Branch }}-{{ .Environment.CIRCLE_JOB }}
65
+ paths:
66
+ - tmp/parallel_runtime_rspec.log
67
+ - tmp/parallel_runtime_cucumber.log
68
+
69
+ .generate_docs: &generate_docs
70
+ run:
71
+ name: Generate docs
72
+ command: bundle exec rake docs:build
73
+
74
+ .run_lints: &run_lints
75
+ run:
76
+ name: Run lints
77
+ command: bundle exec rake lint
78
+
79
+ .test_steps: &test_steps
80
+ - checkout
81
+ - *install_bundler
82
+ - *copy_current_gemfile
83
+ - *restore_cache
84
+ - *install_dependencies
85
+ - *install_chromedriver
86
+ - *save_cache
87
+ - *restore_test_app_from_workspace
88
+ - *restore_test_times
89
+ - *run_tests
90
+ - *save_test_times
91
+
92
+ .test_app_steps: &test_app_steps
93
+ - checkout
94
+ - *install_bundler
95
+ - *copy_current_gemfile
96
+ - *restore_cache
97
+ - *install_dependencies
98
+ - *save_cache
99
+ - *create_test_app
100
+ - *save_test_app_to_workspace
101
+
102
+ jobs:
103
+ testapp42:
104
+ docker:
105
+ - image: circleci/ruby:2.5.3-node
106
+
107
+ environment:
108
+ BUNDLE_GEMFILE: gemfiles/rails_42.gemfile
109
+
110
+ steps:
111
+ *test_app_steps
112
+
113
+ testapp50:
114
+ docker:
115
+ - image: circleci/ruby:2.5.3-node
116
+
117
+ environment:
118
+ BUNDLE_GEMFILE: gemfiles/rails_50.gemfile
119
+
120
+ steps:
121
+ *test_app_steps
122
+
123
+ testapp51:
124
+ docker:
125
+ - image: circleci/ruby:2.5.3-node
126
+
127
+ environment:
128
+ BUNDLE_GEMFILE: gemfiles/rails_51.gemfile
129
+
130
+ steps:
131
+ *test_app_steps
132
+
133
+ testapp52:
134
+ docker:
135
+ - image: circleci/ruby:2.5.3-node
136
+
137
+ environment:
138
+ BUNDLE_GEMFILE: Gemfile
139
+
140
+ steps:
141
+ *test_app_steps
142
+
143
+ lint_and_docs:
144
+ docker:
145
+ - image: circleci/ruby:2.5.3
146
+
147
+ environment:
148
+ BUNDLE_GEMFILE: Gemfile
149
+
150
+ steps:
151
+ - checkout
152
+ - *install_bundler
153
+ - *copy_current_gemfile
154
+ - *restore_cache
155
+ - *install_dependencies
156
+ - *save_cache
157
+ - *generate_docs
158
+ - *run_lints
159
+
160
+ ruby23rails42:
161
+ docker:
162
+ - image: circleci/ruby:2.3.7-node-browsers
163
+
164
+ environment:
165
+ BUNDLE_GEMFILE: gemfiles/rails_42.gemfile
166
+
167
+ steps:
168
+ *test_steps
169
+
170
+ ruby23rails50:
171
+ docker:
172
+ - image: circleci/ruby:2.3.8-node-browsers
173
+
174
+ environment:
175
+ BUNDLE_GEMFILE: gemfiles/rails_50.gemfile
176
+
177
+ steps:
178
+ *test_steps
179
+
180
+ ruby23rails51:
181
+ docker:
182
+ - image: circleci/ruby:2.3.8-node-browsers
183
+
184
+ environment:
185
+ BUNDLE_GEMFILE: gemfiles/rails_51.gemfile
186
+
187
+ steps:
188
+ *test_steps
189
+
190
+ ruby23rails52:
191
+ docker:
192
+ - image: circleci/ruby:2.3.8-node-browsers
193
+
194
+ environment:
195
+ BUNDLE_GEMFILE: Gemfile
196
+
197
+ steps:
198
+ *test_steps
199
+
200
+ ruby24rails42:
201
+ docker:
202
+ - image: circleci/ruby:2.4.4-node-browsers
203
+
204
+ environment:
205
+ BUNDLE_GEMFILE: gemfiles/rails_42.gemfile
206
+
207
+ steps:
208
+ *test_steps
209
+
210
+ ruby24rails50:
211
+ docker:
212
+ - image: circleci/ruby:2.4.5-node-browsers
213
+
214
+ environment:
215
+ BUNDLE_GEMFILE: gemfiles/rails_50.gemfile
216
+
217
+ steps:
218
+ *test_steps
219
+
220
+ ruby24rails51:
221
+ docker:
222
+ - image: circleci/ruby:2.4.5-node-browsers
223
+
224
+ environment:
225
+ BUNDLE_GEMFILE: gemfiles/rails_51.gemfile
226
+
227
+ steps:
228
+ *test_steps
229
+
230
+ ruby24rails52:
231
+ docker:
232
+ - image: circleci/ruby:2.4.5-node-browsers
233
+
234
+ environment:
235
+ BUNDLE_GEMFILE: Gemfile
236
+
237
+ steps:
238
+ *test_steps
239
+
240
+ ruby25rails42:
241
+ docker:
242
+ - image: circleci/ruby:2.5.3-node-browsers
243
+
244
+ environment:
245
+ BUNDLE_GEMFILE: gemfiles/rails_42.gemfile
246
+
247
+ steps:
248
+ *test_steps
249
+
250
+ ruby25rails50:
251
+ docker:
252
+ - image: circleci/ruby:2.5.3-node-browsers
253
+
254
+ environment:
255
+ BUNDLE_GEMFILE: gemfiles/rails_50.gemfile
256
+
257
+ steps:
258
+ *test_steps
259
+
260
+ ruby25rails51:
261
+ docker:
262
+ - image: circleci/ruby:2.5.3-node-browsers
263
+
264
+ environment:
265
+ BUNDLE_GEMFILE: gemfiles/rails_51.gemfile
266
+
267
+ steps:
268
+ *test_steps
269
+
270
+ ruby25rails52:
271
+ docker:
272
+ - image: circleci/ruby:2.5.3-node-browsers
273
+
274
+ environment:
275
+ BUNDLE_GEMFILE: Gemfile
276
+
277
+ steps:
278
+ *test_steps
279
+
280
+ jruby91rails42:
281
+ docker:
282
+ - image: ccistaging/jruby:9.1.17.0-node-browsers
283
+
284
+ environment:
285
+ BUNDLE_GEMFILE: gemfiles/rails_42.gemfile
286
+ JRUBY_OPTS: -J-Xmx1024m --dev --debug
287
+
288
+ steps:
289
+ *test_steps
290
+
291
+ jruby91rails50:
292
+ docker:
293
+ - image: circleci/jruby:9.1.17.0-node-browsers
294
+
295
+ environment:
296
+ BUNDLE_GEMFILE: gemfiles/rails_50.gemfile
297
+ JRUBY_OPTS: -J-Xmx1024m --dev --debug
298
+
299
+ steps:
300
+ *test_steps
301
+
302
+ jruby91rails51:
303
+ docker:
304
+ - image: circleci/jruby:9.1.17.0-node-browsers
305
+
306
+ environment:
307
+ BUNDLE_GEMFILE: gemfiles/rails_51.gemfile
308
+ JRUBY_OPTS: -J-Xmx1024m --dev --debug
309
+
310
+ steps:
311
+ *test_steps
312
+
313
+ jruby91rails52:
314
+ docker:
315
+ - image: circleci/jruby:9.1.17.0-node-browsers
316
+
317
+ environment:
318
+ BUNDLE_GEMFILE: Gemfile
319
+ JRUBY_OPTS: -J-Xmx1024m --dev --debug
320
+
321
+ steps:
322
+ *test_steps
323
+
324
+ jruby92rails42:
325
+ docker:
326
+ - image: ccistaging/jruby:9.2.0.0-node-browsers
327
+
328
+ environment:
329
+ BUNDLE_GEMFILE: gemfiles/rails_42.gemfile
330
+ JRUBY_OPTS: -J-Xmx1024m --dev --debug
331
+
332
+ steps:
333
+ *test_steps
334
+
335
+ jruby92rails50:
336
+ docker:
337
+ - image: circleci/jruby:9.2.3.0-node-browsers
338
+
339
+ environment:
340
+ BUNDLE_GEMFILE: gemfiles/rails_50.gemfile
341
+ JRUBY_OPTS: -J-Xmx1024m --dev --debug
342
+
343
+ steps:
344
+ *test_steps
345
+
346
+ jruby92rails51:
347
+ docker:
348
+ - image: circleci/jruby:9.2.3.0-node-browsers
349
+
350
+ environment:
351
+ BUNDLE_GEMFILE: gemfiles/rails_51.gemfile
352
+ JRUBY_OPTS: -J-Xmx1024m --dev --debug
353
+
354
+ steps:
355
+ *test_steps
356
+
357
+ jruby92rails52:
358
+ docker:
359
+ - image: circleci/jruby:9.2.3.0-node-browsers
360
+
361
+ environment:
362
+ BUNDLE_GEMFILE: Gemfile
363
+ JRUBY_OPTS: -J-Xmx1024m --dev --debug
364
+
365
+ steps:
366
+ *test_steps
367
+
368
+ workflows:
369
+ version: 2
370
+
371
+ #
372
+ # The workflow has three types of jobs:
373
+ #
374
+ # * A lint job to run style checks.
375
+ # * Jobs that create test apps for each supported rails version.
376
+ # * Jobs that run tests, one for each supported [ruby_version, rails_version]
377
+ # combination. Every test job for a specific rails version reuses the test
378
+ # app created for that specific rails version.
379
+ #
380
+ build:
381
+ jobs:
382
+ - lint_and_docs
383
+
384
+ - testapp42
385
+ - testapp50
386
+ - testapp51
387
+ - testapp52
388
+
389
+ - ruby23rails42:
390
+ requires:
391
+ - testapp42
392
+
393
+ - ruby23rails50:
394
+ requires:
395
+ - testapp50
396
+
397
+ - ruby23rails51:
398
+ requires:
399
+ - testapp51
400
+
401
+ - ruby23rails52:
402
+ requires:
403
+ - testapp52
404
+
405
+ - ruby24rails42:
406
+ requires:
407
+ - testapp42
408
+
409
+ - ruby24rails50:
410
+ requires:
411
+ - testapp50
412
+
413
+ - ruby24rails51:
414
+ requires:
415
+ - testapp51
416
+
417
+ - ruby24rails52:
418
+ requires:
419
+ - testapp52
420
+
421
+ - ruby25rails42:
422
+ requires:
423
+ - testapp50
424
+
425
+ - ruby25rails50:
426
+ requires:
427
+ - testapp50
428
+
429
+ - ruby25rails51:
430
+ requires:
431
+ - testapp51
432
+
433
+ - ruby25rails52:
434
+ requires:
435
+ - testapp52
436
+
437
+ - jruby91rails42:
438
+ requires:
439
+ - testapp42
440
+
441
+ - jruby91rails50:
442
+ requires:
443
+ - testapp50
444
+
445
+ - jruby91rails51:
446
+ requires:
447
+ - testapp51
448
+
449
+ - jruby91rails52:
450
+ requires:
451
+ - testapp52
452
+
453
+ - jruby92rails42:
454
+ requires:
455
+ - testapp42
456
+
457
+ - jruby92rails50:
458
+ requires:
459
+ - testapp50
460
+
461
+ - jruby92rails51:
462
+ requires:
463
+ - testapp51
464
+
465
+ - jruby92rails52:
466
+ requires:
467
+ - testapp52