pdd 0.20.5 → 0.20.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.pdd +10 -1
- data/.rubocop.yml +6 -2
- data/.rultor.yml +14 -15
- data/.simplecov +1 -1
- data/.travis.yml +2 -2
- data/Gemfile +1 -1
- data/LICENSE.txt +1 -1
- data/README.md +12 -38
- data/Rakefile +1 -1
- data/assets/puzzles.xsd +1 -1
- data/assets/puzzles.xsl +1 -1
- data/bin/pdd +2 -2
- data/features/rake.feature +19 -0
- data/features/step_definitions/steps.rb +7 -1
- data/features/support/env.rb +2 -1
- data/lib/pdd.rb +5 -7
- data/lib/pdd/puzzle.rb +1 -1
- data/lib/pdd/rake_task.rb +30 -0
- data/lib/pdd/rule/duplicates.rb +1 -1
- data/lib/pdd/rule/estimates.rb +1 -1
- data/lib/pdd/rule/roles.rb +1 -1
- data/lib/pdd/rule/text.rb +1 -1
- data/lib/pdd/source.rb +1 -1
- data/lib/pdd/sources.rb +1 -1
- data/lib/pdd/version.rb +3 -3
- data/pdd.gemspec +8 -7
- data/test/test__helper.rb +1 -1
- data/test/test_duplicates.rb +2 -2
- data/test/test_estimates.rb +2 -2
- data/test/test_pdd.rb +2 -2
- data/test/test_rake_task.rb +15 -0
- data/test/test_roles.rb +2 -2
- data/test/test_source.rb +2 -2
- data/test/test_source_todo.rb +1 -1
- data/test/test_sources.rb +2 -2
- data/test/test_text.rb +2 -2
- metadata +32 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 94bad35283e2d4e40df39ffa9a643c1352a4674cb500123fb0442af9c3af082d
|
4
|
+
data.tar.gz: a451b9e8a979d64fbcae9e5cb279cc6c25c87ba9d7d1618e740083444a37cc12
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b71f4e3eafa987be5233a8f29ec25b8c72bbb6eebd36cf9f9b23b01b1c09767ea4cd395c9c6f369068d87a41bd638dc6a7e5588ebeb7b21f60d6fd5db9e0e043
|
7
|
+
data.tar.gz: 075700135e8e66e28c2db6cff9b613d76fdb464529ad164fae32f6c179e840197e2e946622c7ce87419422b3d4029b1c584d59f302a30581febf832b730fadc6
|
data/.gitignore
CHANGED
data/.pdd
CHANGED
@@ -1,11 +1,20 @@
|
|
1
1
|
--source=.
|
2
2
|
--verbose
|
3
|
+
--exclude .idea/**/*
|
3
4
|
--exclude target/**/*
|
4
5
|
--exclude coverage/**/*
|
5
|
-
--exclude features/**/*
|
6
6
|
--exclude README.md
|
7
|
+
--exclude features/cli.feature
|
8
|
+
--exclude features/parsing.feature
|
9
|
+
--exclude features/catches_broken_puzzles.feature
|
10
|
+
--exclude features/uses_config.feature
|
11
|
+
--exclude features/html_output.feature
|
12
|
+
--exclude features/avoiding_duplicates.feature
|
13
|
+
--exclude features/applies_rules.feature
|
14
|
+
--exclude features/unicode.feature
|
7
15
|
--exclude lib/pdd/source.rb
|
8
16
|
--exclude test/test_source.rb
|
17
|
+
--exclude test/test_source_todo.rb
|
9
18
|
--exclude test/test_pdd.rb
|
10
19
|
--exclude src/main/resources/images/**/*
|
11
20
|
--rule min-words:20
|
data/.rubocop.yml
CHANGED
@@ -1,9 +1,8 @@
|
|
1
1
|
AllCops:
|
2
2
|
Exclude:
|
3
|
-
- 'bin/**/*'
|
4
3
|
- 'assets/**/*'
|
5
4
|
DisplayCopNames: true
|
6
|
-
TargetRubyVersion: 2.
|
5
|
+
TargetRubyVersion: 2.3
|
7
6
|
|
8
7
|
Layout/EndOfLine:
|
9
8
|
EnforcedStyle: lf
|
@@ -17,3 +16,8 @@ Style/MultilineBlockChain:
|
|
17
16
|
Enabled: false
|
18
17
|
Metrics/BlockLength:
|
19
18
|
Max: 50
|
19
|
+
# @todo #123:30m Needs to enable this check and fix all issues.
|
20
|
+
# For now, this is out of the scope of this issue.
|
21
|
+
# This issue appeared after update TargetRubyVersion to 2.3
|
22
|
+
Style/FrozenStringLiteralComment:
|
23
|
+
Enabled: false
|
data/.rultor.yml
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
assets:
|
2
|
-
rubygems.yml:
|
3
|
-
s3cfg:
|
2
|
+
rubygems.yml: yegor256/home#assets/rubygems.yml
|
3
|
+
s3cfg: yegor256/home#assets/s3cfg
|
4
4
|
install: |
|
5
5
|
export GEM_HOME=~/.ruby
|
6
6
|
export GEM_PATH=$GEM_HOME:$GEM_PATH
|
7
|
-
sudo gem install pdd
|
8
|
-
sudo gem install xcop
|
7
|
+
sudo gem install pdd -v 0.20.5
|
8
|
+
sudo gem install xcop -v 0.6
|
9
|
+
bundle install
|
9
10
|
release:
|
10
11
|
script: |-
|
11
|
-
|
12
|
-
bundle
|
13
|
-
LC_ALL=US-ASCII rake
|
12
|
+
pdd -f /dev/null
|
13
|
+
LC_ALL=US-ASCII bundle exec rake
|
14
14
|
rm -rf *.gem
|
15
15
|
sed -i "s/1\.0\.snapshot/${tag}/g" lib/pdd/version.rb
|
16
16
|
git add lib/pdd/version.rb
|
@@ -18,16 +18,15 @@ release:
|
|
18
18
|
gem build pdd.gemspec
|
19
19
|
chmod 0600 ../rubygems.yml
|
20
20
|
gem push *.gem --config-file ../rubygems.yml
|
21
|
-
sudo gem install pdd
|
22
21
|
pdd --source=$(pwd) --verbose --file=pdd.xml -e=test/** -e=features/** -e=coverage/**/* -e=README.md
|
23
22
|
s3cmd --no-progress put pdd.xml --config=../s3cfg s3://pdd.teamed.io/pdd.xml
|
24
23
|
s3cmd --no-progress put assets/puzzles.xsd --acl-public --config=../s3cfg s3://pdd-xsd.teamed.io/${tag}.xsd
|
25
24
|
s3cmd --no-progress put assets/puzzles.xsl --acl-public --config=../s3cfg s3://pdd-xsl.teamed.io/${tag}.xsl
|
26
|
-
commanders:
|
27
|
-
- yegor256
|
28
|
-
architect:
|
29
|
-
- yegor256
|
30
|
-
- davvd
|
31
25
|
merge:
|
32
|
-
|
33
|
-
|
26
|
+
script: |-
|
27
|
+
pdd -f /dev/null
|
28
|
+
LC_ALL=US-ASCII bundle exec rake
|
29
|
+
deploy:
|
30
|
+
script: |-
|
31
|
+
echo 'Nothing to deploy'
|
32
|
+
exit -1
|
data/.simplecov
CHANGED
data/.travis.yml
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
language: ruby
|
2
2
|
rvm:
|
3
|
-
- 2.
|
3
|
+
- 2.3.0
|
4
4
|
cache: bundler
|
5
5
|
branches:
|
6
6
|
only:
|
@@ -8,6 +8,6 @@ branches:
|
|
8
8
|
install:
|
9
9
|
- travis_retry bundle update
|
10
10
|
script:
|
11
|
-
- rake
|
11
|
+
- bundle exec rake
|
12
12
|
after_success:
|
13
13
|
- "bash <(curl -s https://codecov.io/bash)"
|
data/Gemfile
CHANGED
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -2,32 +2,32 @@
|
|
2
2
|
|
3
3
|
[![Donate via Zerocracy](https://www.0crat.com/contrib-badge/C3T46CUJJ.svg)](https://www.0crat.com/contrib/C3T46CUJJ)
|
4
4
|
|
5
|
-
[![EO principles respected here](
|
5
|
+
[![EO principles respected here](https://www.elegantobjects.org/badge.svg)](https://www.elegantobjects.org)
|
6
6
|
[![Managed by Zerocracy](https://www.0crat.com/badge/C3T46CUJJ.svg)](https://www.0crat.com/p/C3T46CUJJ)
|
7
7
|
[![DevOps By Rultor.com](http://www.rultor.com/b/yegor256/pdd)](http://www.rultor.com/p/yegor256/pdd)
|
8
|
-
[![We recommend RubyMine](
|
8
|
+
[![We recommend RubyMine](https://www.elegantobjects.org/rubymine.svg)](https://www.jetbrains.com/ruby/)
|
9
9
|
|
10
10
|
[![Build Status](https://travis-ci.org/yegor256/pdd.svg)](https://travis-ci.org/yegor256/pdd)
|
11
11
|
[![Build status](https://ci.appveyor.com/api/projects/status/b59sdhuu0gcku15b?svg=true)](https://ci.appveyor.com/project/yegor256/pdd)
|
12
12
|
[![PDD status](http://www.0pdd.com/svg?name=yegor256/pdd)](http://www.0pdd.com/p?name=yegor256/pdd)
|
13
|
+
[![Test Coverage](https://img.shields.io/codecov/c/github/yegor256/pdd.svg)](https://codecov.io/github/yegor256/pdd?branch=master)
|
14
|
+
[![Hits-of-Code](https://hitsofcode.com/github/yegor256/pdd)](https://hitsofcode.com/view/github/yegor256/pdd)
|
15
|
+
[![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/yegor256/pdd/blob/master/LICENSE.txt)
|
13
16
|
|
14
17
|
[![Gem Version](https://badge.fury.io/rb/pdd.svg)](http://badge.fury.io/rb/pdd)
|
15
|
-
[![Dependency Status](https://gemnasium.com/yegor256/pdd.svg)](https://gemnasium.com/yegor256/pdd)
|
16
18
|
[![Maintainability](https://api.codeclimate.com/v1/badges/c8e46256fdd8ddc817e5/maintainability)](https://codeclimate.com/github/yegor256/pdd/maintainability)
|
17
|
-
[![Test Coverage](https://img.shields.io/codecov/c/github/yegor256/pdd.svg)](https://codecov.io/github/yegor256/pdd?branch=master)
|
18
19
|
[![Yard Docs](http://img.shields.io/badge/yard-docs-blue.svg)](http://rubydoc.info/github/yegor256/pdd/master/frames)
|
19
20
|
|
20
|
-
## What This is for?
|
21
|
-
|
22
21
|
Read this article about
|
23
|
-
[
|
22
|
+
[_Puzzle Driven Development_](http://www.yegor256.com/2009/03/04/pdd.html).
|
24
23
|
Check also patent application [US 12/840,306](http://www.google.com/patents/US20120023476)
|
25
24
|
|
26
25
|
Also, check [0pdd.com](http://www.0pdd.com): a hosted service,
|
27
|
-
where this command line tool works for you.
|
28
|
-
[PDD in Action](http://www.yegor256.com/2017/04/05/pdd-in-action.html).
|
26
|
+
where this command line tool works for you.
|
29
27
|
|
30
|
-
|
28
|
+
Read
|
29
|
+
[_PDD in Action_](http://www.yegor256.com/2017/04/05/pdd-in-action.html)
|
30
|
+
and watch [this webinar](https://www.youtube.com/watch?v=nsYGC2aUwfQ).
|
31
31
|
|
32
32
|
Install it first:
|
33
33
|
|
@@ -35,8 +35,6 @@ Install it first:
|
|
35
35
|
$ gem install pdd
|
36
36
|
```
|
37
37
|
|
38
|
-
## How to Run?
|
39
|
-
|
40
38
|
Run it locally and read its output:
|
41
39
|
|
42
40
|
```bash
|
@@ -181,7 +179,7 @@ The most interesting parts of each puzzle are:
|
|
181
179
|
|
182
180
|
* `lines` is where the puzzle is found, inside the file.
|
183
181
|
|
184
|
-
|
182
|
+
## How to contribute
|
185
183
|
|
186
184
|
Read [these guidelines](https://www.yegor256.com/2014/04/15/github-guidelines.html).
|
187
185
|
Make sure you build is green before you contribute
|
@@ -190,7 +188,7 @@ your pull request. You will need to have [Ruby](https://www.ruby-lang.org/en/) 2
|
|
190
188
|
|
191
189
|
```
|
192
190
|
$ bundle update
|
193
|
-
$ rake
|
191
|
+
$ bundle exec rake
|
194
192
|
```
|
195
193
|
|
196
194
|
If it's clean and you don't see any error messages, submit your pull request.
|
@@ -200,27 +198,3 @@ This is how you run the tool locally to test how it works:
|
|
200
198
|
```bash
|
201
199
|
$ ./bin/pdd --help
|
202
200
|
```
|
203
|
-
|
204
|
-
## License
|
205
|
-
|
206
|
-
(The MIT License)
|
207
|
-
|
208
|
-
Copyright (c) 2016-2018 Yegor Bugayenko
|
209
|
-
|
210
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
211
|
-
of this software and associated documentation files (the 'Software'), to deal
|
212
|
-
in the Software without restriction, including without limitation the rights
|
213
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
214
|
-
copies of the Software, and to permit persons to whom the Software is
|
215
|
-
furnished to do so, subject to the following conditions:
|
216
|
-
|
217
|
-
The above copyright notice and this permission notice shall be included in all
|
218
|
-
copies or substantial portions of the Software.
|
219
|
-
|
220
|
-
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
221
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
222
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
223
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
224
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
225
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
226
|
-
SOFTWARE.
|
data/Rakefile
CHANGED
data/assets/puzzles.xsd
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
<!--
|
3
3
|
(The MIT License)
|
4
4
|
|
5
|
-
Copyright (c) 2014-
|
5
|
+
Copyright (c) 2014-2020 Yegor Bugayenko
|
6
6
|
|
7
7
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
of this software and associated documentation files (the 'Software'), to deal
|
data/assets/puzzles.xsl
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
<!--
|
3
3
|
(The MIT License)
|
4
4
|
|
5
|
-
Copyright (c) 2014-
|
5
|
+
Copyright (c) 2014-2020 Yegor Bugayenko
|
6
6
|
|
7
7
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
of this software and associated documentation files (the 'Software'), to deal
|
data/bin/pdd
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
# Copyright (c) 2014-
|
2
|
+
# Copyright (c) 2014-2020 Yegor Bugayenko
|
3
3
|
#
|
4
4
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
5
5
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -53,7 +53,7 @@ begin
|
|
53
53
|
o.string '-s', '--source', 'Source directory to parse ("." by default)'
|
54
54
|
o.string '-f', '--file', 'File to save XML into'
|
55
55
|
o.array '-e', '--exclude', 'Glob pattern to exclude, e.g. "**/*.jpg"',
|
56
|
-
|
56
|
+
default: []
|
57
57
|
o.string '-t', '--format', 'Format of the report (xml|html)'
|
58
58
|
o.array(
|
59
59
|
'-r', '--rule', 'Rule to apply (can be used many times)',
|
@@ -0,0 +1,19 @@
|
|
1
|
+
Feature: Rake Task
|
2
|
+
Scenario: For now we failed if run rake task
|
3
|
+
Given It is Unix
|
4
|
+
And a file named "Rakefile" with:
|
5
|
+
"""
|
6
|
+
require 'pdd/rake_task'
|
7
|
+
PDD::RakeTask.new
|
8
|
+
"""
|
9
|
+
When I run the following commands with `bash`:
|
10
|
+
"""bash
|
11
|
+
rake pdd
|
12
|
+
"""
|
13
|
+
Then the exit status should be 1
|
14
|
+
And the stderr should contain:
|
15
|
+
"""
|
16
|
+
NOT IMPLEMENTED
|
17
|
+
"""
|
18
|
+
When I remove a file named "Rakefile" with full force
|
19
|
+
Then a file named "Rakefile" does not exist
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2014-
|
1
|
+
# Copyright (c) 2014-2020 Yegor Bugayenko
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -111,6 +111,12 @@ When(/^I run bash with$/) do |text|
|
|
111
111
|
@exitstatus = $CHILD_STATUS.exitstatus
|
112
112
|
end
|
113
113
|
|
114
|
+
When(/^I run bash with "([^"]*)"$/) do |text|
|
115
|
+
FileUtils.copy_entry(@cwd, File.join(@dir, 'pdd'))
|
116
|
+
@stdout = `#{text}`
|
117
|
+
@exitstatus = $CHILD_STATUS.exitstatus
|
118
|
+
end
|
119
|
+
|
114
120
|
Given(/^It is Unix$/) do
|
115
121
|
pending if Gem.win_platform?
|
116
122
|
end
|
data/features/support/env.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2014-
|
1
|
+
# Copyright (c) 2014-2020 Yegor Bugayenko
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -20,3 +20,4 @@
|
|
20
20
|
|
21
21
|
require 'simplecov'
|
22
22
|
require_relative '../../lib/pdd'
|
23
|
+
require 'aruba/cucumber'
|
data/lib/pdd.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2014-
|
1
|
+
# Copyright (c) 2014-2020 Yegor Bugayenko
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -30,7 +30,7 @@ require_relative 'pdd/rule/roles'
|
|
30
30
|
|
31
31
|
# PDD main module.
|
32
32
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
33
|
-
# Copyright:: Copyright (c) 2014-
|
33
|
+
# Copyright:: Copyright (c) 2014-2020 Yegor Bugayenko
|
34
34
|
# License:: MIT
|
35
35
|
module PDD
|
36
36
|
# If it breaks.
|
@@ -87,11 +87,9 @@ module PDD
|
|
87
87
|
PDD.log.info "Reading #{dir}"
|
88
88
|
require_relative 'pdd/sources'
|
89
89
|
sources = Sources.new(dir)
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
PDD.log.info "Excluding #{p}"
|
94
|
-
end
|
90
|
+
@opts[:exclude]&.each do |p|
|
91
|
+
sources = sources.exclude(p)
|
92
|
+
PDD.log.info "Excluding #{p}"
|
95
93
|
end
|
96
94
|
sanitize(
|
97
95
|
rules(
|
data/lib/pdd/puzzle.rb
CHANGED
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'rake'
|
2
|
+
require 'rake/tasklib'
|
3
|
+
|
4
|
+
# PDD Rake task
|
5
|
+
module PDD
|
6
|
+
# Rake task
|
7
|
+
class RakeTask < Rake::TaskLib
|
8
|
+
attr_accessor :name
|
9
|
+
def initialize(*args, &task_block)
|
10
|
+
# @todo #125:30m Needs to have more parameters to run this task.
|
11
|
+
# For now, we just have a single parameter - the name.
|
12
|
+
# Needs more parameters like the xcop rake task has.
|
13
|
+
@name = args.shift || :pdd
|
14
|
+
desc 'Run PDD' unless ::Rake.application.last_description
|
15
|
+
task(name, *args) do |_, task_args|
|
16
|
+
RakeFileUtils.send(:verbose, true) do
|
17
|
+
yield(*[self, task_args].slice(0, task_block.arity)) if block_given?
|
18
|
+
run
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def run
|
24
|
+
# @todo #125:30m need to implement this method.
|
25
|
+
# For now, it's just a task,
|
26
|
+
# that accepts one parameter and throws a system error.
|
27
|
+
abort('NOT IMPLEMENTED')
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/lib/pdd/rule/duplicates.rb
CHANGED
data/lib/pdd/rule/estimates.rb
CHANGED
data/lib/pdd/rule/roles.rb
CHANGED
data/lib/pdd/rule/text.rb
CHANGED
data/lib/pdd/source.rb
CHANGED
data/lib/pdd/sources.rb
CHANGED
data/lib/pdd/version.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2014-
|
1
|
+
# Copyright (c) 2014-2020 Yegor Bugayenko
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -20,8 +20,8 @@
|
|
20
20
|
|
21
21
|
# PDD main module.
|
22
22
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
23
|
-
# Copyright:: Copyright (c) 2014-
|
23
|
+
# Copyright:: Copyright (c) 2014-2020 Yegor Bugayenko
|
24
24
|
# License:: MIT
|
25
25
|
module PDD
|
26
|
-
VERSION = '0.20.
|
26
|
+
VERSION = '0.20.6'.freeze
|
27
27
|
end
|
data/pdd.gemspec
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2014-
|
1
|
+
# Copyright (c) 2014-2020 Yegor Bugayenko
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -29,8 +29,8 @@ Gem::Specification.new do |s|
|
|
29
29
|
if s.respond_to? :required_rubygems_version=
|
30
30
|
s.required_rubygems_version = Gem::Requirement.new('>= 0')
|
31
31
|
end
|
32
|
-
s.rubygems_version = '2.
|
33
|
-
s.required_ruby_version = '>= 2.
|
32
|
+
s.rubygems_version = '2.3'
|
33
|
+
s.required_ruby_version = '>= 2.3'
|
34
34
|
s.name = 'pdd'
|
35
35
|
s.version = PDD::VERSION
|
36
36
|
s.license = 'MIT'
|
@@ -44,10 +44,11 @@ Gem::Specification.new do |s|
|
|
44
44
|
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
45
45
|
s.rdoc_options = ['--charset=UTF-8']
|
46
46
|
s.extra_rdoc_files = ['README.md', 'LICENSE.txt']
|
47
|
-
s.add_runtime_dependency 'nokogiri', '1.10
|
48
|
-
s.add_runtime_dependency 'rainbow', '~>3.0'
|
49
|
-
s.add_runtime_dependency 'slop', '4.6
|
50
|
-
s.add_development_dependency '
|
47
|
+
s.add_runtime_dependency 'nokogiri', '~> 1.10'
|
48
|
+
s.add_runtime_dependency 'rainbow', '~> 3.0'
|
49
|
+
s.add_runtime_dependency 'slop', '~> 4.6'
|
50
|
+
s.add_development_dependency 'aruba', '~> 0.14.1'
|
51
|
+
s.add_development_dependency 'codecov', '0.2.12'
|
51
52
|
s.add_development_dependency 'cucumber', '3.1.0'
|
52
53
|
s.add_development_dependency 'minitest', '5.5.0'
|
53
54
|
s.add_development_dependency 'rake', '12.0.0'
|
data/test/test__helper.rb
CHANGED
data/test/test_duplicates.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2014-
|
1
|
+
# Copyright (c) 2014-2020 Yegor Bugayenko
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -24,7 +24,7 @@ require_relative '../lib/pdd/rule/duplicates'
|
|
24
24
|
|
25
25
|
# PDD::Rule::MaxDuplicates class test.
|
26
26
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
27
|
-
# Copyright:: Copyright (c) 2014-
|
27
|
+
# Copyright:: Copyright (c) 2014-2020 Yegor Bugayenko
|
28
28
|
# License:: MIT
|
29
29
|
class TestMaxDuplicates < Minitest::Test
|
30
30
|
def test_max_duplicates
|
data/test/test_estimates.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2014-
|
1
|
+
# Copyright (c) 2014-2020 Yegor Bugayenko
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -24,7 +24,7 @@ require_relative '../lib/pdd/rule/estimates'
|
|
24
24
|
|
25
25
|
# PDD::Rule::Estimate module tests.
|
26
26
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
27
|
-
# Copyright:: Copyright (c) 2014-
|
27
|
+
# Copyright:: Copyright (c) 2014-2020 Yegor Bugayenko
|
28
28
|
# License:: MIT
|
29
29
|
class TestEstimates < Minitest::Test
|
30
30
|
def test_min
|
data/test/test_pdd.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2014-
|
1
|
+
# Copyright (c) 2014-2020 Yegor Bugayenko
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -26,7 +26,7 @@ require_relative '../lib/pdd'
|
|
26
26
|
|
27
27
|
# PDD main module test.
|
28
28
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
29
|
-
# Copyright:: Copyright (c) 2014-
|
29
|
+
# Copyright:: Copyright (c) 2014-2020 Yegor Bugayenko
|
30
30
|
# License:: MIT
|
31
31
|
class TestPDD < Minitest::Test
|
32
32
|
def test_basic
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'minitest/autorun'
|
2
|
+
require 'tmpdir'
|
3
|
+
require 'rake'
|
4
|
+
require_relative '../lib/pdd/rake_task'
|
5
|
+
|
6
|
+
# Test for RakeTask
|
7
|
+
class TestRakeTask < Minitest::Test
|
8
|
+
def test_base
|
9
|
+
PDD::RakeTask.new(:pdd1)
|
10
|
+
error = assert_raises SystemExit do
|
11
|
+
Rake::Task['pdd1'].invoke
|
12
|
+
end
|
13
|
+
assert_equal('NOT IMPLEMENTED', error.message)
|
14
|
+
end
|
15
|
+
end
|
data/test/test_roles.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2014-
|
1
|
+
# Copyright (c) 2014-2020 Yegor Bugayenko
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -24,7 +24,7 @@ require_relative '../lib/pdd/rule/roles'
|
|
24
24
|
|
25
25
|
# PDD::Rule::Role module tests.
|
26
26
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
27
|
-
# Copyright:: Copyright (c) 2014-
|
27
|
+
# Copyright:: Copyright (c) 2014-2020 Yegor Bugayenko
|
28
28
|
# License:: MIT
|
29
29
|
class TestRoles < Minitest::Test
|
30
30
|
def test_incorrect_role
|
data/test/test_source.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2014-
|
1
|
+
# Copyright (c) 2014-2020 Yegor Bugayenko
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -25,7 +25,7 @@ require_relative '../lib/pdd/sources'
|
|
25
25
|
|
26
26
|
# Source test.
|
27
27
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
28
|
-
# Copyright:: Copyright (c) 2014-
|
28
|
+
# Copyright:: Copyright (c) 2014-2020 Yegor Bugayenko
|
29
29
|
# License:: MIT
|
30
30
|
class TestSource < Minitest::Test
|
31
31
|
def test_parsing
|
data/test/test_source_todo.rb
CHANGED
data/test/test_sources.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2014-
|
1
|
+
# Copyright (c) 2014-2020 Yegor Bugayenko
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -26,7 +26,7 @@ require_relative '../lib/pdd/sources'
|
|
26
26
|
|
27
27
|
# Sources test.
|
28
28
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
29
|
-
# Copyright:: Copyright (c) 2014-
|
29
|
+
# Copyright:: Copyright (c) 2014-2020 Yegor Bugayenko
|
30
30
|
# License:: MIT
|
31
31
|
class TestSources < Minitest::Test
|
32
32
|
def test_iterator
|
data/test/test_text.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2014-
|
1
|
+
# Copyright (c) 2014-2020 Yegor Bugayenko
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -24,7 +24,7 @@ require_relative '../lib/pdd/rule/text'
|
|
24
24
|
|
25
25
|
# PDD::Rule::Text module tests.
|
26
26
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
27
|
-
# Copyright:: Copyright (c) 2014-
|
27
|
+
# Copyright:: Copyright (c) 2014-2020 Yegor Bugayenko
|
28
28
|
# License:: MIT
|
29
29
|
class TestText < Minitest::Test
|
30
30
|
def test_min_words
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pdd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.20.
|
4
|
+
version: 0.20.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yegor Bugayenko
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-12-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.10
|
19
|
+
version: '1.10'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.10
|
26
|
+
version: '1.10'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rainbow
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -42,30 +42,44 @@ dependencies:
|
|
42
42
|
name: slop
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 4.6
|
47
|
+
version: '4.6'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '4.6'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: aruba
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.14.1
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
53
67
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
68
|
+
version: 0.14.1
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: codecov
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
73
|
- - '='
|
60
74
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
75
|
+
version: 0.2.12
|
62
76
|
type: :development
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
80
|
- - '='
|
67
81
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.
|
82
|
+
version: 0.2.12
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: cucumber
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -213,12 +227,14 @@ files:
|
|
213
227
|
- features/gem_package.feature
|
214
228
|
- features/html_output.feature
|
215
229
|
- features/parsing.feature
|
230
|
+
- features/rake.feature
|
216
231
|
- features/step_definitions/steps.rb
|
217
232
|
- features/support/env.rb
|
218
233
|
- features/unicode.feature
|
219
234
|
- features/uses_config.feature
|
220
235
|
- lib/pdd.rb
|
221
236
|
- lib/pdd/puzzle.rb
|
237
|
+
- lib/pdd/rake_task.rb
|
222
238
|
- lib/pdd/rule/duplicates.rb
|
223
239
|
- lib/pdd/rule/estimates.rb
|
224
240
|
- lib/pdd/rule/roles.rb
|
@@ -231,6 +247,7 @@ files:
|
|
231
247
|
- test/test_duplicates.rb
|
232
248
|
- test/test_estimates.rb
|
233
249
|
- test/test_pdd.rb
|
250
|
+
- test/test_rake_task.rb
|
234
251
|
- test/test_roles.rb
|
235
252
|
- test/test_source.rb
|
236
253
|
- test/test_source_todo.rb
|
@@ -254,7 +271,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
254
271
|
requirements:
|
255
272
|
- - ">="
|
256
273
|
- !ruby/object:Gem::Version
|
257
|
-
version: '2.
|
274
|
+
version: '2.3'
|
258
275
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
259
276
|
requirements:
|
260
277
|
- - ">="
|
@@ -273,6 +290,7 @@ test_files:
|
|
273
290
|
- features/gem_package.feature
|
274
291
|
- features/html_output.feature
|
275
292
|
- features/parsing.feature
|
293
|
+
- features/rake.feature
|
276
294
|
- features/step_definitions/steps.rb
|
277
295
|
- features/support/env.rb
|
278
296
|
- features/unicode.feature
|
@@ -281,6 +299,7 @@ test_files:
|
|
281
299
|
- test/test_duplicates.rb
|
282
300
|
- test/test_estimates.rb
|
283
301
|
- test/test_pdd.rb
|
302
|
+
- test/test_rake_task.rb
|
284
303
|
- test/test_roles.rb
|
285
304
|
- test/test_source.rb
|
286
305
|
- test/test_source_todo.rb
|