pdd 0.20.3 → 0.20.7

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
- SHA1:
3
- metadata.gz: 923491c89e00bd204e14a12c1c3d2f792c44c14b
4
- data.tar.gz: 70ed765544c00e134373e5db4a4801afd4c5de53
2
+ SHA256:
3
+ metadata.gz: 8220e74b7aca6e6feddfe8ccad195c1156386ad766ae1dd31311122242c1292c
4
+ data.tar.gz: 97816bbe7fdfdb29d595683dd98b6eb41d6bc1880e269c4dc11eee4a2b02f582
5
5
  SHA512:
6
- metadata.gz: a4b425410f882fcf7400ede903ba3b9d6ed983d96dc91c58e6d70c0d911202f37db1b40657b7115a50e5afd081917882ca54df65656f020f792f91c33ce8aea5
7
- data.tar.gz: 3c02e5936c0538054a83a408b0f9083d8f45fbeabe0712f99c368b7455d3d5a31571a043623342ec85275353c6b37df136af2c5313dbbc102ea13fee4c347520
6
+ metadata.gz: c4128efeb2b302351595bbe99978845e8d8d546f11e341c0d0308821e673f6f2aa2730c4d2170751d711892d17942563275641b8dbec04916d9bb7bac8715f2a
7
+ data.tar.gz: 501ddaf76735e9ce50ae3a233c45331d568075979ef3875395e7d361139e008954de9767e14856af7d247adf2a597254b3e89104cc96e5832baa03a278f89a3c
data/.gitignore CHANGED
@@ -5,3 +5,4 @@ Gemfile.lock
5
5
  .bundle/
6
6
  .DS_Store
7
7
  rdoc/
8
+ tmp/
data/.pdd CHANGED
@@ -1,11 +1,21 @@
1
1
  --source=.
2
2
  --verbose
3
+ --skip-errors
4
+ --exclude .idea/**/*
3
5
  --exclude target/**/*
4
6
  --exclude coverage/**/*
5
- --exclude features/**/*
6
7
  --exclude README.md
8
+ --exclude features/cli.feature
9
+ --exclude features/parsing.feature
10
+ --exclude features/catches_broken_puzzles.feature
11
+ --exclude features/uses_config.feature
12
+ --exclude features/html_output.feature
13
+ --exclude features/avoiding_duplicates.feature
14
+ --exclude features/applies_rules.feature
15
+ --exclude features/unicode.feature
7
16
  --exclude lib/pdd/source.rb
8
17
  --exclude test/test_source.rb
18
+ --exclude test/test_source_todo.rb
9
19
  --exclude test/test_pdd.rb
10
20
  --exclude src/main/resources/images/**/*
11
21
  --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.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,14 +1,16 @@
1
1
  assets:
2
- rubygems.yml: zerocracy/home#assets/rubygems.yml
3
- s3cfg: zerocracy/home#assets/s3cfg
2
+ rubygems.yml: yegor256/home#assets/rubygems.yml
3
+ s3cfg: yegor256/home#assets/s3cfg
4
4
  install: |
5
- sudo gem install pdd
6
- sudo gem install xcop
5
+ export GEM_HOME=~/.ruby
6
+ export GEM_PATH=$GEM_HOME:$GEM_PATH
7
+ sudo gem install pdd -v 0.20.5
8
+ sudo gem install xcop -v 0.6
9
+ bundle install
7
10
  release:
8
11
  script: |-
9
- env
10
- bundle install
11
- LC_ALL=US-ASCII rake
12
+ pdd -f /dev/null
13
+ LC_ALL=US-ASCII bundle exec rake
12
14
  rm -rf *.gem
13
15
  sed -i "s/1\.0\.snapshot/${tag}/g" lib/pdd/version.rb
14
16
  git add lib/pdd/version.rb
@@ -16,16 +18,15 @@ release:
16
18
  gem build pdd.gemspec
17
19
  chmod 0600 ../rubygems.yml
18
20
  gem push *.gem --config-file ../rubygems.yml
19
- sudo gem install pdd
20
21
  pdd --source=$(pwd) --verbose --file=pdd.xml -e=test/** -e=features/** -e=coverage/**/* -e=README.md
21
22
  s3cmd --no-progress put pdd.xml --config=../s3cfg s3://pdd.teamed.io/pdd.xml
