skippy 0.2.0.a → 0.3.0.a

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 (75) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +1 -0
  3. data/.gitmodules +3 -0
  4. data/.idea/.rakeTasks +6 -6
  5. data/.idea/codeStyleSettings.xml +8 -8
  6. data/.idea/encodings.xml +5 -5
  7. data/.idea/inspectionProfiles/Project_Default.xml +7 -7
  8. data/.idea/misc.xml +3 -3
  9. data/.idea/modules.xml +7 -7
  10. data/.idea/skippy.iml +89 -82
  11. data/.idea/vcs.xml +5 -5
  12. data/.rubocop.yml +93 -0
  13. data/.rubocop_todo.yml +24 -0
  14. data/.vscode/launch.json +51 -61
  15. data/.vscode/settings.json +41 -2
  16. data/.vscode/tasks.json +16 -16
  17. data/Gemfile +11 -2
  18. data/README.md +194 -15
  19. data/Rakefile +1 -1
  20. data/app/boot.rb +1 -1
  21. data/app/commands/install.rb +41 -0
  22. data/app/commands/lib.rb +42 -2
  23. data/app/commands/new.rb +22 -8
  24. data/app/commands/template.rb +2 -2
  25. data/bin/rubocop +17 -0
  26. data/bin/ruby-parse +17 -0
  27. data/bin/ruby-rewrite +17 -0
  28. data/debug/skippy.bat +2 -0
  29. data/fixtures/my_lib/{src → modules}/command.rb +0 -0
  30. data/fixtures/my_lib/{src → modules}/geometry.rb +0 -0
  31. data/fixtures/my_lib/modules/gl.rb +4 -0
  32. data/fixtures/my_lib/modules/gl/container.rb +8 -0
  33. data/fixtures/my_lib/modules/gl/control.rb +6 -0
  34. data/fixtures/my_lib/modules/gl/nested/nested.rb +8 -0
  35. data/fixtures/my_lib/{src → modules}/tool.rb +0 -0
  36. data/fixtures/my_lib/skippy.json +1 -1
  37. data/fixtures/my_project/skippy.json +2 -1
  38. data/fixtures/my_project/src/hello_world.rb +2 -2
  39. data/fixtures/my_project/src/hello_world/extension.json +9 -9
  40. data/fixtures/project_with_lib/.skippy/libs/my-lib/modules/command.rb +4 -0
  41. data/fixtures/project_with_lib/.skippy/libs/my-lib/modules/gl.rb +4 -0
  42. data/fixtures/project_with_lib/.skippy/libs/my-lib/modules/gl/container.rb +8 -0
  43. data/fixtures/project_with_lib/.skippy/libs/my-lib/modules/gl/control.rb +6 -0
  44. data/fixtures/project_with_lib/.skippy/libs/my-lib/skippy.json +5 -0
  45. data/fixtures/project_with_lib/.skippy/libs/my-other-lib/modules/something.rb +4 -0
  46. data/fixtures/project_with_lib/.skippy/libs/my-other-lib/skippy.json +5 -0
  47. data/fixtures/project_with_lib/skippy.json +25 -0
  48. data/fixtures/project_with_lib/skippy/commands/example.rb +14 -0
  49. data/fixtures/project_with_lib/src/hello_world.rb +47 -0
  50. data/fixtures/project_with_lib/src/hello_world/extension.json +10 -0
  51. data/fixtures/project_with_lib/src/hello_world/main.rb +21 -0
  52. data/fixtures/project_with_lib/src/hello_world/vendor/my-lib/command.rb +4 -0
  53. data/fixtures/project_with_lib/src/hello_world/vendor/my-other-lib/something.rb +4 -0
  54. data/lib/skippy.rb +2 -0
  55. data/lib/skippy/app.rb +2 -2
  56. data/lib/skippy/cli.rb +41 -20
  57. data/lib/skippy/command.rb +2 -4
  58. data/lib/skippy/config.rb +27 -22
  59. data/lib/skippy/config_accessors.rb +12 -12
  60. data/lib/skippy/group.rb +1 -3
  61. data/lib/skippy/helpers/file.rb +3 -3
  62. data/lib/skippy/installer.rb +49 -0
  63. data/lib/skippy/installer/git.rb +115 -0
  64. data/lib/skippy/installer/local.rb +19 -0
  65. data/lib/skippy/lib_module.rb +16 -16
  66. data/lib/skippy/lib_source.rb +139 -0
  67. data/lib/skippy/library.rb +50 -10
  68. data/lib/skippy/library_manager.rb +116 -18
  69. data/lib/skippy/module_manager.rb +104 -26
  70. data/lib/skippy/namespace.rb +17 -1
  71. data/lib/skippy/project.rb +34 -4
  72. data/lib/skippy/version.rb +3 -1
  73. data/skippy.gemspec +10 -5
  74. metadata +85 -29
  75. data/cSpell.json +0 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 232619b998ebac5cb3a4a5391fcf7fa0e7d4c0f4
