skippy 0.2.0.a → 0.3.0.a

Sign up to get free protection for your applications and to get access to all the features.
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
+ }