runfile-tasks 0.4.2 → 0.4.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2187202a45ac9756f01c747b8f4c3e40fa524233
4
- data.tar.gz: 862edabd4175ffd9b12051140a62b42e2e039c21
3
+ metadata.gz: 04c5c66caa0a72692794f6a8aabe599de279dc22
4
+ data.tar.gz: 5be820523596ec75ff9b5ba66e2b10c2ee956c60
5
5
  SHA512:
6
- metadata.gz: 252b06d4ac8df5165ca7473f384deda1fd4b34181d342a1172c641dc656742e54d62e4519709a9ace0c62432dc12f6d88acf2433684f5d57e19438a0d6c7258d
7
- data.tar.gz: 3e1264dd47af7a0be843a7949ec6cdeb01f2f3b40df8828500e73a584717fe2d4d7b27202fb24255426f6707a0277af08f4ba8ceebdea804cd02306cd44aee64
6
+ metadata.gz: 591eb1fed5d8396b497b4805f02b41664980f72eb68955515b209a529ce2980a7cecb5da2be07894b45bed7cdcbfcc77f4d04e5e0dcd7420ba683fce8e4f7edc
7
+ data.tar.gz: f86edeaf4c4d1e1147ea3a23832bb0e6f15532b9d765f27ef553db6d4241cd4a76a4495401c641a9c4a35f6379f14c87a5366bc3bb89ca7660a9d9f9b590a387
data/README.md CHANGED
@@ -60,7 +60,7 @@ Task Index
60
60
 
61
61
  ### Testing Tasks
62
62
 
63
- Including all testing tasks:
63
+ Require all testing tasks:
64
64
 
65
65
  ```ruby
66
66
  require 'runfile-tasks/testing'
@@ -74,9 +74,7 @@ Commands Added:
74
74
  matching a tag.
75
75
 
76
76
  ```ruby
77
- # Runfile
78
-
79
- # Only include the rspec tasks
77
+ # Only require the rspec tasks
80
78
  require 'runfile-tasks/testing/rspec'
81
79
 
82
80
  # Include the rspec tasks with default configuration
@@ -99,16 +97,14 @@ Commands Added:
99
97
  - `test [NAME]` - Run all tests or a single test file.
100
98
 
101
99
  ```ruby
102
- # Runfile
103
-
104
- # Only include the minitest tasks
100
+ # Only require the minitest tasks
105
101
  require 'runfile-tasks/testing/minitest'
106
102
 
107
103
  # Include the minitest tasks with default configuration
108
104
  RunfileTasks::Testing.minitest
109
105
 
110
106
  # Set the file pattern to look for (this is the default)
111
- RunfileTasks::Testing.rspec './test/*_test.rb'
107
+ RunfileTasks::Testing.minitest './test/*_test.rb'
112
108
 
113
109
  ```
114
110
 
@@ -116,16 +112,18 @@ RunfileTasks::Testing.rspec './test/*_test.rb'
116
112
 
117
113
  Commands Added:
118
114
 
119
- - `(feature|features) [current]` - Run cucumber feature tests
115
+ - `(feature|features) [<tag_or_file>]` - Run cucumber feature tests
116
+ - `stepdefs` - Generate a markdown document from the step definitions
120
117
 
121
118
  ```ruby
122
- # Runfile
123
-
124
- # Only include the minitest tasks
119
+ # Only require the cucumber tasks
125
120
  require 'runfile-tasks/testing/cucumber'
126
121
 
127
122
  # Include the cucumber tasks with default configuration
128
123
  RunfileTasks::Testing.cucumber
124
+
125
+ # Include the step definitions markdown generator
126
+ RunfileTasks::Testing.cucumber_stepdefs
129
127
  ```
130
128
 
131
129
 
@@ -143,7 +141,6 @@ Commands Added:
143
141
 
144
142
 
145
143
  ```ruby
146
- # Runfile
147
144
  require 'runfile-tasks/rubygems'
148
145
 
149
146
  # Include the tasks with default configuration. Pass in your gem name.
@@ -163,7 +160,6 @@ Commands Added:
163
160
 
164
161
 
165
162
  ```ruby
166
- # Runfile
167
163
  require 'runfile-tasks/docs'
168
164
 
169
165
  # Include the tasks with default configuration.
@@ -3,14 +3,57 @@ module RunfileTasks
3
3
  extend self
4
4
 
5
5
  def cucumber
6
- usage "(feature|features) [current]"
7
- help "Run cucumber feature tests"
6
+ usage "(feature|features) [<tag_or_file>]"
7
+ help "Run cucumber feature tests. Optionally, specify a tag or a filename to run. Tags should be prefixed with @."
8
8
  action :feature, :features do |args|
9
9
  cmd = "cucumber"
10
- cmd = "#{cmd} --tags @current" if args['current']
10
+ single = args['<tag_or_file>']
11
+ if single
12
+ if single[0] == '@'
13
+ say "!txtgrn!Running features tagged #{single}"
14
+ cmd = "#{cmd} --tags #{single}"
15
+ else
16
+ say "!txtgrn!Running #{single} features"
17
+ cmd = "#{cmd} 'features/#{single}.feature'"
18
+ end
19
+ end
11
20
  exec cmd
12
21
  end
13
22
  end
23
+
24
+ def cucumber_stepdefs(filename='stepdefs.md')
25
+ usage "stepdefs"
26
+ help "Generate step definitions markdown document.\n" +
27
+ "Comments in the step definition file that start with two or " +
28
+ "more # characters, will also be added to the output " +
29
+ "document, as captions."
30
+ action :stepdefs do
31
+ step = /^(Given|When|Then)\((\/.*\/)\) do.*$/
32
+ caption = /^(\#{2,6} .*)$/
33
+ files = Dir['features/step_definitions/**/*.rb']
34
+ doc = []
35
+ doc << "# Cucumber Step Definitions Summary\n"
36
+ doc << "Generated by `run stepdefs`."
37
+ files.each do |file|
38
+ doc << "\n## #{File.basename(file, '.rb')}\n"
39
+ File.readlines(file).each do |line|
40
+ if matches = step.match(line)
41
+ clause = matches.captures[0]
42
+ definition = matches.captures[1] # .gsub /(".*?")/, '`__\1__`'
43
+ doc << "- __`#{clause}`__ `#{definition}`"
44
+ end
45
+ if matches = caption.match(line)
46
+ title = matches.captures[0]
47
+ doc << "\n#{title}\n"
48
+ end
49
+ end
50
+ end
51
+ doc = doc.join "\n"
52
+ File.write filename, doc
53
+ say "Generated #{filename}"
54
+ end
55
+
56
+ end
14
57
 
15
58
  end
16
59
  end
@@ -1,3 +1,3 @@
1
1
  module RunfileTasks
2
- VERSION = "0.4.2"
2
+ VERSION = "0.4.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: runfile-tasks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Danny Ben Shitrit
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-16 00:00:00.000000000 Z
11
+ date: 2016-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: runfile