4
- data.tar.gz: e733a03ebf02021626826153aefd2027b70c5942
2
+ SHA256:
3
+ metadata.gz: c11b52fc9b368e0ba14ead9d714d5e194c312c03056ad27fedbbab607a443fc6
4
+ data.tar.gz: ecae267dae0b85c7b5a6d024a0bbc85472e8e92bd3f652349acde9bc7bad7612
5
5
  SHA512:
6
- metadata.gz: 66ae128bef50293429c7c96589e7dc139bc3b325401d021fdafa90ebe05f151713d671e903f51660a72b66ef1b5aa5e70aaafbb81761ec95e2eaa596f478c0af
7
- data.tar.gz: 582abaa6f81dd06653bfcb09de1b95b626fc8c1a9dc24b40505c8e5ea6fda4463f0a1c442a75fa982bdbaf1361ab618029c7bb54bfd73089d2f5c49d33b38566
6
+ metadata.gz: 0c691c52f0cd4cf7ef73754a89f07c127301bd097b602957ca6fed8020bd43a82cc0ac025e1a3dc9eaa5ebe125ff46bc95f5b2b9d037638359b56c6d7d4ca758
7
+ data.tar.gz: a46e8182a2389a99041fabf6dd224a0faa0239118136f005556f93ca22ca44e1860e667769640547f5bc9051834bc00f8134c7e27b18f7b3fbad4889015e5e5a
data/.gitignore CHANGED
@@ -7,6 +7,7 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
+ /vendor/
10
11
 
11
12
  # Sublime Text
12
13
  *.sublime-workspace
