pdd 0.20.5 → 0.20.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 469fac61bc8c662a5ab60e7edafacdde3c5ca80d07d58344aee7998ed419278c
4
- data.tar.gz: 5724768e66432f5fd4069c4400e93270fa821b14cd041b406e508c2508d3a73d
3
+ metadata.gz: 94bad35283e2d4e40df39ffa9a643c1352a4674cb500123fb0442af9c3af082d
4
+ data.tar.gz: a451b9e8a979d64fbcae9e5cb279cc6c25c87ba9d7d1618e740083444a37cc12
5
5
  SHA512:
6
- metadata.gz: 745ce4a855723ec9c4071668883e15baab1a39f2273b0c1a159a8f834782afd1ff8861c28556130f34e2c6ccc2accc21ffccb49542bef630c0e4e3f721f39224
7
- data.tar.gz: df6ce1341c94ac38b2cdbd7f01df568d19688d8eb5d9864a03b08a33ee424757d2f7d8c0cd56856abb9edb728faa53c07840c0282a7c775a6ce8ca80d8639fc9
6
+ metadata.gz: b71f4e3eafa987be5233a8f29ec25b8c72bbb6eebd36cf9f9b23b01b1c09767ea4cd395c9c6f369068d87a41bd638dc6a7e5588ebeb7b21f60d6fd5db9e0e043
7
+ data.tar.gz: 075700135e8e66e28c2db6cff9b613d76fdb464529ad164fae32f6c179e840197e2e946622c7ce87419422b3d4029b1c584d59f302a30581febf832b730fadc6
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,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
@@ -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
@@ -1,16 +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
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
- env
12
- bundle install
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
- commanders: []
33
- 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-2019 Yegor Bugayenko
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
@@ -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-2019 Yegor Bugayenko
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
@@ -1,6 +1,6 @@
1
1
  (The MIT License)
2
2
 
3
- Copyright (c) 2014-2019 Yegor Bugayenko
3
+ Copyright (c) 2014-2020 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
@@ -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](http://www.elegantobjects.org/badge.svg)](http://www.elegantobjects.org)
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](http://www.elegantobjects.org/rubymine.svg)](https://www.jetbrains.com/ruby/)
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
- [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).
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. Read this first:
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
- ## 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).
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
- # How to contribute
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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2014-2019 Yegor Bugayenko
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
@@ -2,7 +2,7 @@
2
2
  <!--
3
3
  (The MIT License)
4
4
 
5
- Copyright (c) 2014-2019 Yegor Bugayenko
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
@@ -2,7 +2,7 @@
2
2
  <!--
3
3
  (The MIT License)
4
4
 
5
- Copyright (c) 2014-2019 Yegor Bugayenko
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-2019 Yegor Bugayenko
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
- default: []
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-2019 Yegor Bugayenko
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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2014-2019 Yegor Bugayenko
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-2019 Yegor Bugayenko
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-2019 Yegor Bugayenko
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
- unless @opts[:exclude].nil?
91
- @opts[:exclude].each do |p|
92
- sources = sources.exclude(p)
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(
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2014-2019 Yegor Bugayenko
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
@@ -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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2014-2019 Yegor Bugayenko
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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2014-2019 Yegor Bugayenko
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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2014-2019 Yegor Bugayenko
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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2014-2019 Yegor Bugayenko
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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2014-2019 Yegor Bugayenko
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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2014-2019 Yegor Bugayenko
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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2014-2019 Yegor Bugayenko
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-2019 Yegor Bugayenko
23
+ # Copyright:: Copyright (c) 2014-2020 Yegor Bugayenko
24
24
  # License:: MIT
25
25
  module PDD
26
- VERSION = '0.20.5'.freeze
26
+ VERSION = '0.20.6'.freeze
27
27
  end
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2014-2019 Yegor Bugayenko
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.2'
33
- s.required_ruby_version = '>= 2.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.3'
48
- s.add_runtime_dependency 'rainbow', '~>3.0'
49
- s.add_runtime_dependency 'slop', '4.6.1'
50
- s.add_development_dependency 'codecov', '0.1.10'
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'
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2014-2019 Yegor Bugayenko
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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2014-2019 Yegor Bugayenko
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-2019 Yegor Bugayenko
27
+ # Copyright:: Copyright (c) 2014-2020 Yegor Bugayenko
28
28
  # License:: MIT
29
29
  class TestMaxDuplicates < Minitest::Test
30
30
  def test_max_duplicates
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2014-2019 Yegor Bugayenko
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-2019 Yegor Bugayenko
27
+ # Copyright:: Copyright (c) 2014-2020 Yegor Bugayenko
28
28
  # License:: MIT
29
29
  class TestEstimates < Minitest::Test
30
30
  def test_min
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2014-2019 Yegor Bugayenko
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-2019 Yegor Bugayenko
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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2014-2019 Yegor Bugayenko
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-2019 Yegor Bugayenko
27
+ # Copyright:: Copyright (c) 2014-2020 Yegor Bugayenko
28
28
  # License:: MIT
29
29
  class TestRoles < Minitest::Test
30
30
  def test_incorrect_role
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2014-2019 Yegor Bugayenko
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-2019 Yegor Bugayenko
28
+ # Copyright:: Copyright (c) 2014-2020 Yegor Bugayenko
29
29
  # License:: MIT
30
30
  class TestSource < Minitest::Test
31
31
  def test_parsing
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2014-2019 Yegor Bugayenko
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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2014-2019 Yegor Bugayenko
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-2019 Yegor Bugayenko
29
+ # Copyright:: Copyright (c) 2014-2020 Yegor Bugayenko
30
30
  # License:: MIT
31
31
  class TestSources < Minitest::Test
32
32
  def test_iterator
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2014-2019 Yegor Bugayenko
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-2019 Yegor Bugayenko
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.5
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: 2019-05-15 00:00:00.000000000 Z
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.3
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.3
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.1
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: 4.6.1
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.1.10
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.1.10
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.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