aruba 0.14.14 → 1.0.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 (299) hide show
  1. checksums.yaml +4 -4
  2. data/.cucumberproignore +3 -0
  3. data/.github/ISSUE_TEMPLATE.md +48 -0
  4. data/.github/PULL_REQUEST_TEMPLATE.md +41 -0
  5. data/.gitignore +1 -0
  6. data/.rspec +1 -1
  7. data/.rubocop.yml +20 -181
  8. data/.rubocop_todo.yml +262 -0
  9. data/.simplecov +7 -5
  10. data/.travis.yml +53 -28
  11. data/.yardopts +3 -0
  12. data/CHANGELOG.md +301 -2
  13. data/CONTRIBUTING.md +247 -45
  14. data/Dockerfile +67 -0
  15. data/Gemfile +5 -114
  16. data/LICENSE +1 -1
  17. data/README.md +57 -180
  18. data/Rakefile +63 -32
  19. data/appveyor.yml +8 -11
  20. data/aruba.gemspec +47 -41
  21. data/bin/console +7 -0
  22. data/bin/test +9 -0
  23. data/cucumber.yml +4 -24
  24. data/doc/dependency_decisions.yml +35 -13
  25. data/docker-compose.yml +26 -0
  26. data/{bin → exe}/aruba +1 -1
  27. data/fixtures/cli-app/Rakefile +1 -1
  28. data/fixtures/cli-app/bin/aruba-test-cli +1 -1
  29. data/fixtures/cli-app/cli-app.gemspec +1 -2
  30. data/fixtures/cli-app/features/support/aruba.rb +1 -0
  31. data/fixtures/cli-app/features/support/env.rb +1 -1
  32. data/fixtures/cli-app/lib/cli/app/suppress_simple_cov_output.rb +3 -3
  33. data/fixtures/cli-app/lib/cli/app/version.rb +1 -1
  34. data/fixtures/cli-app/lib/cli/app.rb +1 -5
  35. data/fixtures/cli-app/spec/spec_helper.rb +4 -7
  36. data/fixtures/empty-app/Rakefile +1 -1
  37. data/fixtures/empty-app/cli-app.gemspec +1 -2
  38. data/fixtures/empty-app/lib/cli/app/version.rb +1 -1
  39. data/fixtures/getting-started-app/Gemfile +1 -1
  40. data/lib/aruba/api/commands.rb +85 -143
  41. data/lib/aruba/api/core.rb +48 -41
  42. data/lib/aruba/api/environment.rb +16 -7
  43. data/lib/aruba/api/filesystem.rb +43 -30
  44. data/lib/aruba/api/text.rb +3 -9
  45. data/lib/aruba/api.rb +6 -11
  46. data/lib/aruba/aruba_path.rb +27 -89
  47. data/lib/aruba/basic_configuration.rb +4 -24
  48. data/lib/aruba/cli.rb +1 -1
  49. data/lib/aruba/command.rb +2 -0
  50. data/lib/aruba/config/jruby.rb +1 -1
  51. data/lib/aruba/config_wrapper.rb +1 -1
  52. data/lib/aruba/configuration.rb +92 -0
  53. data/lib/aruba/console/help.rb +1 -7
  54. data/lib/aruba/console.rb +5 -5
  55. data/lib/aruba/contracts/absolute_path.rb +2 -2
  56. data/lib/aruba/contracts/relative_path.rb +2 -2
  57. data/lib/aruba/cucumber/command.rb +133 -92
  58. data/lib/aruba/cucumber/environment.rb +1 -1
  59. data/lib/aruba/cucumber/file.rb +21 -23
  60. data/lib/aruba/cucumber/hooks.rb +18 -13
  61. data/lib/aruba/cucumber/testing_frameworks.rb +74 -50
  62. data/lib/aruba/cucumber.rb +0 -6
  63. data/lib/aruba/event_bus/name_resolver.rb +5 -16
  64. data/lib/aruba/hooks.rb +1 -1
  65. data/lib/aruba/in_config_wrapper.rb +5 -1
  66. data/lib/aruba/initializer.rb +36 -42
  67. data/lib/aruba/matchers/base/base_matcher.rb +2 -2
  68. data/lib/aruba/matchers/base/message_indenter.rb +19 -0
  69. data/lib/aruba/matchers/base/object_formatter.rb +2 -9
  70. data/lib/aruba/matchers/collection/include_an_object.rb +7 -9
  71. data/lib/aruba/matchers/command/be_successfully_executed.rb +6 -4
  72. data/lib/aruba/matchers/command/have_exit_status.rb +14 -4
  73. data/lib/aruba/matchers/command/have_finished_in_time.rb +3 -5
  74. data/lib/aruba/matchers/command/have_output.rb +10 -5
  75. data/lib/aruba/matchers/command/have_output_on_stderr.rb +2 -2
  76. data/lib/aruba/matchers/command/have_output_on_stdout.rb +2 -2
  77. data/lib/aruba/matchers/command/have_output_size.rb +2 -2
  78. data/lib/aruba/matchers/directory/be_an_existing_directory.rb +5 -7
  79. data/lib/aruba/matchers/directory/have_sub_directory.rb +4 -6
  80. data/lib/aruba/matchers/file/be_a_command_found_in_path.rb +2 -4
  81. data/lib/aruba/matchers/file/be_an_existing_executable.rb +4 -6
  82. data/lib/aruba/matchers/file/be_an_existing_file.rb +5 -7
  83. data/lib/aruba/matchers/file/have_file_content.rb +4 -4
  84. data/lib/aruba/matchers/file/have_file_size.rb +6 -8
  85. data/lib/aruba/matchers/file/have_same_file_content.rb +5 -8
  86. data/lib/aruba/matchers/path/a_path_matching_pattern.rb +2 -4
  87. data/lib/aruba/matchers/path/be_an_absolute_path.rb +3 -5
  88. data/lib/aruba/matchers/path/be_an_existing_path.rb +4 -6
  89. data/lib/aruba/matchers/path/have_permissions.rb +6 -8
  90. data/lib/aruba/matchers/string/include_output_string.rb +8 -10
  91. data/lib/aruba/matchers/string/match_output_string.rb +9 -11
  92. data/lib/aruba/matchers/string/output_string_eq.rb +8 -10
  93. data/lib/aruba/platform.rb +0 -8
  94. data/lib/aruba/platforms/announcer.rb +30 -72
  95. data/lib/aruba/platforms/aruba_file_creator.rb +2 -6
  96. data/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +2 -2
  97. data/lib/aruba/platforms/aruba_logger.rb +23 -7
  98. data/lib/aruba/platforms/command_monitor.rb +11 -103
  99. data/lib/aruba/platforms/determine_disk_usage.rb +56 -14
  100. data/lib/aruba/platforms/filesystem_status.rb +10 -14
  101. data/lib/aruba/platforms/local_environment.rb +2 -2
  102. data/lib/aruba/platforms/simple_table.rb +3 -11
  103. data/lib/aruba/platforms/unix_command_string.rb +7 -11
  104. data/lib/aruba/platforms/unix_environment_variables.rb +18 -27
  105. data/lib/aruba/platforms/unix_platform.rb +16 -50
  106. data/lib/aruba/platforms/unix_which.rb +2 -1
  107. data/lib/aruba/platforms/windows_command_string.rb +15 -10
  108. data/lib/aruba/platforms/windows_environment_variables.rb +43 -44
  109. data/lib/aruba/platforms/windows_platform.rb +4 -0
  110. data/lib/aruba/platforms/windows_which.rb +4 -3
  111. data/lib/aruba/processes/basic_process.rb +18 -20
  112. data/lib/aruba/processes/debug_process.rb +12 -3
  113. data/lib/aruba/processes/in_process.rb +17 -8
  114. data/lib/aruba/processes/spawn_process.rb +36 -39
  115. data/lib/aruba/rspec.rb +14 -36
  116. data/lib/aruba/runtime.rb +3 -6
  117. data/lib/aruba/setup.rb +1 -1
  118. data/lib/aruba/tasks/docker_helpers.rb +154 -0
  119. data/lib/aruba/version.rb +1 -1
  120. metadata +190 -242
  121. data/features/.nav +0 -72
  122. data/features/01_getting_started_with_aruba/cleanup_working_directory.feature +0 -57
  123. data/features/01_getting_started_with_aruba/run_commands.feature +0 -217
  124. data/features/01_getting_started_with_aruba/supported_testing_frameworks.feature +0 -88
  125. data/features/02_configure_aruba/activate_announcer_on_command_failure.feature +0 -38
  126. data/features/02_configure_aruba/basics.feature +0 -151
  127. data/features/02_configure_aruba/command_runtime_environment.feature +0 -129
  128. data/features/02_configure_aruba/console_history_file.feature +0 -38
  129. data/features/02_configure_aruba/exit_timeout.feature +0 -60
  130. data/features/02_configure_aruba/fixtures_directories.feature +0 -38
  131. data/features/02_configure_aruba/fixtures_path_prefix.feature +0 -23
  132. data/features/02_configure_aruba/home_directory.feature +0 -80
  133. data/features/02_configure_aruba/io_timeout.feature +0 -30
  134. data/features/02_configure_aruba/keep_ansi.feature +0 -30
  135. data/features/02_configure_aruba/log_level.feature +0 -38
  136. data/features/02_configure_aruba/physical_block_size.feature +0 -53
  137. data/features/02_configure_aruba/remove_ansi_escape_sequences.feature +0 -38
  138. data/features/02_configure_aruba/root_directory.feature +0 -30
  139. data/features/02_configure_aruba/startup_wait_time.feature +0 -48
  140. data/features/02_configure_aruba/working_directory.feature +0 -38
  141. data/features/03_testing_frameworks/cucumber/announce_information_for_troubleshooting.feature +0 -306
  142. data/features/03_testing_frameworks/cucumber/disable_bunder.feature +0 -18
  143. data/features/03_testing_frameworks/cucumber/steps/command/check_for_exit_statuses.feature +0 -136
  144. data/features/03_testing_frameworks/cucumber/steps/command/check_output_of_command.feature +0 -514
  145. data/features/03_testing_frameworks/cucumber/steps/command/check_stderr_of_command.feature +0 -68
  146. data/features/03_testing_frameworks/cucumber/steps/command/check_stdout_of_command.feature +0 -109
  147. data/features/03_testing_frameworks/cucumber/steps/command/debug_your_command_in_aruba.feature +0 -118
  148. data/features/03_testing_frameworks/cucumber/steps/command/run_a_command.feature +0 -66
  149. data/features/03_testing_frameworks/cucumber/steps/command/run_command_in_process.feature +0 -485
  150. data/features/03_testing_frameworks/cucumber/steps/command/run_command_interactively.feature +0 -90
  151. data/features/03_testing_frameworks/cucumber/steps/command/run_commands_which_require_a_shell.feature +0 -79
  152. data/features/03_testing_frameworks/cucumber/steps/command/send_signal_to_command.feature +0 -83
  153. data/features/03_testing_frameworks/cucumber/steps/command/stop_command.feature +0 -285
  154. data/features/03_testing_frameworks/cucumber/steps/environment/append_environment_variable.feature +0 -52
  155. data/features/03_testing_frameworks/cucumber/steps/environment/modify_home_variable_for_testing.feature +0 -62
  156. data/features/03_testing_frameworks/cucumber/steps/environment/prepend_environment_variable.feature +0 -52
  157. data/features/03_testing_frameworks/cucumber/steps/environment/set_environment_variable.feature +0 -49
  158. data/features/03_testing_frameworks/cucumber/steps/filesystem/append_to_file.feature +0 -45
  159. data/features/03_testing_frameworks/cucumber/steps/filesystem/cd_to_directory.feature +0 -33
  160. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_existence_of_directory.feature +0 -57
  161. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_existence_of_file.feature +0 -43
  162. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_file_content.feature +0 -143
  163. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_non_existence_of_directory.feature +0 -69
  164. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_non_existence_of_file.feature +0 -80
  165. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_permissions_of_file.feature +0 -39
  166. data/features/03_testing_frameworks/cucumber/steps/filesystem/compare_files.feature +0 -42
  167. data/features/03_testing_frameworks/cucumber/steps/filesystem/copy_file_or_directory.feature +0 -45
  168. data/features/03_testing_frameworks/cucumber/steps/filesystem/create_directory.feature +0 -57
  169. data/features/03_testing_frameworks/cucumber/steps/filesystem/create_file.feature +0 -76
  170. data/features/03_testing_frameworks/cucumber/steps/filesystem/move_file_or_directory.feature +0 -44
  171. data/features/03_testing_frameworks/cucumber/steps/filesystem/overwrite_file.feature +0 -72
  172. data/features/03_testing_frameworks/cucumber/steps/filesystem/remove_directory.feature +0 -38
  173. data/features/03_testing_frameworks/cucumber/steps/filesystem/remove_file.feature +0 -38
  174. data/features/03_testing_frameworks/cucumber/steps/filesystem/use_fixtures_for_setup_test.feature +0 -77
  175. data/features/03_testing_frameworks/rspec/hooks/define_after_hook_for_commands.feature +0 -43
  176. data/features/03_testing_frameworks/rspec/hooks/define_before_hook_for_commands.feature +0 -71
  177. data/features/03_testing_frameworks/rspec/setup_aruba_for_rspec.feature +0 -179
  178. data/features/04_aruba_api/command/find_a_started_command.feature +0 -83
  179. data/features/04_aruba_api/command/find_command_in_PATH.feature +0 -37
  180. data/features/04_aruba_api/command/read_stderr_of_command.feature +0 -46
  181. data/features/04_aruba_api/command/read_stdout_of_command.feature +0 -46
  182. data/features/04_aruba_api/command/run_command.feature +0 -423
  183. data/features/04_aruba_api/command/run_simple.feature +0 -254
  184. data/features/04_aruba_api/command/send_signal_to_command.feature +0 -53
  185. data/features/04_aruba_api/command/stop_all_commands.feature +0 -57
  186. data/features/04_aruba_api/command/stop_single_command.feature +0 -132
  187. data/features/04_aruba_api/command/terminate_all_commands.feature +0 -57
  188. data/features/04_aruba_api/command/use_last_command_started.feature +0 -50
  189. data/features/04_aruba_api/command/use_last_command_stopped.feature +0 -89
  190. data/features/04_aruba_api/core/expand_path.feature +0 -88
  191. data/features/04_aruba_api/environment/append_environment_variable.feature +0 -128
  192. data/features/04_aruba_api/environment/delete_environment_variable.feature +0 -63
  193. data/features/04_aruba_api/environment/prepend_environment_variable.feature +0 -128
  194. data/features/04_aruba_api/environment/set_environment_variable.feature +0 -376
  195. data/features/04_aruba_api/filesystem/cd_to_directory.feature +0 -184
  196. data/features/04_aruba_api/filesystem/check_existence_file_or_directory.feature +0 -62
  197. data/features/04_aruba_api/filesystem/check_if_path_is_absolute.feature +0 -48
  198. data/features/04_aruba_api/filesystem/check_if_path_is_directory.feature +0 -53
  199. data/features/04_aruba_api/filesystem/check_if_path_is_file.feature +0 -54
  200. data/features/04_aruba_api/filesystem/check_if_path_is_relative.feature +0 -48
  201. data/features/04_aruba_api/filesystem/create_directory.feature +0 -57
  202. data/features/04_aruba_api/filesystem/move_file_or_directory.feature +0 -119
  203. data/features/04_aruba_api/filesystem/report_disk_usage.feature +0 -152
  204. data/features/04_aruba_api/filesystem/use_fixtures.feature +0 -104
  205. data/features/04_aruba_api/text/extract_text.feature +0 -87
  206. data/features/04_aruba_api/text/replace_variables.feature +0 -45
  207. data/features/04_aruba_api/text/sanitize_text.feature +0 -228
  208. data/features/04_aruba_api/text/unescape_text.feature +0 -127
  209. data/features/05_use_rspec_matchers/command/check_timeouts.feature +0 -48
  210. data/features/05_use_rspec_matchers/directory/have_sub_directory.feature +0 -110
  211. data/features/05_use_rspec_matchers/file/be_a_command_found_in_path.feature +0 -115
  212. data/features/05_use_rspec_matchers/file/be_existing_executable.feature +0 -88
  213. data/features/05_use_rspec_matchers/file/be_existing_file.feature +0 -82
  214. data/features/05_use_rspec_matchers/file/have_file_content.feature +0 -123
  215. data/features/05_use_rspec_matchers/file/have_file_size.feature +0 -107
  216. data/features/05_use_rspec_matchers/path/be_an_absolute_path.feature +0 -74
  217. data/features/05_use_rspec_matchers/path/be_an_existing_path.feature +0 -97
  218. data/features/05_use_rspec_matchers/path/have_permissions.feature +0 -118
  219. data/features/06_use_aruba_cli/initialize_project_with_aruba.feature +0 -79
  220. data/features/06_use_aruba_cli/open_console.feature +0 -55
  221. data/features/08_other/improve_performance_if_using_jruby.feature +0 -37
  222. data/features/step_definitions/hooks.rb +0 -146
  223. data/features/support/aruba.rb +0 -7
  224. data/features/support/env.rb +0 -33
  225. data/features/support/simplecov_setup.rb +0 -11
  226. data/fixtures/spawn_process/stderr.sh +0 -3
  227. data/lib/aruba/api/deprecated.rb +0 -1155
  228. data/lib/aruba/config.rb +0 -107
  229. data/lib/aruba/cucumber/core.rb +0 -5
  230. data/lib/aruba/cucumber/deprecated.rb +0 -93
  231. data/lib/aruba/cucumber/rvm.rb +0 -3
  232. data/lib/aruba/in_process.rb +0 -16
  233. data/lib/aruba/jruby.rb +0 -4
  234. data/lib/aruba/matchers/deprecated/file.rb +0 -17
  235. data/lib/aruba/matchers/deprecated.rb +0 -1
  236. data/lib/aruba/matchers/path/match_path_pattern.rb +0 -41
  237. data/lib/aruba/matchers/rspec_matcher_include_regexp.rb +0 -25
  238. data/lib/aruba/platforms/disk_usage_calculator.rb +0 -20
  239. data/lib/aruba/reporting.rb +0 -126
  240. data/lib/aruba/spawn_process.rb +0 -14
  241. data/script/bootstrap +0 -24
  242. data/script/console +0 -16
  243. data/script/test +0 -3
  244. data/spec/aruba/api/bundler_spec.rb +0 -15
  245. data/spec/aruba/api/commands_spec.rb +0 -30
  246. data/spec/aruba/api/core_spec.rb +0 -184
  247. data/spec/aruba/api/deprecated_spec.rb +0 -421
  248. data/spec/aruba/api/filesystem_spec.rb +0 -746
  249. data/spec/aruba/api/runtime_spec.rb +0 -28
  250. data/spec/aruba/api_spec.rb +0 -73
  251. data/spec/aruba/aruba_path_spec.rb +0 -103
  252. data/spec/aruba/basic_configuration_spec.rb +0 -5
  253. data/spec/aruba/configuration_spec.rb +0 -5
  254. data/spec/aruba/hooks_spec.rb +0 -17
  255. data/spec/aruba/in_config_wrapper_spec.rb +0 -25
  256. data/spec/aruba/jruby_spec.rb +0 -73
  257. data/spec/aruba/matchers/command/have_output_size_spec.rb +0 -25
  258. data/spec/aruba/matchers/command_spec.rb +0 -174
  259. data/spec/aruba/matchers/deprecated_spec.rb +0 -120
  260. data/spec/aruba/matchers/directory_spec.rb +0 -57
  261. data/spec/aruba/matchers/file_spec.rb +0 -208
  262. data/spec/aruba/matchers/path_spec.rb +0 -58
  263. data/spec/aruba/platform/simple_table_spec.rb +0 -23
  264. data/spec/aruba/platform/windows_environment_variables_spec.rb +0 -500
  265. data/spec/aruba/platforms/unix_command_string_spec.rb +0 -17
  266. data/spec/aruba/platforms/windows_command_string_spec.rb +0 -22
  267. data/spec/aruba/processes/spawn_process_spec.rb +0 -112
  268. data/spec/aruba/rspec_spec.rb +0 -15
  269. data/spec/aruba/runtime_spec.rb +0 -29
  270. data/spec/event_bus/name_resolver_spec.rb +0 -68
  271. data/spec/event_bus_spec.rb +0 -158
  272. data/spec/spec_helper.rb +0 -22
  273. data/spec/support/configs/.keep +0 -0
  274. data/spec/support/configs/aruba.rb +0 -5
  275. data/spec/support/configs/pry.rb +0 -3
  276. data/spec/support/configs/rspec.rb +0 -15
  277. data/spec/support/helpers/.keep +0 -0
  278. data/spec/support/helpers/reporting.rb +0 -44
  279. data/spec/support/matchers/.keep +0 -0
  280. data/spec/support/matchers/option.rb +0 -35
  281. data/spec/support/shared_contexts/.keep +0 -0
  282. data/spec/support/shared_contexts/aruba.rb +0 -49
  283. data/spec/support/shared_examples/.keep +0 -0
  284. data/spec/support/shared_examples/configuration.rb +0 -116
  285. data/spec/support/shared_examples/directory.rb +0 -7
  286. data/spec/support/shared_examples/file.rb +0 -7
  287. data/templates/css/console.css +0 -24
  288. data/templates/css/filesystem.css +0 -42
  289. data/templates/css/pygments-autumn.css +0 -59
  290. data/templates/files.erb +0 -14
  291. data/templates/images/LICENSE +0 -22
  292. data/templates/images/folder.png +0 -0
  293. data/templates/images/page_white.png +0 -0
  294. data/templates/images/page_white_gherkin.png +0 -0
  295. data/templates/images/page_white_ruby.png +0 -0
  296. data/templates/index.erb +0 -20
  297. data/templates/js/filesystem.js +0 -5
  298. data/templates/js/jquery-1.11.3.min.js +0 -5
  299. data/templates/main.erb +0 -34