data/.gitmodules ADDED
@@ -0,0 +1,3 @@
1
+ [submodule "fixtures/git-lib"]
2
+ path = fixtures/git-lib
3
+ url=https://github.com/thomthom/skippy-test-lib.git
data/.idea/.rakeTasks CHANGED
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <Settings><!--This file was automatically generated by Ruby plugin.
3
- You are allowed to:
4
- 1. Remove rake task
5
- 2. Add existing rake tasks
6
- To add existing rake tasks automatically delete this file and reload the project.
7
- --><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Build skippy-0.1.1.a.gem into the pkg directory" fullCmd="build" taksId="build" /><RakeTask description="Remove any temporary products" fullCmd="clean" taksId="clean" /><RakeTask description="Remove any generated files" fullCmd="clobber" taksId="clobber" /><RakeTask description="Build and install skippy-0.1.1.a.gem into system gems" fullCmd="install" taksId="install" /><RakeGroup description="" fullCmd="" taksId="install"><RakeTask description="Build and install skippy-0.1.1.a.gem into system gems without network access" fullCmd="install:local" taksId="local" /></RakeGroup><RakeTask description="Create tag v0.1.1.a and build and push skippy-0.1.1.a.gem to Rubygems" fullCmd="release[remote]" taksId="release[remote]" /><RakeTask description="Run tests" fullCmd="test" taksId="test" /><RakeTask description="" fullCmd="default" taksId="default" /><RakeTask description="" fullCmd="release" taksId="release" /><RakeGroup description="" fullCmd="" taksId="release"><RakeTask description="" fullCmd="release:guard_clean" taksId="guard_clean" /><RakeTask description="" fullCmd="release:rubygem_push" taksId="rubygem_push" /><RakeTask description="" fullCmd="release:source_control_push" taksId="source_control_push" /></RakeGroup></RakeGroup></Settings>
2
+ <Settings><!--This file was automatically generated by Ruby plugin.
3
+ You are allowed to:
4
+ 1. Remove rake task
5
+ 2. Add existing rake tasks
6
+ To add existing rake tasks automatically delete this file and reload the project.
7
+ --><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Build skippy-0.2.0.a.gem into the pkg directory" fullCmd="build" taksId="build" /><RakeTask description="Remove any temporary products" fullCmd="clean" taksId="clean" /><RakeTask description="Remove any generated files" fullCmd="clobber" taksId="clobber" /><RakeTask description="Build and install skippy-0.2.0.a.gem into system gems" fullCmd="install" taksId="install" /><RakeGroup description="" fullCmd="" taksId="install"><RakeTask description="Build and install skippy-0.2.0.a.gem into system gems without network access" fullCmd="install:local" taksId="local" /></RakeGroup><RakeTask description="Create tag v0.2.0.a and build and push skippy-0.2.0.a.gem to Rubygems" fullCmd="release[remote]" taksId="release[remote]" /><RakeTask description="Run tests" fullCmd="test" taksId="test" /><RakeTask description="" fullCmd="default" taksId="default" /><RakeTask description="" fullCmd="release" taksId="release" /><RakeGroup description="" fullCmd="" taksId="release"><RakeTask description="" fullCmd="release:guard_clean" taksId="guard_clean" /><RakeTask description="" fullCmd="release:rubygem_push" taksId="rubygem_push" /><RakeTask description="" fullCmd="release:source_control_push" taksId="source_control_push" /></RakeGroup></RakeGroup></Settings>
@@ -1,9 +1,9 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectCodeStyleSettingsManager">
4
- <option name="PER_PROJECT_SETTINGS">
5
- <value />
6
- </option>
7
- <option name="PREFERRED_PROJECT_CODE_STYLE" value="Default (1)" />
8
- </component>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectCodeStyleSettingsManager">
4
+ <option name="PER_PROJECT_SETTINGS">
5
+ <value />
6
+ </option>
7
+ <option name="PREFERRED_PROJECT_CODE_STYLE" value="Default (1)" />
8
+ </component>
9
9
  </project>
data/.idea/encodings.xml CHANGED
@@ -1,6 +1,6 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="Encoding">
4
- <file url="PROJECT" charset="UTF-8" />
5
- </component>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="Encoding">
4
+ <file url="PROJECT" charset="UTF-8" />
5
+ </component>
6
6
  </project>
@@ -1,8 +1,8 @@
1
- <component name="InspectionProjectProfileManager">
2
- <profile version="1.0">
3
- <option name="myName" value="Project Default" />
4
- <inspection_tool class="RubyCaseWithoutElseBlockInspection" enabled="false" level="WARNING" enabled_by_default="false" />
5
- <inspection_tool class="RubyGlobalVariableNamingConvention" enabled="false" level="WARNING" enabled_by_default="false" />
6
- <inspection_tool class="RubyInstanceMethodNamingConvention" enabled="false" level="WARNING" enabled_by_default="false" />
7
- </profile>
1
+ <component name="InspectionProjectProfileManager">
2
+ <profile version="1.0">
3
+ <option name="myName" value="Project Default" />
4
+ <inspection_tool class="RubyCaseWithoutElseBlockInspection" enabled="false" level="WARNING" enabled_by_default="false" />
5
+ <inspection_tool class="RubyGlobalVariableNamingConvention" enabled="false" level="WARNING" enabled_by_default="false" />
6
+ <inspection_tool class="RubyInstanceMethodNamingConvention" enabled="false" level="WARNING" enabled_by_default="false" />
7
+ </profile>
8
8
  </component>
