hoc 0.8.1 → 0.9.0
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 +5 -5
- data/.rubocop.yml +5 -0
- data/.rultor.yml +14 -8
- data/.simplecov +2 -2
- data/.travis.yml +1 -1
- data/Gemfile +1 -4
- data/LICENSE.txt +2 -2
- data/README.md +19 -20
- data/Rakefile +2 -5
- data/bin/hoc +14 -4
- data/features/step_definitions/steps.rb +3 -6
- data/features/support/env.rb +1 -4
- data/hoc.gemspec +9 -12
- data/lib/hoc.rb +5 -6
- data/lib/hoc/git.rb +8 -6
- data/lib/hoc/hits.rb +1 -4
- data/lib/hoc/svn.rb +1 -4
- data/lib/hoc/version.rb +3 -6
- data/test/test__helper.rb +1 -4
- data/test/test_git.rb +8 -8
- data/test/test_hoc.rb +2 -5
- data/test/test_svn.rb +2 -5
- metadata +30 -31
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 0ec7266a7d2e15dece90873097b71041dcefad0c7f18c845048198aae3aeb24a
|
|
4
|
+
data.tar.gz: 03a2e3d738372b6b205e640cec6bff1579235036a388bc8d1c96d323b366c109
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 743aa2521c968908ca181618f9f6479a9b251ab16a897c9e8f9ac76aa8c9e94f1a7b415c5d9645aa60c5a5e3a6688a92ac5c2db4e2e53e13dbf6f8b0e3f90168
|
|
7
|
+
data.tar.gz: affe8972f8e40d92419b8972ed0b7392ee12bfafc138abc99d78d7046f60d59683cb00ce993d7bfcc841b65f20b75627076a662691cebd6265bb8d42e348fbc6
|
data/.rubocop.yml
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
AllCops:
|
|
2
2
|
DisplayCopNames: true
|
|
3
|
+
TargetRubyVersion: 2.2.2
|
|
3
4
|
|
|
4
5
|
Metrics/MethodLength:
|
|
5
6
|
Max: 30
|
|
@@ -7,3 +8,7 @@ Metrics/AbcSize:
|
|
|
7
8
|
Max: 30
|
|
8
9
|
Metrics/CyclomaticComplexity:
|
|
9
10
|
Max: 10
|
|
11
|
+
Layout/EmptyLineAfterGuardClause:
|
|
12
|
+
Enabled: false
|
|
13
|
+
Metrics/BlockLength:
|
|
14
|
+
Max: 50
|
data/.rultor.yml
CHANGED
|
@@ -1,23 +1,29 @@
|
|
|
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
|
+
export GEM_PATH=$GEM_HOME:$GEM_PATH
|
|
7
|
+
sudo gem install pdd -v 0.20.5
|
|
8
|
+
sudo apt-get update --fix-missing
|
|
6
9
|
sudo apt-get install -y subversion diffstat
|
|
7
10
|
sudo apt-get install -y software-properties-common
|
|
8
11
|
sudo add-apt-repository -y ppa:git-core/ppa
|
|
9
|
-
sudo apt-get update
|
|
12
|
+
sudo apt-get update --fix-missing
|
|
10
13
|
sudo apt-get remove -y git
|
|
11
14
|
sudo apt-get install -y git
|
|
15
|
+
bundle install
|
|
12
16
|
deploy:
|
|
13
17
|
script: |
|
|
14
|
-
|
|
15
|
-
|
|
18
|
+
echo There is nothing to deploy
|
|
19
|
+
exit 1
|
|
20
|
+
merge:
|
|
21
|
+
script: |
|
|
22
|
+
bundle exec rake
|
|
16
23
|
release:
|
|
17
24
|
script: |
|
|
18
25
|
pdd --verbose --file=/dev/null
|
|
19
|
-
bundle
|
|
20
|
-
rake
|
|
26
|
+
bundle exec rake
|
|
21
27
|
rm -rf *.gem
|
|
22
28
|
sed -i "s/1\.0\.snapshot/${tag}/g" lib/hoc/version.rb
|
|
23
29
|
git commit -m "${tag}" lib/hoc/version.rb
|
data/.simplecov
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
#
|
|
3
|
-
# Copyright (c) 2014-
|
|
4
|
-
# Copyright (c) 2014-
|
|
3
|
+
# Copyright (c) 2014-2019 Teamed.io
|
|
4
|
+
# Copyright (c) 2014-2019 Yegor Bugayenko
|
|
5
5
|
#
|
|
6
6
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
# of this software and associated documentation files (the 'Software'), to deal
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2014-2018 Teamed.io
|
|
4
|
-
# Copyright (c) 2014-2018 Yegor Bugayenko
|
|
1
|
+
# Copyright (c) 2014-2019 Yegor Bugayenko
|
|
5
2
|
#
|
|
6
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
data/LICENSE.txt
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
(The MIT License)
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2014-
|
|
4
|
-
Copyright (c) 2014-
|
|
3
|
+
Copyright (c) 2014-2019 Teamed.io
|
|
4
|
+
Copyright (c) 2014-2019 Yegor Bugayenko
|
|
5
5
|
|
|
6
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
of this software and associated documentation files (the 'Software'), to deal
|
data/README.md
CHANGED
|
@@ -1,20 +1,25 @@
|
|
|
1
|
-
[](https://www.elegantobjects.org)
|
|
2
2
|
[](https://www.0crat.com/p/C3RFVLU72)
|
|
3
3
|
[](http://www.rultor.com/p/yegor256/hoc)
|
|
4
|
-
[](https://www.jetbrains.com/ruby/)
|
|
5
5
|
|
|
6
6
|
[](https://travis-ci.org/yegor256/hoc)
|
|
7
|
-
[](https://ci.appveyor.com/project/yegor256/hoc)
|
|
8
8
|
[](http://badge.fury.io/rb/hoc)
|
|
9
|
-
[](https://codeclimate.com/github/yegor256/hoc)
|
|
9
|
+
[](https://codeclimate.com/github/yegor256/hoc/maintainability)
|
|
11
10
|
[](https://codecov.io/github/yegor256/hoc?branch=master)
|
|
12
11
|
|
|
12
|
+
[](https://hitsofcode.com/view/github/yegor256/hoc)
|
|
13
|
+
|
|
13
14
|
It is a command line tool to calculate Hits-of-Code metric
|
|
14
15
|
in a source code repository (at the moment we support Git 2+ and Subversion 1.7+).
|
|
15
16
|
You can read more about Hits-of-Code metric in this blog post:
|
|
16
17
|
[Hits-of-Code Instead of SLoC](http://www.yegor256.com/2014/11/14/hits-of-code.html).
|
|
17
18
|
|
|
19
|
+
You can also use [hitsofcode.com](https://hitsofcode.com) by
|
|
20
|
+
[Valentin Brandl](https://www.vbrandl.net/), if you want to have a badge
|
|
21
|
+
in your repo.
|
|
22
|
+
|
|
18
23
|
Install it first:
|
|
19
24
|
|
|
20
25
|
```bash
|
|
@@ -31,23 +36,17 @@ For Subversion statistics you must have
|
|
|
31
36
|
[diffstat](http://sourceforge.net/projects/mingw/files/MSYS/Extension/diffstat/)
|
|
32
37
|
installed.
|
|
33
38
|
|
|
34
|
-
##
|
|
35
|
-
|
|
36
|
-
If you have any questions about the tool, or something doesn't work as expected,
|
|
37
|
-
please [submit an issue here](https://github.com/yegor256/hoc/issues/new).
|
|
39
|
+
## How to contribute
|
|
38
40
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
the `master` branch, if they look correct.
|
|
44
|
-
|
|
45
|
-
Please run Rake build before submitting a pull request (make sure you
|
|
46
|
-
have [bundler](http://bundler.io/) installed):
|
|
41
|
+
Read [these guidelines](https://www.yegor256.com/2014/04/15/github-guidelines.html).
|
|
42
|
+
Make sure you build is green before you contribute
|
|
43
|
+
your pull request. You will need to have [Ruby](https://www.ruby-lang.org/en/) 2.3+ and
|
|
44
|
+
[Bundler](https://bundler.io/) installed. Then:
|
|
47
45
|
|
|
48
46
|
```
|
|
49
|
-
$ bundle
|
|
50
|
-
$ rake
|
|
47
|
+
$ bundle update
|
|
48
|
+
$ bundle exec rake
|
|
51
49
|
```
|
|
52
50
|
|
|
53
|
-
|
|
51
|
+
If it's clean and you don't see any error messages, submit your pull request.
|
|
52
|
+
|
data/Rakefile
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2014-2018 Teamed.io
|
|
4
|
-
# Copyright (c) 2014-2018 Yegor Bugayenko
|
|
1
|
+
# Copyright (c) 2014-2019 Yegor Bugayenko
|
|
5
2
|
#
|
|
6
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -33,7 +30,7 @@ def version
|
|
|
33
30
|
Gem::Specification.load(Dir['*.gemspec'].first).version
|
|
34
31
|
end
|
|
35
32
|
|
|
36
|
-
task default: [
|
|
33
|
+
task default: %i[clean test features rubocop copyright]
|
|
37
34
|
|
|
38
35
|
task :clean do
|
|
39
36
|
rm_rf 'coverage'
|
data/bin/hoc
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
|
-
|
|
3
|
-
#
|
|
4
|
-
# Copyright (c) 2014-2018 Teamed.io
|
|
5
|
-
# Copyright (c) 2014-2018 Yegor Bugayenko
|
|
2
|
+
|
|
3
|
+
# Copyright (c) 2014-2019 Yegor Bugayenko
|
|
6
4
|
#
|
|
7
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
8
6
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -58,6 +56,18 @@ opts = Slop.parse(args, strict: true, help: true) do |o|
|
|
|
58
56
|
'Directory to scan',
|
|
59
57
|
default: '.'
|
|
60
58
|
)
|
|
59
|
+
o.string(
|
|
60
|
+
'-s',
|
|
61
|
+
'--since',
|
|
62
|
+
'Set the start date of hoc (YYYY-MM-DD)',
|
|
63
|
+
default: '2000-01-01'
|
|
64
|
+
)
|
|
65
|
+
o.string(
|
|
66
|
+
'-b',
|
|
67
|
+
'--before',
|
|
68
|
+
'Set the end date of hoc (YYYY-MM-DD)',
|
|
69
|
+
default: Time.now.strftime('%Y-%m-%d')
|
|
70
|
+
)
|
|
61
71
|
end
|
|
62
72
|
|
|
63
73
|
if opts.help?
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2014-2018 Teamed.io
|
|
4
|
-
# Copyright (c) 2014-2018 Yegor Bugayenko
|
|
1
|
+
# Copyright (c) 2014-2019 Yegor Bugayenko
|
|
5
2
|
#
|
|
6
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -51,7 +48,7 @@ Given(/^I run bash:$/) do |script|
|
|
|
51
48
|
cmd = script.split("\n").join(' && ')
|
|
52
49
|
@stdout = `#{cmd}`
|
|
53
50
|
@exitstatus = $CHILD_STATUS.exitstatus
|
|
54
|
-
raise 'non-zero exit code' unless @exitstatus
|
|
51
|
+
raise 'non-zero exit code' unless @exitstatus.zero?
|
|
55
52
|
end
|
|
56
53
|
|
|
57
54
|
When(%r{^I run bin/hoc with "([^"]*)"$}) do |arg|
|
|
@@ -67,7 +64,7 @@ Then(/^Stdout contains "([^"]*)"$/) do |txt|
|
|
|
67
64
|
end
|
|
68
65
|
|
|
69
66
|
Then(/^Exit code is zero$/) do
|
|
70
|
-
raise "Non-zero exit code #{@exitstatus}" unless @exitstatus
|
|
67
|
+
raise "Non-zero exit code #{@exitstatus}" unless @exitstatus.zero?
|
|
71
68
|
end
|
|
72
69
|
|
|
73
70
|
Given(/^I have a "([^"]*)" file with content:$/) do |file, text|
|
data/features/support/env.rb
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2014-2018 Teamed.io
|
|
4
|
-
# Copyright (c) 2014-2018 Yegor Bugayenko
|
|
1
|
+
# Copyright (c) 2014-2019 Yegor Bugayenko
|
|
5
2
|
#
|
|
6
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
data/hoc.gemspec
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2014-2018 Teamed.io
|
|
4
|
-
# Copyright (c) 2014-2018 Yegor Bugayenko
|
|
1
|
+
# Copyright (c) 2014-2019 Yegor Bugayenko
|
|
5
2
|
#
|
|
6
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -21,7 +18,7 @@
|
|
|
21
18
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
19
|
# SOFTWARE.
|
|
23
20
|
|
|
24
|
-
lib = File.expand_path('
|
|
21
|
+
lib = File.expand_path('lib', __dir__)
|
|
25
22
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
26
23
|
require 'hoc/version'
|
|
27
24
|
|
|
@@ -31,7 +28,7 @@ Gem::Specification.new do |s|
|
|
|
31
28
|
s.required_rubygems_version = Gem::Requirement.new('>= 0')
|
|
32
29
|
end
|
|
33
30
|
s.rubygems_version = '2.2.2'
|
|
34
|
-
s.required_ruby_version = '>=
|
|
31
|
+
s.required_ruby_version = '>= 2.2.2'
|
|
35
32
|
s.name = 'hoc'
|
|
36
33
|
s.version = HOC::VERSION
|
|
37
34
|
s.license = 'MIT'
|
|
@@ -44,14 +41,14 @@ Gem::Specification.new do |s|
|
|
|
44
41
|
s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
|
45
42
|
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
|
46
43
|
s.rdoc_options = ['--charset=UTF-8']
|
|
47
|
-
s.extra_rdoc_files = %w
|
|
48
|
-
s.add_runtime_dependency 'slop', '~>4.4
|
|
49
|
-
s.add_development_dependency 'rake', '12.0.0'
|
|
44
|
+
s.extra_rdoc_files = %w[README.md LICENSE.txt]
|
|
45
|
+
s.add_runtime_dependency 'slop', '~>4.4'
|
|
50
46
|
s.add_development_dependency 'codecov', '0.1.10'
|
|
51
|
-
s.add_development_dependency 'rdoc', '3.11'
|
|
52
47
|
s.add_development_dependency 'cucumber', '1.3.11'
|
|
53
48
|
s.add_development_dependency 'minitest', '5.4'
|
|
54
|
-
s.add_development_dependency '
|
|
55
|
-
s.add_development_dependency '
|
|
49
|
+
s.add_development_dependency 'rake', '12.0.0'
|
|
50
|
+
s.add_development_dependency 'rdoc', '3.12.1'
|
|
56
51
|
s.add_development_dependency 'rspec-rails', '2.13'
|
|
52
|
+
s.add_development_dependency 'rubocop', '0.61.0'
|
|
53
|
+
s.add_development_dependency 'rubocop-rspec', '1.5.1'
|
|
57
54
|
end
|
data/lib/hoc.rb
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2014-2018 Teamed.io
|
|
4
|
-
# Copyright (c) 2014-2018 Yegor Bugayenko
|
|
1
|
+
# Copyright (c) 2014-2019 Yegor Bugayenko
|
|
5
2
|
#
|
|
6
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -26,7 +23,7 @@ require 'hoc/svn'
|
|
|
26
23
|
|
|
27
24
|
# HOC main module.
|
|
28
25
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
29
|
-
# Copyright:: Copyright (c) 2014-
|
|
26
|
+
# Copyright:: Copyright (c) 2014-2019 Yegor Bugayenko
|
|
30
27
|
# License:: MIT
|
|
31
28
|
module HOC
|
|
32
29
|
# Code base abstraction
|
|
@@ -38,13 +35,15 @@ module HOC
|
|
|
38
35
|
@exclude = opts[:exclude] || []
|
|
39
36
|
@author = opts[:author] || ''
|
|
40
37
|
@format = opts[:format] || 'int'
|
|
38
|
+
@since = opts[:since] || '2000-01-01'
|
|
39
|
+
@before = opts[:before] || Time.now.strftime('%Y-%m-%d')
|
|
41
40
|
end
|
|
42
41
|
|
|
43
42
|
# Generate report.
|
|
44
43
|
def report
|
|
45
44
|
repo = nil
|
|
46
45
|
if File.exist?(File.join(@dir, '.git'))
|
|
47
|
-
repo = Git.new(@dir, @exclude, @author)
|
|
46
|
+
repo = Git.new(@dir, @exclude, @author, @since, @before)
|
|
48
47
|
elsif File.exist?(File.join(@dir, '.svn'))
|
|
49
48
|
repo = Svn.new(@dir)
|
|
50
49
|
else
|
data/lib/hoc/git.rb
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2014-2018 Teamed.io
|
|
4
|
-
# Copyright (c) 2014-2018 Yegor Bugayenko
|
|
1
|
+
# Copyright (c) 2014-2019 Yegor Bugayenko
|
|
5
2
|
#
|
|
6
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -27,10 +24,12 @@ require 'hoc/hits'
|
|
|
27
24
|
module HOC
|
|
28
25
|
# Git source code base.
|
|
29
26
|
class Git
|
|
30
|
-
def initialize(dir, exclude, author)
|
|
27
|
+
def initialize(dir, exclude, author, since, before)
|
|
31
28
|
@dir = dir
|
|
32
29
|
@exclude = exclude
|
|
33
30
|
@author = author
|
|
31
|
+
@since = since
|
|
32
|
+
@before = before
|
|
34
33
|
end
|
|
35
34
|
|
|
36
35
|
def hits
|
|
@@ -43,7 +42,10 @@ module HOC
|
|
|
43
42
|
'--ignore-space-change', '--ignore-all-space',
|
|
44
43
|
'--ignore-submodules', '--no-color',
|
|
45
44
|
'--find-copies-harder', '-M', '--diff-filter=ACDM',
|
|
46
|
-
"'--author=#{@author}'",
|
|
45
|
+
"'--author=#{@author}'",
|
|
46
|
+
"'--since=#{@since}'",
|
|
47
|
+
"'--before=#{@before}'",
|
|
48
|
+
'--', '.',
|
|
47
49
|
@exclude.map { |e| "':(exclude,glob)#{e}'" }.join(' ')
|
|
48
50
|
].join(' ')
|
|
49
51
|
[
|
data/lib/hoc/hits.rb
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2014-2018 Teamed.io
|
|
4
|
-
# Copyright (c) 2014-2018 Yegor Bugayenko
|
|
1
|
+
# Copyright (c) 2014-2019 Yegor Bugayenko
|
|
5
2
|
#
|
|
6
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
data/lib/hoc/svn.rb
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2014-2018 Teamed.io
|
|
4
|
-
# Copyright (c) 2014-2018 Yegor Bugayenko
|
|
1
|
+
# Copyright (c) 2014-2019 Yegor Bugayenko
|
|
5
2
|
#
|
|
6
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
data/lib/hoc/version.rb
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2014-2018 Teamed.io
|
|
4
|
-
# Copyright (c) 2014-2018 Yegor Bugayenko
|
|
1
|
+
# Copyright (c) 2014-2019 Yegor Bugayenko
|
|
5
2
|
#
|
|
6
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -23,8 +20,8 @@
|
|
|
23
20
|
|
|
24
21
|
# HOC main module.
|
|
25
22
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
26
|
-
# Copyright:: Copyright (c) 2014-
|
|
23
|
+
# Copyright:: Copyright (c) 2014-2019 Yegor Bugayenko
|
|
27
24
|
# License:: MIT
|
|
28
25
|
module HOC
|
|
29
|
-
VERSION = '0.
|
|
26
|
+
VERSION = '0.9.0'.freeze
|
|
30
27
|
end
|
data/test/test__helper.rb
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2014-2018 Teamed.io
|
|
4
|
-
# Copyright (c) 2014-2018 Yegor Bugayenko
|
|
1
|
+
# Copyright (c) 2014-2019 Yegor Bugayenko
|
|
5
2
|
#
|
|
6
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
data/test/test_git.rb
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2014-2018 Teamed.io
|
|
4
|
-
# Copyright (c) 2014-2018 Yegor Bugayenko
|
|
1
|
+
# Copyright (c) 2014-2019 Yegor Bugayenko
|
|
5
2
|
#
|
|
6
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -27,7 +24,7 @@ require 'tmpdir'
|
|
|
27
24
|
|
|
28
25
|
# Git test.
|
|
29
26
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
30
|
-
# Copyright:: Copyright (c) 2014-
|
|
27
|
+
# Copyright:: Copyright (c) 2014-2019 Yegor Bugayenko
|
|
31
28
|
# License:: MIT
|
|
32
29
|
class TestGit < Minitest::Test
|
|
33
30
|
def test_parsing
|
|
@@ -47,7 +44,8 @@ class TestGit < Minitest::Test
|
|
|
47
44
|
rm test.txt
|
|
48
45
|
git commit -qam 'delete line'
|
|
49
46
|
")
|
|
50
|
-
hits = HOC::Git.new(dir, [], ''
|
|
47
|
+
hits = HOC::Git.new(dir, [], '', '2000-01-01',
|
|
48
|
+
Time.now.strftime('%Y-%m-%d')).hits
|
|
51
49
|
assert_equal 1, hits.size
|
|
52
50
|
assert_equal 4, hits[0].total
|
|
53
51
|
end
|
|
@@ -61,7 +59,8 @@ class TestGit < Minitest::Test
|
|
|
61
59
|
cd '#{dir}'
|
|
62
60
|
git init --quiet .
|
|
63
61
|
")
|
|
64
|
-
hits = HOC::Git.new(dir, [], ''
|
|
62
|
+
hits = HOC::Git.new(dir, [], '', '2000-01-01',
|
|
63
|
+
Time.now.strftime('%Y-%m-%d')).hits
|
|
65
64
|
assert_equal 1, hits.size
|
|
66
65
|
assert_equal 0, hits[0].total
|
|
67
66
|
end
|
|
@@ -83,7 +82,8 @@ class TestGit < Minitest::Test
|
|
|
83
82
|
git add test.dat
|
|
84
83
|
git commit -qam 'binary file modified'
|
|
85
84
|
")
|
|
86
|
-
hits = HOC::Git.new(dir, [], ''
|
|
85
|
+
hits = HOC::Git.new(dir, [], '', '2000-01-01',
|
|
86
|
+
Time.now.strftime('%Y-%m-%d')).hits
|
|
87
87
|
assert_equal 1, hits.size
|
|
88
88
|
assert_equal 0, hits[0].total
|
|
89
89
|
end
|
data/test/test_hoc.rb
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2014-2018 Teamed.io
|
|
4
|
-
# Copyright (c) 2014-2018 Yegor Bugayenko
|
|
1
|
+
# Copyright (c) 2014-2019 Yegor Bugayenko
|
|
5
2
|
#
|
|
6
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -28,7 +25,7 @@ require 'slop'
|
|
|
28
25
|
|
|
29
26
|
# HOC main module test.
|
|
30
27
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
31
|
-
# Copyright:: Copyright (c) 2014-
|
|
28
|
+
# Copyright:: Copyright (c) 2014-2019 Yegor Bugayenko
|
|
32
29
|
# License:: MIT
|
|
33
30
|
class TestHOC < Minitest::Test
|
|
34
31
|
def test_basic_git
|
data/test/test_svn.rb
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2014-2018 Teamed.io
|
|
4
|
-
# Copyright (c) 2014-2018 Yegor Bugayenko
|
|
1
|
+
# Copyright (c) 2014-2019 Yegor Bugayenko
|
|
5
2
|
#
|
|
6
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
|
@@ -27,7 +24,7 @@ require 'tmpdir'
|
|
|
27
24
|
|
|
28
25
|
# Svn test.
|
|
29
26
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
|
30
|
-
# Copyright:: Copyright (c) 2014-
|
|
27
|
+
# Copyright:: Copyright (c) 2014-2019 Yegor Bugayenko
|
|
31
28
|
# License:: MIT
|
|
32
29
|
class TestSvn < Minitest::Test
|
|
33
30
|
def test_parsing
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: hoc
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.9.0
|
|
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: 2019-10-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: slop
|
|
@@ -16,126 +16,126 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 4.4
|
|
19
|
+
version: '4.4'
|
|
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: 4.4
|
|
26
|
+
version: '4.4'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
28
|
+
name: codecov
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - '='
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version:
|
|
33
|
+
version: 0.1.10
|
|
34
34
|
type: :development
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - '='
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version:
|
|
40
|
+
version: 0.1.10
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
42
|
+
name: cucumber
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
45
|
- - '='
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version:
|
|
47
|
+
version: 1.3.11
|
|
48
48
|
type: :development
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
52
|
- - '='
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version:
|
|
54
|
+
version: 1.3.11
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name:
|
|
56
|
+
name: minitest
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
59
|
- - '='
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '
|
|
61
|
+
version: '5.4'
|
|
62
62
|
type: :development
|
|
63
63
|
prerelease: false
|
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements:
|
|
66
66
|
- - '='
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: '
|
|
68
|
+
version: '5.4'
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
70
|
+
name: rake
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
72
72
|
requirements:
|
|
73
73
|
- - '='
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version:
|
|
75
|
+
version: 12.0.0
|
|
76
76
|
type: :development
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
80
|
- - '='
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
|
-
version:
|
|
82
|
+
version: 12.0.0
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
|
-
name:
|
|
84
|
+
name: rdoc
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
|
86
86
|
requirements:
|
|
87
87
|
- - '='
|
|
88
88
|
- !ruby/object:Gem::Version
|
|
89
|
-
version:
|
|
89
|
+
version: 3.12.1
|
|
90
90
|
type: :development
|
|
91
91
|
prerelease: false
|
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
93
|
requirements:
|
|
94
94
|
- - '='
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
|
-
version:
|
|
96
|
+
version: 3.12.1
|
|
97
97
|
- !ruby/object:Gem::Dependency
|
|
98
|
-
name:
|
|
98
|
+
name: rspec-rails
|
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
|
100
100
|
requirements:
|
|
101
101
|
- - '='
|
|
102
102
|
- !ruby/object:Gem::Version
|
|
103
|
-
version:
|
|
103
|
+
version: '2.13'
|
|
104
104
|
type: :development
|
|
105
105
|
prerelease: false
|
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
107
|
requirements:
|
|
108
108
|
- - '='
|
|
109
109
|
- !ruby/object:Gem::Version
|
|
110
|
-
version:
|
|
110
|
+
version: '2.13'
|
|
111
111
|
- !ruby/object:Gem::Dependency
|
|
112
|
-
name: rubocop
|
|
112
|
+
name: rubocop
|
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
|
114
114
|
requirements:
|
|
115
115
|
- - '='
|
|
116
116
|
- !ruby/object:Gem::Version
|
|
117
|
-
version:
|
|
117
|
+
version: 0.61.0
|
|
118
118
|
type: :development
|
|
119
119
|
prerelease: false
|
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
121
|
requirements:
|
|
122
122
|
- - '='
|
|
123
123
|
- !ruby/object:Gem::Version
|
|
124
|
-
version:
|
|
124
|
+
version: 0.61.0
|
|
125
125
|
- !ruby/object:Gem::Dependency
|
|
126
|
-
name: rspec
|
|
126
|
+
name: rubocop-rspec
|
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
|
128
128
|
requirements:
|
|
129
129
|
- - '='
|
|
130
130
|
- !ruby/object:Gem::Version
|
|
131
|
-
version:
|
|
131
|
+
version: 1.5.1
|
|
132
132
|
type: :development
|
|
133
133
|
prerelease: false
|
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
|
135
135
|
requirements:
|
|
136
136
|
- - '='
|
|
137
137
|
- !ruby/object:Gem::Version
|
|
138
|
-
version:
|
|
138
|
+
version: 1.5.1
|
|
139
139
|
description: Collects information about hits-of-code
|
|
140
140
|
email: yegor256@gmail.com
|
|
141
141
|
executables:
|
|
@@ -193,15 +193,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
193
193
|
requirements:
|
|
194
194
|
- - ">="
|
|
195
195
|
- !ruby/object:Gem::Version
|
|
196
|
-
version:
|
|
196
|
+
version: 2.2.2
|
|
197
197
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
198
198
|
requirements:
|
|
199
199
|
- - ">="
|
|
200
200
|
- !ruby/object:Gem::Version
|
|
201
201
|
version: '0'
|
|
202
202
|
requirements: []
|
|
203
|
-
|
|
204
|
-
rubygems_version: 2.6.8
|
|
203
|
+
rubygems_version: 3.0.1
|
|
205
204
|
signing_key:
|
|
206
205
|
specification_version: 2
|
|
207
206
|
summary: Hits Of Code
|