data/README.md CHANGED
@@ -1,225 +1,102 @@
1
+ [![MIT license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/cucumber/aruba/master/LICENSE)
2
+ [![Docs](https://img.shields.io/badge/cucumber.pro-aruba-3d10af.svg)](https://app.cucumber.pro/projects/aruba)
1
3
  [![Gem Version](https://badge.fury.io/rb/aruba.svg)](http://badge.fury.io/rb/aruba)
2
4
  [![Code Climate](https://codeclimate.com/github/cucumber/aruba.svg)](https://codeclimate.com/github/cucumber/aruba)
3
- [![Join the chat at https://gitter.im/cucumber/aruba](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/cucumber/aruba?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
5
+ [![Support](https://img.shields.io/badge/cucumber-support-orange.svg)](https://cucumber.io/support)
4
6
 
5
- Build status:
6
-
7
- Linux / OS X | Windows
8
- ------------- | -------------
9
- [![Build Status](https://travis-ci.org/cucumber/aruba.svg?branch=master)](https://travis-ci.org/cucumber/aruba) | [![Build status](https://ci.appveyor.com/api/projects/status/jfo2tkqhnrqqcivl?svg=true)](https://ci.appveyor.com/project/cucumberbdd/aruba/branch/master)
10
-
11
- `aruba` is an extension for popular TDD and BDD frameworks like "Cucumber", "RSpec" and "Minitest" to make testing of commandline applications meaningful, easy and fun.
12
-
13
- Features at a glance:
14
-
15
- * Test any command line application, implemented in any [programming
16
- language](features/getting_started/supported_programming_languages.feature) -
17
- e.g. Bash, Python, Ruby, Java, ...
18
- * Manipulate the file system and the process environment
19
- * Automatically reset state of file system and process environment between tests
7
+ [![Travis CI build status](https://travis-ci.org/cucumber/aruba.svg)](https://travis-ci.org/cucumber/aruba)
8
+ [![Appveyor build status](https://ci.appveyor.com/api/projects/status/jfo2tkqhnrqqcivl?svg=true)](https://ci.appveyor.com/project/cucumberbdd/aruba)
20
9
 
21
10
  ## Install
22
11
 
23
12
  Add this line to your application's `Gemfile`:
24
13
 
25
- gem 'aruba'
14
+ ```ruby
15
+ gem 'aruba'
16
+ ```
26
17
 
27
18
  And then execute:
28
19
 
29
- $ bundle
20
+ ```bash
21
+ bundle
22
+ ```
30
23
 
31
24
  Or install it yourself as:
32
25
 
33
- $ gem install aruba
34
-
35
- ### Release Policy
36
-
37
- We try to be compliant to [Semantic Versioning 2.0.0](http://semver.org/spec/v2.0.0.html).
38
-
39
- ### Supported ruby versions
40
-
41
- For an up to date list of all supported ruby versions, please see our [`.travis.yml`](https://github.com/cucumber/aruba/blob/master/.travis.yml). We only test against the latest version of a version branch - most times.
26
+ ```bash
27
+ gem install aruba
28
+ ```
42
29
 
43
30
  ## Usage
44
31
 
45
- Please also see this
46
- [feature test](https://github.com/cucumber/aruba/blob/master/features/getting_started/supported_testing_frameworks.feature)
47
- for the most up to date documentation.
48
-
49
- ### Initialize your project with "aruba"
50
-
51
- There's an initializer to make it easier for you to getting started. If you
52
- prefer to setup `aruba` yourself, please move on to the next section.
53
-
54
- 1. Go to your project's directory
55
-
56
- 2. Make sure, it's under version control and all changes are committed to your
57
- version control repository
58
-
59
- 3. Run one of the following commands depending on the tools you use to test your project.
60
-
61
- This assumes, that you use either `rspec`, `cucumber-ruby` or `minitest` to
62
- write the tests for your project. Besides that, your tool can be implemented
63
- in any programming language you like.
64
-
65
- ~~~bash
66
- aruba init --test-framework rspec
67
- aruba init --test-framework cucumber
68
- aruba init --test-framework minitest
69
- ~~~
70
-
71
- ### Cucumber
72
-
73
- 1. Create a file named "features/support/env.rb" with:
74
-
75
- ~~~ruby
76
- require 'aruba/cucumber'
77
- ~~~
32
+ ### As a user getting started with Aruba
78
33
 
79
- 2. Create a file named "features/use_aruba_with_cucumber.feature" with:
34
+ Our most current documentation to get started with Aruba as a user can be
35
+ found on [Cucumber Jam](https://app.cucumber.pro/projects/aruba).
36
+ It is generated from our feature files describing the use of Aruba.
80
37
 
81
- ~~~ruby
82
- Feature: Cucumber
83
- Scenario: First Run
84
- Given a file named "file.txt" with:
85
- """
86
- Hello World
87
- """
88
- Then the file "file.txt" should contain:
89
- """
90
- Hello World
91
- """
92
- ~~~
38
+ ### As a user getting started with a ruby testing framework
93
39
 
94
- 3. Run `cucumber`
40
+ * **Cucumber**:
95
41
 
96
- ### RSpec
42
+ If you're new to the Cucumber ecosystem, it's worth to visit
43
+ [the project's documentation site](https://cucumber.io/docs). This also includes
44
+ information about how to write feature files in Gherkin.
97
45
 
98
- 1. Create a file named "spec/support/aruba.rb" with:
46
+ * **RSpec**:
99
47
 
100
- ~~~ruby
101
- require 'aruba/rspec'
102
- ~~~
48
+ If you want to use Aruba with RSpec and you need some information about how to use RSpec, please visit [their website](http://rspec.info/documentation/).
103
49
 
104
- 2. Create a file named "spec/spec_helper.rb" with:
50
+ * **minitest**:
105
51
 
106
- ~~~ruby
107
- $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
52
+ The documentation for minitest can be found [here](http://docs.seattlerb.org/minitest/).
108
53
 
109
- if RUBY_VERSION < '1.9.3'
110
- ::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require File.join(File.dirname(f), File.basename(f, '.rb')) }
111
- else
112
- ::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require_relative f }
113
- end
114
- ~~~
54
+ ### As a developer getting started with Aruba
115
55
 
116
- 3. Create a file named named "spec/use_aruba_with_rspec_spec.rb" with:
56
+ A full documentation of the API for developers can be found on
57
+ [RubyDoc](http://www.rubydoc.info/gems/aruba).
117
58
 
118
- ~~~ruby
119
- require 'spec_helper'
59
+ ## Support
120
60
 
121
- RSpec.describe 'First Run', :type => :aruba do
122
- let(:file) { 'file.txt' }
123
- let(:content) { 'Hello World' }
61
+ ### Channels
124
62
 
125
- before(:each) { write_file file, content }
63
+ For support, please have a look at the [support website](https://cucumber.io/support)
64
+ of Cucumber. You have different options to reach out for help: Recommended for
65
+ Aruba are using the Slack channels &mdash; e.g. `committers-aruba` or `help-cucumber-ruby`
66
+ &mdash; ([register account](https://cucumberbdd-slack-invite.herokuapp.com/)), and the
67
+ [Issues page on GitHub](https://github.com/cucumber/aruba/issues).
126
68
 
127
- it { expect(read(file)).to eq [content] }
128
- end
129
- ~~~
69
+ ### Maintainers
130
70
 
131
- 4. Run `rspec`
71
+ Currently, this gem is mainly maintained by this group of people:
132
72
 
133
- ### Minitest
73
+ * [@mvz](https://github.com/mvz)
134
74
 
135
- 1. Add a file named "test/support/aruba.rb" with:
75
+ ## Release Policy
136
76
 
137
- ~~~ ruby
138
- require 'aruba/api'
139
- ~~~
77
+ We try to comply with [Semantic Versioning 2.0.0](http://semver.org/spec/v2.0.0.html).
140
78
 
141
- 2. Add a file named "test/test_helper.rb" with:
79
+ ## Supported Ruby versions
142
80
 
143
- ~~~ruby
144
- $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
81
+ Aruba is supported on Ruby 2.4 and up, and tested against CRuby 2.4, 2.5, 2.6
82
+ and 2.7, and JRuby 9.2.
145
83
 
146
- if RUBY_VERSION < '1.9.3'
147
- ::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require File.join(File.dirname(f), File.basename(f, '.rb')) }
148
- else
149
- ::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require_relative f }
150
- end
151
- ~~~
84
+ ## Supported operating systems
152
85
 
153
- 3. Add a file named "test/use_aruba_with_minitest.rb" with:
154
-
155
- ~~~ruby
156
- $LOAD_PATH.unshift File.expand_path('../test', __FILE__)
157
-
158
- require 'test_helper'
159
- require 'minitest/autorun'
160
-
161
- class FirstRun < Minitest::Test
162
- include Aruba::Api
163
-
164
- def setup
165
- aruba_setup
166
- end
167
-
168
- def getting_started_with_aruba
169
- file = 'file.txt'
170
- content = 'Hello World'
171
-
172
- write_file file, content
173
- read(file).must_equal [content]
174
- end
175
- end
176
- ~~~
177
-
178
- 4. Run your tests
179
-
180
- `ruby -Ilib:test test/use_aruba_with_minitest.rb`
181
-
182
- ## Documentation
183
-
184
- ### User Documentation
185
-
186
- If you're interested in our steps and API, please browse our [feature
187
- files](https://github.com/cucumber/aruba/tree/master/features). You can find a
188
- lot of examples there. A good starting point are [Getting
189
- Started](https://github.com/cucumber/aruba/tree/master/features/getting_started)
190
- and [Step
191
- Overview](https://github.com/cucumber/aruba/blob/master/features/steps/overview.feature).
192
- A more or less full list of our steps can be found
193
- [here](https://github.com/cucumber/aruba/tree/master/features/steps). Our API
194
- is documentated
195
- [here](https://github.com/cucumber/aruba/tree/master/features/api) and some
196
- more information about how to configure `aruba`, can be found
197
- [here](https://github.com/cucumber/aruba/tree/master/features/configuration).
198
- The "RSpec" matchers provided by `aruba`, are documented
199
- [here](https://github.com/cucumber/aruba/tree/master/features/matchers).
200
-
201
- You can find our documentation on
202
- [Relish](http://www.relishapp.com/cucumber/aruba/docs) as well. Unfortunately
203
- "Relish" does not like the way we structered our feature tests. So this
204
- documentation found there may be not complete.
205
-
206
- ### Developer Documentation
207
-
208
- `aruba` provides a wonderful API to be used in your tests:
209
-
210
- * Creating files/directories
211
- * Deleting files/directories
212
- * Checking file size
213
- * Checking file existence/absence
214
- * ...
215
-
216
- A full documentation of the API can be found
217
- [here](http://www.rubydoc.info/github/cucumber/aruba/master/frames).
86
+ Aruba is fully tested in CI on Linux and MacOS. On Windows, only RSpec tests
87
+ are run, so YMMV. Full Windows support is a work in progress.
218
88
 
219
89
  ## Contributing
220
90
 
221
91
  Please see the [CONTRIBUTING](CONTRIBUTING.md) file.
222
92
 
223
- ## Copyright
93
+ ## Code branches
94
+
95
+ Development takes place in the `master` branch and currently targets the 1.x
96
+ releases. If necessary, maintenance of the old 0.14.x releases takes place in
97
+ the `0-14-stable` branch. Stable branches will not be created until absolutely
98
+ necessary.
99
+
100
+ ## License
224
101
 
225
- Copyright (c) 2010-2016 Aslak Hellesøy et al. See [MIT License](LICENSE) for details.
102
+ See the file [LICENSE](LICENSE).
data/Rakefile CHANGED
@@ -1,49 +1,80 @@
1
- # encoding: utf-8
2
- require 'rubygems'
1
+ $LOAD_PATH << File.expand_path(__dir__)
2
+
3
+ require 'aruba/tasks/docker_helpers'
4
+ require 'aruba/platform'
5
+
3
6
  require 'bundler'
4
7
  Bundler.setup
5
- Bundler::GemHelper.install_tasks
8
+
9
+ task default: %w(spec cucumber cucumber:wip lint)
10
+
11
+ desc 'Run all linters.'
12
+ task lint: %w(lint:coding_guidelines lint:licenses)
13
+
14
+ desc 'Run the whole test suite.'
15
+ task test: %w(spec cucumber cucumber:wip)
6
16
 
7
17
  require 'cucumber/rake/task'
18
+ require 'rspec/core/rake_task'
8
19
 
9
20
  Cucumber::Rake::Task.new do |t|
10
- t.cucumber_opts = ""
11
- t.cucumber_opts << "--format progress"
21
+ t.cucumber_opts = %w{--format progress}
12
22
  end
13
23
 
14
- Cucumber::Rake::Task.new(:cucumber_wip) do |t|
15
- t.cucumber_opts = "-p wip"
24
+ Cucumber::Rake::Task.new('cucumber:wip', 'Run Cucumber features '\
25
+ 'which are "WORK IN PROGRESS" and '\
26
+ 'are allowed to fail') do |t|
27
+ t.cucumber_opts = %w{--format progress}
28
+ t.profile = 'wip'
16
29
  end
17
30
 
18
- require 'rspec/core/rake_task'
19
- desc "Run RSpec"
20
- RSpec::Core::RakeTask.new do |spec|
21
- spec.rspec_opts = ['--color', '--format progress', '--warnings']
22
- end
31
+ RSpec::Core::RakeTask.new
23
32
 
24
- namespace :travis do
25
- desc 'Lint travis.yml'
26
- task :lint do
27
- begin
28
- require 'travis/yaml'
29
-
30
- puts 'Linting .travis.yml ... No output is good!'
31
- Travis::Yaml.parse! File.read('.travis.yml')
32
- rescue LoadError
33
- $stderr.puts 'Your ruby is not supported for linting the .travis.yml file'
34
- end
33
+ namespace :lint do
34
+ desc 'Lint our code with "rubocop"'
35
+ task :coding_guidelines do
36
+ sh 'bundle exec rubocop'
35
37
  end
36
- end
37
38
 
38
- task :rubocop do
39
- if RUBY_VERSION >= '2'
40
- sh 'bundle exec rubocop --fail-level E'
41
- else
42
- warn 'Your ruby version is not supported for code linting'
39
+ desc 'Check for relevant licenses in project'
40
+ task :licenses do
41
+ sh 'bundle exec license_finder'
43
42
  end
43
+
44
+ require 'yard-junk/rake'
45
+ YardJunk::Rake.define_task
44
46
  end
45
47
 
46
- desc "Run tests, both RSpec and Cucumber"
47
- task :test => [ 'travis:lint', :rubocop, :spec, :cucumber, :cucumber_wip]
48
+ Bundler::GemHelper.install_tasks
49
+
50
+ namespace :docker do
51
+ desc 'Build docker image'
52
+ task :build, :cache, :version do |_, args|
53
+ args.with_defaults(version: 'latest')
54
+ args.with_defaults(cache: true)
55
+
56
+ docker_compose_file = Aruba::DockerComposeFile.new(File.expand_path('docker-compose.yml', __dir__))
57
+ docker_run_instance = Aruba::DockerRunInstance.new(docker_compose_file, :base)
58
+
59
+ builder = Aruba::DockerBuildCommandLineBuilder.new(
60
+ docker_run_instance,
61
+ cache: args[:cache],
62
+ version: args[:version]
63
+ )
64
+
65
+ sh builder.to_cli
66
+ end
67
+
68
+ desc 'Run docker container'
69
+ task :run, :command do |_, args|
70
+ docker_compose_file = Aruba::DockerComposeFile.new(File.expand_path('docker-compose.yml', __dir__))
71
+ docker_run_instance = Aruba::DockerRunInstance.new(docker_compose_file, :base)
72
+
73
+ builder = Aruba::DockerRunCommandLineBuilder.new(
74
+ docker_run_instance,
75
+ command: args[:command] || docker_run_instance.command
76
+ )
48
77
 
49
- task :default => :test
78
+ sh builder.to_cli
79
+ end
80
+ end
data/appveyor.yml CHANGED
@@ -1,11 +1,12 @@
1
1
  version: "{build}"
2
2
 
3
- # This will build all PRs targetting matching branches.
3
+ # This will build all PRs targeting matching branches.
4
4
  # Without this, each PR builds twice -- once for the PR branch HEAD,
5
- # and once for the merge commit that github creates for each mergable PR.
5
+ # and once for the merge commit that github creates for each mergeable PR.
6
6
  branches:
7
7
  only:
8
8
  - master
9
+ - still
9
10
 
10
11
  # Disable normal Windows builds in favor of our test script.
11
12
  build: off
@@ -14,19 +15,15 @@ install:
14
15
  - SET PATH=C:\Ruby%ruby_version%\bin;%PATH%
15
16
  - ruby --version
16
17
  - gem --version
17
- - gem install bundler
18
18
  - bundler --version
19
19
  - bundle install
20
- - cinst ansicon
21
20
 
22
21
  test_script:
23
- - bundle exec rake test --trace
22
+ - bundle exec rake spec --trace
24
23
 
25
24
  environment:
26
25
  matrix:
27
- - ruby_version: '18'
28
- - ruby_version: '19'
29
- - ruby_version: '20'
30
- - ruby_version: '21'
31
- - ruby_version: '22'
32
-
26
+ - ruby_version: '24'
27
+ - ruby_version: '25'
28
+ - ruby_version: '26'
29
+ # Note: ruby version 2.7 is not available as of 2019-12-31
data/aruba.gemspec CHANGED
@@ -1,48 +1,54 @@
1
- # -*- encoding: utf-8 -*-
2
1
  lib = ::File.expand_path('../lib', __FILE__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
3
  require 'aruba/version'
5
4
 
6
- Gem::Specification.new do |s|
7
- s.name = 'aruba'
8
- s.version = Aruba::VERSION
9
- s.authors = ["Aslak Hellesøy", "David Chelimsky", "Mike Sassak", "Matt Wynne", "Jarl Friis", "Dennis Günnewig"]
10
- s.description = 'Extension for popular TDD and BDD frameworks like "Cucumber", "RSpec" and "Minitest" to make testing commandline applications meaningful, easy and fun.'
11
- s.summary = "aruba-#{s.version}"
12
- s.license = 'MIT'
13
- s.email = 'cukes@googlegroups.com'
14
- s.homepage = 'http://github.com/cucumber/aruba'
15
-
16
- s.add_runtime_dependency 'cucumber', '>= 1.3.19'
17
- s.add_runtime_dependency 'childprocess', ['>= 0.6.3', '< 4.0.0']
18
- s.add_runtime_dependency 'ffi', '~> 1.9'
19
- s.add_runtime_dependency 'rspec-expectations', '>= 2.99'
20
- s.add_runtime_dependency 'contracts', '~> 0.9'
21
- s.add_runtime_dependency 'thor', ['>= 0.19', '< 2.0']
22
-
23
- s.add_development_dependency 'bundler', ['>= 1.7', '< 3.0']
24
-
25
- s.rubygems_version = ">= 1.6.1"
26
-
27
- if Aruba::VERSION >= '1'
28
- s.required_ruby_version = '>= 1.9.3'
29
- else
30
- s.required_ruby_version = '>= 1.8.7'
31
-
32
- s.post_install_message = <<-EOS
33
- Use on ruby 1.8.7
34
- * Make sure you add something like that to your `Gemfile`. Otherwise you will
35
- get cucumber > 2 and this will fail on ruby 1.8.7
36
-
37
- gem 'cucumber', '~> 1.3.20'
38
-
39
- With aruba >= 1.0 there will be breaking changes. Make sure to read https://github.com/cucumber/aruba/blob/master/History.md for 1.0.0
40
- EOS
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'aruba'
7
+ spec.version = Aruba::VERSION
8
+ spec.author = 'Aslak Hellesøy, Matt Wynne and other Aruba Contributors'
9
+ spec.description = 'Extension for popular TDD and BDD frameworks like "Cucumber", "RSpec" and "Minitest",
10
+ to make testing commandline applications meaningful, easy and fun.'
11
+ spec.summary = "aruba-#{spec.version}"
12
+ spec.license = 'MIT'
13
+ spec.email = 'cukes@googlegroups.com'
14
+ spec.homepage = 'https://github.com/cucumber/aruba'
15
+
16
+ spec.metadata = {
17
+ 'bug_tracker_uri' => 'https://github.com/cucumber/aruba/issues',
18
+ 'changelog_uri' => 'https://www.rubydoc.info/gems/aruba/file/CHANGELOG.md',
19
+ 'documentation_uri' => 'https://www.rubydoc.info/gems/aruba',
20
+ 'homepage_uri' => spec.homepage,
21
+ 'source_code_uri' => 'https://github.com/cucumber/aruba'
22
+ }
23
+
24
+ spec.add_runtime_dependency 'childprocess', '~> 3.0'
25
+ spec.add_runtime_dependency 'contracts', '~> 0.16.0'
26
+ spec.add_runtime_dependency 'cucumber', ['>= 2.4', '< 4.0']
27
+ spec.add_runtime_dependency 'ffi', '~> 1.9'
28
+ spec.add_runtime_dependency 'rspec-expectations', '~> 3.4'
29
+ spec.add_runtime_dependency 'thor', '~> 1.0'
30
+
31
+ spec.add_development_dependency 'json', '~> 2.1'
32
+ spec.add_development_dependency 'license_finder', '~> 6.0'
33
+ spec.add_development_dependency 'minitest', '~> 5.10'
34
+ spec.add_development_dependency 'pry-doc', '~> 1.0'
35
+ spec.add_development_dependency 'rake', '~> 13.0'
36
+ spec.add_development_dependency 'rspec', '~> 3.6'
37
+ spec.add_development_dependency 'rubocop', '~> 0.79.0'
38
+ spec.add_development_dependency 'rubocop-performance', '~> 1.5'
39
+ spec.add_development_dependency 'simplecov', '~> 0.18.0'
40
+ spec.add_development_dependency 'yard-junk', '~> 0.0.7'
41
+
42
+ spec.rubygems_version = '>= 1.6.1'
43
+ spec.required_ruby_version = '>= 2.4'
44
+
45
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
46
+ f.match(%r{^(test|spec|features)/})
41
47
  end
42
48
 
43
- s.files = `git ls-files`.split("\n")
44
- s.test_files = `git ls-files -- {spec,features}/*`.split("\n")
45
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
46
- s.rdoc_options = ["--charset=UTF-8"]
47
- s.require_path = "lib"
49
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
50
+ spec.rdoc_options = ['--charset', 'UTF-8', '--main', 'README.md']
51
+ spec.extra_rdoc_files = ['CHANGELOG.md', 'CONTRIBUTING.md', 'README.md', 'LICENSE']
52
+ spec.bindir = 'exe'
53
+ spec.require_paths = ['lib']
48
54
  end
data/bin/console ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $LOAD_PATH.unshift File.expand_path('../lib', __dir__)
4
+
5
+ require 'aruba/console'
6
+
7
+ Aruba::Console.new.start
data/bin/test ADDED
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env bash
2
+
3
+ : ${RUN_IN_DOCKER:='0'}
4
+
5
+ if [ "$RUN_IN_DOCKER" == '1' ]; then
6
+ bundle exec rake "docker:run[$*]"
7
+ else
8
+ bundle exec rake test $*
9
+ fi
data/cucumber.yml CHANGED
@@ -1,26 +1,6 @@
1
1
  <%
2
- $LOAD_PATH << ::File.expand_path('../lib', __FILE__)
3
- require 'aruba/version'
4
- require 'ffi'
5
-
6
- java_version = (RUBY_DESCRIPTION.match(/.*?on.*?(1\.[\d]\..*? )/))[1] if defined?(JRUBY_VERSION)
7
-
8
- std_opts = "--color --exclude features/fixtures --require features --tags ~@unsupported-on"
9
- java_default_opts = "--tags ~@wip-jruby-java-1.6" if defined?(JRUBY_VERSION) && (java_version < '1.7.0')
10
- java_wip_opts = "--tags @wip-jruby-java-1.6:3" if defined?(JRUBY_VERSION) && (java_version < '1.7.0')
11
-
12
- ignore_opts = []
13
- ignore_opts << '--tags ~@ignore'
14
- ignore_opts << '--tags ~@unsupported-on-platform-java' if RUBY_PLATFORM.include? 'java'
15
- ignore_opts << '--tags ~@unsupported-on-platform-mri' if !RUBY_PLATFORM.include? 'java'
16
- ignore_opts << '--tags ~@unsupported-on-platform-windows' if FFI::Platform.windows?
17
- ignore_opts << '--tags ~@unsupported-on-platform-unix' if FFI::Platform.unix?
18
- ignore_opts << '--tags ~@unsupported-on-platform-mac' if FFI::Platform.mac?
19
- ignore_opts << '--tags ~@unsupported-on-ruby-older-2' if RUBY_VERSION < '2'
20
- ignore_opts << '--tags ~@unsupported-on-ruby-older-193' if RUBY_VERSION < '1.9.3'
21
- ignore_opts << '--tags ~@unsupported-on-ruby-older-19' if RUBY_VERSION < '1.9'
22
- ignore_opts << '--tags ~@requires-aruba-version-1' if Aruba::VERSION < '1'
23
- ignore_opts = ignore_opts.join(' ')
2
+ std_opts = "--format pretty --color --exclude features/fixtures --require features --tags 'not @unsupported-on'"
3
+ ignore_opts = "--tags 'not @ignore'"
24
4
  %>
25
- default: <%= std_opts %> --tags ~@wip <%= java_default_opts %> <%= ignore_opts %>
26
- wip: <%= std_opts %> --wip --tags @wip:3 <%= java_wip_opts %> <%= ignore_opts %>
5
+ default: <%= std_opts %> --tags 'not @wip' <%= ignore_opts %>
6
+ wip: <%= std_opts %> --wip --tags @wip:3 <%= ignore_opts %>
@@ -1,5 +1,10 @@
1
1
  ---
2
- - - :whitelist
2
+ - - :approve
3
+ - win32console
4
+ - :who:
5
+ :why:
6
+ :when: 2016-05-09 14:57:58.000000000 Z
7
+ - - :permit
3
8
  - MIT
4
9
  - :who:
5
10
  :why:
@@ -9,26 +14,43 @@
9
14
  - :who:
10
15
  :why:
11
16
  :when: 2015-04-28 13:39:28.340867782 Z
12
- - - :whitelist
17
+ - - :permit
13
18
  - BSD
14
19
  - :who:
15
20
  :why:
16
21
  :when: 2015-04-28 13:39:40.984464786 Z
17
- - - :whitelist
18
- - Simplified BSD
22
+ - - :ignore_group
23
+ - development
19
24
  - :who:
20
25
  :why:
21
- :versions: []
22
- :when: 2019-09-25 17:32:18.724363167 Z
23
- - - :whitelist
24
- - New BSD
26
+ :when: 2016-04-19 21:35:58.945568982 Z
27
+ - - :ignore_group
28
+ - test
29
+ - :who:
30
+ :why:
31
+ :when: 2016-04-19 21:36:02.006089986 Z
32
+ - - :approve
33
+ - contracts
25
34
  - :who:
26
35
  :why:
27
- :versions: []
28
- :when: 2019-09-25 17:33:18.991343731 Z
29
- - - :whitelist
36
+ :when: 2016-04-19 21:38:58.571635580 Z
37
+ - - :permit
30
38
  - ruby
31
39
  - :who:
32
40
  :why:
33
- :versions: []
34
- :when: 2019-09-25 17:35:47.177302643 Z
41
+ :when: 2016-04-19 21:40:01.747535503 Z
42
+ - - :permit
43
+ - New BSD
44
+ - :who:
45
+ :why:
46
+ :when: 2016-12-07 14:54:49.587491547 Z
47
+ - - :permit
48
+ - Simplified BSD
49
+ - :who:
50
+ :why:
51
+ :when: 2017-06-30 06:37:18.031292275 Z
52
+ - - :ignore_group
53
+ - debug
54
+ - :who:
55
+ :why:
56
+ :when: 2017-06-09 14:29:19.742116140 Z