data/.idea/misc.xml CHANGED
@@ -1,4 +1,4 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectRootManager" version="2" project-jdk-name="ruby-2.0.0-p576" project-jdk-type="RUBY_SDK" />
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectRootManager" version="2" project-jdk-name="ruby-2.0.0-p576" project-jdk-type="RUBY_SDK" />
4
4
  </project>
data/.idea/modules.xml CHANGED
@@ -1,8 +1,8 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/.idea/skippy.iml" filepath="$PROJECT_DIR$/.idea/skippy.iml" />
6
- </modules>
7
- </component>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/skippy.iml" filepath="$PROJECT_DIR$/.idea/skippy.iml" />
6
+ </modules>
7
+ </component>
8
8
  </project>
data/.idea/skippy.iml CHANGED
@@ -1,83 +1,90 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="RUBY_MODULE" version="4">
3
- <component name="ModuleRunConfigurationManager">
4
- <configuration default="false" name="All Features" type="CucumberRunConfigurationType" factoryName="Cucumber">
5
- <predefined_log_file id="RUBY_CUCUMBER" enabled="true" />
6
- <module name="skippy" />
7
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
8
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
9
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
10
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
11
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
12
- <envs />
13
- <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
14
- <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
15
- <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov" />
16
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
17
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="ALL_IN_FOLDER" />
18
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="$MODULE_DIR$/features" />
19
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
20
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TAGS_FILTER" VALUE="" />
21
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_NAME_FILTER" VALUE="" />
22
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_ARGS" VALUE="--color -r features" />
23
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
24
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
25
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="VERBOSE_OPTION" VALUE="false" />
26
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
27
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
28
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
29
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_RUNNER_PATH" VALUE="" />
30
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_RUNNER" VALUE="false" />
31
- <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SETTINGS_VERSION" VALUE="2" />
32
- <method />
33
- </configuration>
34
- <configuration default="false" name="test: skippy" type="RakeRunConfigurationType" factoryName="Rake">
35
- <module name="skippy" />
36
- <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
37
- <RAKE_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$" />
38
- <RAKE_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
39
- <RAKE_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
40
- <RAKE_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
41
- <envs />
42
- <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
43
- <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
44
- <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov" />
45
- <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_NAME" VALUE="test" />
46
- <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_ARGS" VALUE="" />
47
- <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_ATTACHED_TEST_FRAMEWORKS" VALUE=":test_unit " />
48
- <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_TRACE" VALUE="false" />
49
- <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_DRYRUN" VALUE="false" />
50
- <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_PREREQS" VALUE="false" />
51
- <method />
52
- </configuration>
53
- </component>
54
- <component name="NewModuleRootManager">
55
- <content url="file://$MODULE_DIR$">
56
- <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
57
- </content>
58
- <orderEntry type="jdk" jdkName="ruby-2.3.3-p222" jdkType="RUBY_SDK" />
59
- <orderEntry type="sourceFolder" forTests="false" />
60
- <orderEntry type="library" scope="PROVIDED" name="aruba (v0.14.1@f8d19d, ruby-2.3.3-p222) [gem]" level="application" />
61
- <orderEntry type="library" scope="PROVIDED" name="builder (v3.2.2, ruby-2.3.3-p222) [gem]" level="application" />
62
- <orderEntry type="library" scope="PROVIDED" name="bundler (v1.13.7, ruby-2.3.3-p222) [gem]" level="application" />
63
- <orderEntry type="library" scope="PROVIDED" name="childprocess (v0.5.9, ruby-2.3.3-p222) [gem]" level="application" />
64
- <orderEntry type="library" scope="PROVIDED" name="contracts (v0.14.0, ruby-2.3.3-p222) [gem]" level="application" />
65
- <orderEntry type="library" scope="PROVIDED" name="cucumber (v2.3.3, ruby-2.3.3-p222) [gem]" level="application" />
66
- <orderEntry type="library" scope="PROVIDED" name="cucumber-core (v1.4.0, ruby-2.3.3-p222) [gem]" level="application" />
67
- <orderEntry type="library" scope="PROVIDED" name="cucumber-wire (v0.0.1, ruby-2.3.3-p222) [gem]" level="application" />
68
- <orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.2.5, ruby-2.3.3-p222) [gem]" level="application" />
69
- <orderEntry type="library" scope="PROVIDED" name="ffi (v1.9.14, ruby-2.3.3-p222) [gem]" level="application" />
70
- <orderEntry type="library" scope="PROVIDED" name="gherkin (v3.2.0, ruby-2.3.3-p222) [gem]" level="application" />
71
- <orderEntry type="library" scope="PROVIDED" name="minitest (v5.10.1, ruby-2.3.3-p222) [gem]" level="application" />
72
- <orderEntry type="library" scope="PROVIDED" name="multi_json (v1.12.1, ruby-2.3.3-p222) [gem]" level="application" />
73
- <orderEntry type="library" scope="PROVIDED" name="multi_test (v0.1.2, ruby-2.3.3-p222) [gem]" level="application" />
74
- <orderEntry type="library" scope="PROVIDED" name="rake (v10.5.0, ruby-2.3.3-p222) [gem]" level="application" />
75
- <orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v3.4.0, ruby-2.3.3-p222) [gem]" level="application" />
76
- <orderEntry type="library" scope="PROVIDED" name="rspec-support (v3.4.1, ruby-2.3.3-p222) [gem]" level="application" />
77
- <orderEntry type="library" scope="PROVIDED" name="thor (v0.19.4, ruby-2.3.3-p222) [gem]" level="application" />
78
- </component>
79
- <component name="RModuleSettingsStorage">
80
- <LOAD_PATH number="1" string0="$MODULE_DIR$/lib" />
81
- <I18N_FOLDERS number="0" />
82
- </component>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="RUBY_MODULE" version="4">
3
+ <component name="ModuleRunConfigurationManager">
4
+ <configuration default="false" name="All Features" type="CucumberRunConfigurationType" factoryName="Cucumber">
5
+ <predefined_log_file id="RUBY_CUCUMBER" enabled="true" />
6
+ <module name="skippy" />
7
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
8
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
9
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
10
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
11
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
12
+ <envs />
13
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
14
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
15
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov" />
16
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
17
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="ALL_IN_FOLDER" />
18
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="$MODULE_DIR$/features" />
19
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
20
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TAGS_FILTER" VALUE="" />
21
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_NAME_FILTER" VALUE="" />
22
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_ARGS" VALUE="--color -r features" />
23
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
24
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
25
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="VERBOSE_OPTION" VALUE="false" />
26
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
27
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
28
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
29
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_RUNNER_PATH" VALUE="" />
30
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_RUNNER" VALUE="false" />
31
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SETTINGS_VERSION" VALUE="2" />
32
+ <method />
33
+ </configuration>
34
+ <configuration default="false" name="test: skippy" type="RakeRunConfigurationType" factoryName="Rake">
35
+ <module name="skippy" />
36
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
37
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$" />
38
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
39
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
40
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
41
+ <envs />
42
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
43
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
44
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov" />
45
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_NAME" VALUE="test" />
46
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_ARGS" VALUE="" />
47
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_ATTACHED_TEST_FRAMEWORKS" VALUE=":test_unit " />
48
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_TRACE" VALUE="false" />
49
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_DRYRUN" VALUE="false" />
50
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_PREREQS" VALUE="false" />
51
+ <method />
52
+ </configuration>
53
+ </component>
54
+ <component name="NewModuleRootManager">
55
+ <content url="file://$MODULE_DIR$">
56
+ <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
57
+ </content>
58
+ <orderEntry type="jdk" jdkName="ruby-2.3.3-p222" jdkType="RUBY_SDK" />
59
+ <orderEntry type="sourceFolder" forTests="false" />
60
+ <orderEntry type="library" scope="PROVIDED" name="aruba (v0.14.1@f8d19d, ruby-2.3.3-p222) [gem]" level="application" />
61
+ <orderEntry type="library" scope="PROVIDED" name="ast (v2.3.0, ruby-2.3.3-p222) [gem]" level="application" />
62
+ <orderEntry type="library" scope="PROVIDED" name="builder (v3.2.2, ruby-2.3.3-p222) [gem]" level="application" />
63
+ <orderEntry type="library" scope="PROVIDED" name="bundler (v1.13.7, ruby-2.3.3-p222) [gem]" level="application" />
64
+ <orderEntry type="library" scope="PROVIDED" name="childprocess (v0.5.9, ruby-2.3.3-p222) [gem]" level="application" />
65
+ <orderEntry type="library" scope="PROVIDED" name="contracts (v0.14.0, ruby-2.3.3-p222) [gem]" level="application" />
66
+ <orderEntry type="library" scope="PROVIDED" name="cucumber (v2.3.3, ruby-2.3.3-p222) [gem]" level="application" />
67
+ <orderEntry type="library" scope="PROVIDED" name="cucumber-core (v1.4.0, ruby-2.3.3-p222) [gem]" level="application" />
68
+ <orderEntry type="library" scope="PROVIDED" name="cucumber-wire (v0.0.1, ruby-2.3.3-p222) [gem]" level="application" />
69
+ <orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.2.5, ruby-2.3.3-p222) [gem]" level="application" />
70
+ <orderEntry type="library" scope="PROVIDED" name="ffi (v1.9.14, ruby-2.3.3-p222) [gem]" level="application" />
71
+ <orderEntry type="library" scope="PROVIDED" name="gherkin (v3.2.0, ruby-2.3.3-p222) [gem]" level="application" />
72
+ <orderEntry type="library" scope="PROVIDED" name="minitest (v5.10.3, ruby-2.3.3-p222) [gem]" level="application" />
73
+ <orderEntry type="library" scope="PROVIDED" name="multi_json (v1.12.1, ruby-2.3.3-p222) [gem]" level="application" />
74
+ <orderEntry type="library" scope="PROVIDED" name="multi_test (v0.1.2, ruby-2.3.3-p222) [gem]" level="application" />
75
+ <orderEntry type="library" scope="PROVIDED" name="parser (v2.3.3.1, ruby-2.3.3-p222) [gem]" level="application" />
76
+ <orderEntry type="library" scope="PROVIDED" name="powerpack (v0.1.1, ruby-2.3.3-p222) [gem]" level="application" />
77
+ <orderEntry type="library" scope="PROVIDED" name="rainbow (v2.2.1, ruby-2.3.3-p222) [gem]" level="application" />
78
+ <orderEntry type="library" scope="PROVIDED" name="rake (v10.5.0, ruby-2.3.3-p222) [gem]" level="application" />
79
+ <orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v3.4.0, ruby-2.3.3-p222) [gem]" level="application" />
80
+ <orderEntry type="library" scope="PROVIDED" name="rspec-support (v3.4.1, ruby-2.3.3-p222) [gem]" level="application" />
81
+ <orderEntry type="library" scope="PROVIDED" name="rubocop (v0.47.1, ruby-2.3.3-p222) [gem]" level="application" />
82
+ <orderEntry type="library" scope="PROVIDED" name="ruby-progressbar (v1.8.1, ruby-2.3.3-p222) [gem]" level="application" />
83
+ <orderEntry type="library" scope="PROVIDED" name="thor (v0.20.0, ruby-2.3.3-p222) [gem]" level="application" />
84
+ <orderEntry type="library" scope="PROVIDED" name="unicode-display_width (v1.1.3, ruby-2.3.3-p222) [gem]" level="application" />
85
+ </component>
86
+ <component name="RModuleSettingsStorage">
87
+ <LOAD_PATH number="1" string0="$MODULE_DIR$/lib" />
88
+ <I18N_FOLDERS number="0" />
89
+ </component>
83
90
  </module>
