cukecutter 0.0.1 → 0.0.2
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.
- checksums.yaml +4 -4
- data/lib/cukecutter.rb +23 -11
- metadata +18 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c4e93cc5798d1fb3df50ca41fb2815bddad418f2
|
4
|
+
data.tar.gz: f62103d0a309bdec4c09e5c87724a75a0e6e1190
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d5a6d1878af2cf36dfdebfbb2b77cef944003f4fd2981fe5ac7cadc52a2a213073924b5e9ac2c267270f0073ac6513618f8037293895e11633d5076af9826565
|
7
|
+
data.tar.gz: 4f0fe8b5e2af3cdc88137ceb147d27135bc512226a7a219e25f74f57310aec0e6061d6cbb2812da88399ec0d85e8b75fd2566e20beea32fe6e84a03b68f16b73
|
data/lib/cukecutter.rb
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
require 'fileutils'
|
2
2
|
|
3
|
+
# @example include 'cukecutter' and run from command line
|
4
|
+
# cukecutter = Cukecutter.new
|
5
|
+
# cukecutter.create_structure
|
6
|
+
# cukecutter.create_feature
|
7
|
+
# cukecutter.steps
|
8
|
+
# cukecutter.write_feature
|
9
|
+
# cukecutter.cucumber_wrapper
|
3
10
|
class Cukecutter
|
4
11
|
|
5
12
|
def feature(feature, scenario)
|
@@ -7,17 +14,26 @@ class Cukecutter
|
|
7
14
|
@scenario = scenario
|
8
15
|
end
|
9
16
|
|
17
|
+
# Creates the following folders
|
18
|
+
# => features/
|
19
|
+
# => features/step_definitions
|
20
|
+
# => features/support
|
21
|
+
# And the file
|
22
|
+
# => features/support/env.rb
|
10
23
|
def create_structure
|
11
24
|
if File.exists?("features") && File.directory?("features")
|
12
25
|
return
|
13
26
|
else
|
14
27
|
FileUtils.mkpath "features/step_definitions"
|
15
28
|
FileUtils.mkdir "features/support"
|
29
|
+
FileUtils.touch"features/support/env.rb"
|
16
30
|
end
|
31
|
+
|
32
|
+
|
17
33
|
end
|
18
34
|
|
35
|
+
# create features from list in features.md
|
19
36
|
def create_bulk
|
20
|
-
# create features from list in features.md
|
21
37
|
file = File.new("features.md", "r")
|
22
38
|
while (line = file.gets)
|
23
39
|
line = line.chomp.strip.gsub(' ', '_')
|
@@ -36,6 +52,7 @@ class Cukecutter
|
|
36
52
|
puts "Cucumber steps starts with 'Given, When, Then, And, But' keywords."
|
37
53
|
end
|
38
54
|
|
55
|
+
# Creates .feature and .steps.rb files
|
39
56
|
def write_feature
|
40
57
|
File.open("features/""#{@feature}.feature", "w") do |f|
|
41
58
|
f.write("Feature: #{@feature}\n")
|
@@ -48,8 +65,9 @@ class Cukecutter
|
|
48
65
|
end
|
49
66
|
FileUtils.touch "features/step_definitions/#{@feature}.steps.rb"
|
50
67
|
end
|
68
|
+
|
51
69
|
|
52
|
-
|
70
|
+
# Console based walkthrough for feature and step creation
|
53
71
|
def steps
|
54
72
|
steps_keywords = %w(Given When Then And But)
|
55
73
|
nsteps = 0
|
@@ -76,18 +94,12 @@ class Cukecutter
|
|
76
94
|
end
|
77
95
|
end
|
78
96
|
|
79
|
-
|
97
|
+
|
98
|
+
# runs cucumber and generates contents of .step_definitions from cucumber output
|
80
99
|
def cucumber_wrapper
|
81
100
|
cucumber = `cucumber features/#{@feature}.feature`
|
82
101
|
File.open("features/step_definitions/#{@feature}.steps.rb", 'w') do |parsed_steps|
|
83
102
|
parsed_steps.write cucumber.split("You can implement step definitions for undefined steps with these snippets:\n\n").last
|
84
103
|
end
|
85
104
|
end
|
86
|
-
end
|
87
|
-
|
88
|
-
# cukecutter = Cukecutter.new
|
89
|
-
# cukecutter.create_structure
|
90
|
-
# cukecutter.create_feature
|
91
|
-
# cukecutter.steps
|
92
|
-
# cukecutter.write_feature
|
93
|
-
# cukecutter.cucumber_wrapper
|
105
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cukecutter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Walker
|
@@ -9,7 +9,21 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
date: 2014-12-01 00:00:00.000000000 Z
|
12
|
-
dependencies:
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: cucumber
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
description: Cucumber feature and step definition tool
|
14
28
|
email: adamlwalker77@gmail.com
|
15
29
|
executables: []
|
@@ -37,8 +51,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
37
51
|
version: '0'
|
38
52
|
requirements: []
|
39
53
|
rubyforge_project:
|
40
|
-
rubygems_version: 2.4.
|
54
|
+
rubygems_version: 2.4.4
|
41
55
|
signing_key:
|
42
56
|
specification_version: 4
|
43
57
|
summary: CukeCutter
|
44
58
|
test_files: []
|
59
|
+
has_rdoc:
|