22
23
  s3cmd --no-progress put assets/puzzles.xsd --acl-public --config=../s3cfg s3://pdd-xsd.teamed.io/${tag}.xsd
23
24
  s3cmd --no-progress put assets/puzzles.xsl --acl-public --config=../s3cfg s3://pdd-xsl.teamed.io/${tag}.xsl
24
- commanders:
25
- - yegor256
26
- architect:
27
- - yegor256
28
- - davvd
29
25
  merge:
30
- commanders: []
31
- deploy: {}
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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2014-2018 Yegor Bugayenko
1
+ # Copyright (c) 2014-2021 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
data/.travis.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.2.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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2014-2018 Yegor Bugayenko
1
+ # Copyright (c) 2014-2021 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
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  (The MIT License)
2
2
 
3
- Copyright (c) 2014-2018 Yegor Bugayenko
3
+ Copyright (c) 2014-2021 Yegor Bugayenko
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the 'Software'), to deal
data/README.md CHANGED
@@ -1,30 +1,33 @@
1
1
  <img src="https://avatars2.githubusercontent.com/u/24456188" width="64px" height="64px"/>
2
2
 
3
- [![EO principles respected here](http://www.elegantobjects.org/badge.svg)](http://www.elegantobjects.org)
3
+ [![Donate via Zerocracy](https://www.0crat.com/contrib-badge/C3T46CUJJ.svg)](https://www.0crat.com/contrib/C3T46CUJJ)
4
+
5
+ [![EO principles respected here](https://www.elegantobjects.org/badge.svg)](https://www.elegantobjects.org)
4
6
  [![Managed by Zerocracy](https://www.0crat.com/badge/C3T46CUJJ.svg)](https://www.0crat.com/p/C3T46CUJJ)
5
- [![DevOps By Rultor.com](http://www.rultor.com/b/yegor256/pdd)](http://www.rultor.com/p/yegor256/pdd)
6
- [![We recommend RubyMine](http://www.elegantobjects.org/rubymine.svg)](https://www.jetbrains.com/ruby/)
7
+ [![DevOps By Rultor.com](http://www.rultor.com/b/cqfn/pdd)](http://www.rultor.com/p/cqfn/pdd)
8
+ [![We recommend RubyMine](https://www.elegantobjects.org/rubymine.svg)](https://www.jetbrains.com/ruby/)
7
9
 
8
- [![Build Status](https://travis-ci.org/yegor256/pdd.svg)](https://travis-ci.org/yegor256/pdd)
9
- [![Build status](https://ci.appveyor.com/api/projects/status/b59sdhuu0gcku15b?svg=true)](https://ci.appveyor.com/project/yegor256/pdd)
10
- [![PDD status](http://www.0pdd.com/svg?name=yegor256/pdd)](http://www.0pdd.com/p?name=yegor256/pdd)
10
+ [![Build Status](https://travis-ci.org/cqfn/pdd.svg)](https://travis-ci.org/cqfn/pdd)
11
+ [![Build status](https://ci.appveyor.com/api/projects/status/b59sdhuu0gcku15b?svg=true)](https://ci.appveyor.com/project/cqfn/pdd)
12
+ [![PDD status](http://www.0pdd.com/svg?name=cqfn/pdd)](http://www.0pdd.com/p?name=cqfn/pdd)
13
+ [![Test Coverage](https://img.shields.io/codecov/c/github/cqfn/pdd.svg)](https://codecov.io/github/cqfn/pdd?branch=master)
14
+ [![Hits-of-Code](https://hitsofcode.com/github/cqfn/pdd)](https://hitsofcode.com/view/github/cqfn/pdd)
15
+ [![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/cqfn/pdd/blob/master/LICENSE.txt)
11
16
 
12
17
  [![Gem Version](https://badge.fury.io/rb/pdd.svg)](http://badge.fury.io/rb/pdd)
13
- [![Dependency Status](https://gemnasium.com/yegor256/pdd.svg)](https://gemnasium.com/yegor256/pdd)
14
- [![Maintainability](https://api.codeclimate.com/v1/badges/c8e46256fdd8ddc817e5/maintainability)](https://codeclimate.com/github/yegor256/pdd/maintainability)
15
- [![Test Coverage](https://img.shields.io/codecov/c/github/yegor256/pdd.svg)](https://codecov.io/github/yegor256/pdd?branch=master)
16
-
17
- ## What This is for?
18
+ [![Maintainability](https://api.codeclimate.com/v1/badges/c8e46256fdd8ddc817e5/maintainability)](https://codeclimate.com/github/cqfn/pdd/maintainability)
19
+ [![Yard Docs](http://img.shields.io/badge/yard-docs-blue.svg)](http://rubydoc.info/github/cqfn/pdd/master/frames)
18
20
 
19
21
  Read this article about
20
- [Puzzle Driven Development](http://www.yegor256.com/2009/03/04/pdd.html).
22
+ [_Puzzle Driven Development_](http://www.yegor256.com/2009/03/04/pdd.html).
21
23
  Check also patent application [US 12/840,306](http://www.google.com/patents/US20120023476)
22
24
 
23
25
  Also, check [0pdd.com](http://www.0pdd.com): a hosted service,
24
- where this command line tool works for you. Read this first:
25
- [PDD in Action](http://www.yegor256.com/2017/04/05/pdd-in-action.html).
26
+ where this command line tool works for you.
26
27
 
27
- ## How to Install?
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).
28
31
 
29
32
  Install it first:
30
33
 
@@ -32,8 +35,6 @@ Install it first:
32
35
  $ gem install pdd
33
36
  ```
34
37
 
35
- ## How to Run?
36
-
37
38
  Run it locally and read its output:
38
39
 
39
40
  ```bash
@@ -53,6 +54,18 @@ pdd --exclude=src/**/* # exclude all files in src/
53
54
  Every puzzle has to be formatted like this (pay attention
54
55
  to the leading space in every consecutive line):
55
56
 
57
+ ```java
58
+ /**
59
+ * @todo #[issue#]<:[time]></[role]> <[description]>
60
+ */
61
+ [related code]
62
+ ```
63
+
64
+ \[\] - Replace with apropriate data (see text enclosed in brackets)
65
+ <> - Omitable (enclosed data can be left out)
66
+
67
+ Example:
68
+
56
69
  ```java
57
70
  /**
58
71
  * @todo #234:15m/DEV This is something to do later
@@ -71,10 +84,13 @@ The specified markers will be included in the issues body
71
84
  along with some predefined text. If your comment is longer
72
85
  than 40 characters, it will be truncated in the title.
73
86
 
74
- It starts with `@todo`, followed by a space and a mandatory puzzle **marker**.
75
- Possible formats of puzzle markers (it doesn't matter what the
87
+ There are 3 supported keywords, one of which must precede the mandatory
88
+ puzzle marker. They are `@todo`, `TODO` and `TODO:`.
89
+
90
+ As an example, it starts with `@todo`, followed by a space and a mandatory
91
+ puzzle **marker**. Possible formats of puzzle markers (it doesn't matter what the
76
92
  line starts with and where it is located,
77
- as long as you have that `@todo` right in front
93
+ as long as you have one of the 3 supported keywords right in front
78
94
  of the mandatory marker):
79
95
 
80
96
  ```
@@ -83,12 +99,14 @@ of the mandatory marker):
83
99
  # @todo #55:45min
84
100
  @todo #67/DES
85
101
  ;; @todo #678:40m/DEV
102
+ // TODO: #1:30min
103
+ (* TODO #42 *)
86
104
  ```
87
105
 
88
106
  Here `DES` and `DEV` are the roles of people who must fix that puzzles;
89
107
  `45min` and `40m` is the amount of time the puzzle should take;
90
- `224`, `TEST-13`, `55`, `67`, and `678` are the IDs of the tickets these
91
- puzzles are coming from.
108
+ `224`, `TEST-13`, `55`, `67`, `678`, `1`, and `42` are the IDs of the tickets
109
+ these puzzles are coming from.
92
110
 
93
111
  Markers are absolutely necessary for all puzzles, because they allow
94
112
  us to build a hierarchical dependency tree of all puzzles, like
@@ -111,18 +129,18 @@ parameter specified after a colon.
111
129
 
112
130
  Here is a list of rules available now:
113
131
 
114
- * `min-estimate:15` blocks all puzzles that don't have an estimate
132
+ - `min-estimate:15` blocks all puzzles that don't have an estimate
115
133
  or their estimates are less than 15 minutes.
116
134
 
117
- * `max-estimate:120` blocks all puzzles with estimates over 120 minutes.
135
+ - `max-estimate:120` blocks all puzzles with estimates over 120 minutes.
118
136
 
119
- * `available-roles:DEV,IMP,DES` specifies a list of roles that
137
+ - `available-roles:DEV,IMP,DES` specifies a list of roles that
120
138
  are allowed in puzzles. Puzzles without explicitly specified
121
139
  roles will be rejected.
122
140
 
123
- * `min-words:5` blocks puzzles with descriptions shorter than five words.
141
+ - `min-words:5` blocks puzzles with descriptions shorter than five words.
124
142
 
125
- * `max-duplicates:1` blocks more than one duplicate of any puzzle.
143
+ - `max-duplicates:1` blocks more than one duplicate of any puzzle.
126
144
  This rule is used by default and you can't configure it at the moment,
127
145
  it must always be set to `1`.
128
146
 
@@ -155,49 +173,35 @@ The XML produced will look approximately like this (here is a
155
173
  [XSD Schema](http://pdd-xsd.teamed.io/0.19.4.xsd) is here.
156
174
  The most interesting parts of each puzzle are:
157
175
 
158
- * `ticket` is a ticket name puzzle marker starts from, in most
159
- cases it will be the number of GitHub issue.
176
+ - `ticket` is a ticket name puzzle marker starts from, in most
177
+ cases it will be the number of GitHub issue.
160
178
 
161
- * `estimate` is the amount of minutes the puzzle is supposed to take.
179
+ - `estimate` is the amount of minutes the puzzle is supposed to take.
162
180
 
163
- * `id` is a unique ID of the puzzle. It is calculated by the
164
- internal algorithm that takes into account only the text of the puzzle.
165
- Thus, if you move the puzzle from one file to another, the ID won't
166
- change. Also, changing the location of a puzzle inside a file
167
- won't change its ID.
181
+ - `id` is a unique ID of the puzzle. It is calculated by the
182
+ internal algorithm that takes into account only the text of the puzzle.
183
+ Thus, if you move the puzzle from one file to another, the ID won't
184
+ change. Also, changing the location of a puzzle inside a file
185
+ won't change its ID.
168
186
 
169
- * `lines` is where the puzzle is found, inside the file.
187
+ - `lines` is where the puzzle is found, inside the file.
170
188
 
171
- ## How to contribute?
189
+ ## How to contribute
172
190
 
173
- Just submit a pull request. Make sure `rake` passes.
191
+ Read [these guidelines](https://www.yegor256.com/2014/04/15/github-guidelines.html).
192
+ Make sure you build is green before you contribute
193
+ your pull request. You will need to have [Ruby](https://www.ruby-lang.org/en/) 2.3+ and
194
+ [Bundler](https://bundler.io/) installed. Then:
195
+
196
+ ```
197
+ $ bundle update
198
+ $ bundle exec rake
199
+ ```
200
+
201
+ If it's clean and you don't see any error messages, submit your pull request.
174
202
 
175
203
  This is how you run the tool locally to test how it works:
176
204
 
177
205
  ```bash
178
206
  $ ./bin/pdd --help
179
207
  ```
180
-
181
- ## License
182
-
183
- (The MIT License)
184
-
185
- Copyright (c) 2016-2018 Yegor Bugayenko
186
-
187
- Permission is hereby granted, free of charge, to any person obtaining a copy
188
- of this software and associated documentation files (the 'Software'), to deal
189
- in the Software without restriction, including without limitation the rights
190
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
191
- copies of the Software, and to permit persons to whom the Software is
192
- furnished to do so, subject to the following conditions:
193
-
194
- The above copyright notice and this permission notice shall be included in all
195
- copies or substantial portions of the Software.
196
-
197
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
198
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
199
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
200
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
201
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
202
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
203
- SOFTWARE.
data/Rakefile CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2014-2018 Yegor Bugayenko
1
+ # Copyright (c) 2014-2021 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
data/assets/puzzles.xsd CHANGED
@@ -2,7 +2,7 @@
2
2
  <!--
3
3
  (The MIT License)
4
4
 
5
- Copyright (c) 2014-2018 Yegor Bugayenko
5
+ Copyright (c) 2014-2021 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-2018 Yegor Bugayenko
5
+ Copyright (c) 2014-2021 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-2018 Yegor Bugayenko
2
+ # Copyright (c) 2014-2021 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
@@ -21,6 +21,9 @@
21
21
 
22
22
  STDOUT.sync = true
23
23
 
24
+ require 'shellwords'
25
+ require 'English'
26
+ require 'find'
24
27
  require 'slop'
25
28
  require 'nokogiri'
26
29
  require 'rainbow'
@@ -39,6 +42,11 @@ begin
39
42
  end
40
43
  args += ARGV
41
44
 
45
+ dir = Dir.pwd
46
+ @dir = File.absolute_path(dir)
47
+ files = Dir.glob(
48
+ File.join(@dir, '**/*'), File::FNM_DOTMATCH
49
+ ).reject { |f| File.directory?(f) }
42
50
  begin
43
51
  opts = Slop.parse(args, strict: true, help: true) do |o|
44
52
  o.banner = "Usage (#{PDD::VERSION}): pdd [options]"
@@ -46,6 +54,8 @@ begin
46
54
  o.bool '-v', '--verbose', 'Enable verbose mode (a lot of logging)'
47
55
  o.bool '-q', '--quiet', 'Enable quiet mode (almost no logging)'
48
56
  o.bool '--skip-gitignore', 'Don\'t look into .gitignore for excludes'
57
+ o.bool '--skip-errors', 'Suppress error as warning and skip badly
58
+ formatted puzzles'
49
59
  o.bool '-i', '--version', 'Show current version' do
50
60
  puts PDD::VERSION
51
61
  exit
@@ -53,7 +63,9 @@ begin
53
63
  o.string '-s', '--source', 'Source directory to parse ("." by default)'
54
64
  o.string '-f', '--file', 'File to save XML into'
55
65
  o.array '-e', '--exclude', 'Glob pattern to exclude, e.g. "**/*.jpg"',
56
- default: []
66
+ default: []
67
+ o.array '-n', '--include', 'Glob pattern to include, e.g. "**/*.jpg"',
68
+ default: [files]
57
69
  o.string '-t', '--format', 'Format of the report (xml|html)'
58
70
  o.array(
59
71
  '-r', '--rule', 'Rule to apply (can be used many times)',
@@ -67,7 +79,7 @@ begin
67
79
  if opts.help?
68
80
  puts opts
69
81
  puts "This is our README to learn more: \
70
- https://github.com/yegor256/pdd/blob/master/README.md"
82
+ https://github.com/cqfn/pdd/blob/master/README.md"
71
83
  exit
72
84
  end
73
85
 
@@ -76,7 +88,7 @@ https://github.com/yegor256/pdd/blob/master/README.md"
76
88
  end
77
89
 
78
90
  if opts['skip-gitignore']
79
- raise 'For --skip-gitignore see https://github.com/yegor256/pdd/issues/80'
91
+ raise 'For --skip-gitignore see https://github.com/cqfn/pdd/issues/80'
80
92
  end
81
93
 
82
94
  Encoding.default_external = Encoding::UTF_8
@@ -100,12 +112,12 @@ rescue SystemExit => ex
100
112
  PDD.log.info "Exit code is #{ex.status}"
101
113
  exit(ex.status)
102
114
  rescue PDD::Error => ex
103
- puts "#{Rainbow('ERROR').red}: #{ex.message}. \
115
+ puts "#{Rainbow('ERROR').red}: #{ex.message}
104
116
  If you can't understand the cause of this issue or you don't know \
105
117
  how to fix it, please submit a GitHub issue, we will try to help you: \
106
- https://github.com/yegor256/pdd/issues. This tool is still in its beta \
118
+ https://github.com/cqfn/pdd/issues. This tool is still in its beta \
107
119
  version and we will appreciate your feedback. Here is where you can find \
108
- more documentation: https://github.com/yegor256/pdd/blob/master/README.md."
120
+ more documentation: https://github.com/cqfn/pdd/blob/master/README.md."
109
121
  PDD.log.info 'Exit code is 1'
110
122
  exit(1)
111
123
  rescue StandardError => ex