data/.idea/vcs.xml CHANGED
@@ -1,6 +1,6 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
- </component>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
+ </component>
6
6
  </project>
data/.rubocop.yml ADDED
@@ -0,0 +1,93 @@
1
+ inherit_from: .rubocop_todo.yml
2
+
3
+ AllCops:
4
+ Exclude:
5
+ - 'bin/**/*'
6
+ - 'exe/**/*'
7
+ - 'fixtures/**/*'
8
+ - 'tmp/**/*'
9
+ - 'vendor/**/*'
10
+ DisplayCopNames: true
11
+
12
+ Layout/AlignParameters:
13
+ EnforcedStyle: with_fixed_indentation
14
+
15
+ # It's ok to have more than one empty line to create a 'paragrapth'.
16
+ Layout/EmptyLines:
17
+ Enabled: false
18
+
19
+ # Extra space is fine.
20
+ Layout/EmptyLinesAroundClassBody:
21
+ Enabled: false
22
+
23
+ # Extra space is fine.
24
+ Layout/EmptyLinesAroundModuleBody:
25
+ Enabled: false
26
+
27
+ # Normally one line in between, but two allowed for "paragraphs".
28
+ Layout/EmptyLineBetweenDefs:
29
+ NumberOfEmptyLines: [1, 2]
30
+
31
+ # Rely on Git to normalize end of lines.
32
+ Layout/EndOfLine:
33
+ Enabled: false
34
+
35
+ # Add lines as needed.
36
+ Layout/EmptyLinesAroundBlockBody:
37
+ Enabled: false
38
+
39
+ Metrics/AbcSize:
40
+ Enabled: false
41
+ Exclude:
42
+ - test/**/*
43
+
44
+ Metrics/ClassLength:
45
+ Exclude:
46
+ - test/**/*
47
+
48
+ Metrics/LineLength:
49
+ Exclude:
50
+ - features/step_definitions/**/*
51
+
52
+ Metrics/MethodLength:
53
+ Exclude:
54
+ - test/**/*
55
+
56
+ # Prefer { ... } over do ... end except for control flow and
57
+ # method defintions. Unfortunatly, no cop configuration for this.
58
+ # https://github.com/chneukirchen/styleguide/blob/e60de37b478d3f892f6985a58d573016f33f0269/RUBY-STYLE#L63-L67
59
+ Style/BlockDelimiters:
60
+ EnforcedStyle: semantic
61
+ Enabled: false
62
+
63
+ # Generally prefer compact style to reduce indentation. But no hard rule.
64
+ Style/ClassAndModuleChildren:
65
+ EnforcedStyle: compact
66
+ Enabled: false
67
+
68
+ # This doesn't always read nicely.
69
+ Style/ConditionalAssignment:
70
+ Enabled: false
71
+
72
+ # Nah, it's ok.
73
+ Style/CommentedKeyword:
74
+ Enabled: false
75
+
76
+ # TODO(thomthom): Consider turning this back on.
77
+ Style/Documentation:
78
+ Enabled: false
79
+
80
+ # Conflict too often with Metric/LineLength.
81
+ # https://github.com/bbatsov/rubocop/issues/1332#issuecomment-277503854
82
+ Style/GuardClause:
83
+ Enabled: false
84
+
85
+ # %w and %i etc isn't really intuitive unless you are really familiar with the
86
+ # syntax. %w seems used often enough. But [:symbol, :foo] reads clearer than
87
+ # %i(symbol foo).
88
+ Style/SymbolArray:
89
+ Enabled: False
90
+
91
+ # Add trailing comma so it's easy to duplicate/add lines.
92
+ Style/TrailingCommaInLiteral:
93
+ EnforcedStyleForMultiline: consistent_comma
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,24 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2017-02-05 20:36:08 +0100 using RuboCop version 0.47.1.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 2
10
+ # Configuration parameters: CountComments.
11
+ Metrics/ClassLength:
12
+ Max: 131
13
+
14
+ # Offense count: 7
15
+ # Configuration parameters: CountComments.
16
+ Metrics/MethodLength:
17
+ Max: 28
18
+
19
+ # TODO: Eventually remove this.
20
+ # This changed from 0.48 to 0.51. Since rubocop-sketchup isn't updated the old
21
+ # style if used for now.
22
+ Style/PercentLiteralDelimiters:
23
+ PreferredDelimiters:
24
+ '%w': ()
data/.vscode/launch.json CHANGED
@@ -1,61 +1,51 @@
1
- {
2
- "version": "0.2.0",
3
- "configurations": [
4
- {
5
- "name": "Debug Local File",
6
- "type": "Ruby",
7
- "request": "launch",
8
- "cwd": "${workspaceRoot}",
9
- "program": "${file}"
10
- },
11
- {
12
- "name": "Listen for rdebug-ide",
13
- "type": "Ruby",
14
- "request": "attach",
15
- "cwd": "${workspaceRoot}",
16
- "remoteHost": "127.0.0.1",
17
- "remotePort": "1234",
18
- "remoteWorkspaceRoot": "${workspaceRoot}"
19
- },
20
- {
21
- "name": "Rails server",
22
- "type": "Ruby",
23
- "request": "launch",
24
- "cwd": "${workspaceRoot}",
25
- "program": "${workspaceRoot}/bin/rails",
26
- "args": [
27
- "server"
28
- ]
29
- },
30
- {
31
- "name": "RSpec - all",
32
- "type": "Ruby",
33
- "request": "launch",
34
- "cwd": "${workspaceRoot}",
35
- "program": "${workspaceRoot}/bin/rspec",
36
- "args": [
37
- "-I",
38
- "${workspaceRoot}"
39
- ]
40
- },
41
- {
42
- "name": "RSpec - active spec file only",
43
- "type": "Ruby",
44
- "request": "launch",
45
- "cwd": "${workspaceRoot}",
46
- "program": "${workspaceRoot}/bin/rspec",
47
- "args": [
48
- "-I",
49
- "${workspaceRoot}",
50
- "${file}"
51
- ]
52
- },
53
- {
54
- "name": "Cucumber",
55
- "type": "Ruby",
56
- "request": "launch",
57
- "cwd": "${workspaceRoot}",
58
- "program": "${workspaceRoot}/bin/cucumber"
59
- }
60
- ]
61
- }
1
+ {
2
+ "version": "0.2.0",
3
+ "configurations": [
4
+ {
5
+ "name": "Debug Local File",
6
+ "type": "Ruby",
7
+ "request": "launch",
8
+ "cwd": "${workspaceRoot}",
9
+ "program": "${file}"
10
+ },
11
+ {
12
+ "name": "Listen for rdebug-ide",
13
+ "type": "Ruby",
14
+ "request": "attach",
15
+ "cwd": "${workspaceRoot}",
16
+ "remoteHost": "127.0.0.1",
17
+ "remotePort": "1234",
18
+ "remoteWorkspaceRoot": "${workspaceRoot}"
19
+ },
20
+ {
21
+ "name": "RSpec - all",
22
+ "type": "Ruby",
23
+ "request": "launch",
24
+ "cwd": "${workspaceRoot}",
25
+ "program": "${workspaceRoot}/bin/rspec",
26
+ "args": [
27
+ "-I",
28
+ "${workspaceRoot}"
29
+ ]
30
+ },
31
+ {
32
+ "name": "RSpec - active spec file only",
33
+ "type": "Ruby",
34
+ "request": "launch",
35
+ "cwd": "${workspaceRoot}",
36
+ "program": "${workspaceRoot}/bin/rspec",
37
+ "args": [
38
+ "-I",
39
+ "${workspaceRoot}",
40
+ "${file}"
41
+ ]
42
+ },
43
+ {
44
+ "name": "Cucumber",
45
+ "type": "Ruby",
46
+ "request": "launch",
47
+ "cwd": "${workspaceRoot}",
48
+ "program": "${workspaceRoot}/bin/cucumber"
49
+ }
50
+ ]
51
+ }