remind_me 0.3.0 → 0.6.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 +4 -4
- data/.github/workflows/main.yml +18 -5
- data/.gitignore +3 -1
- data/lib/remind_me/runner.rb +25 -3
- data/lib/remind_me/utils/result_printer.rb +2 -1
- data/lib/remind_me/utils/versions.rb +5 -0
- data/lib/remind_me/version.rb +1 -1
- data/remind_me.gemspec +2 -2
- metadata +10 -11
- data/Gemfile.lock +0 -62
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3f76a53f49a07d6a0e777ef236281f87dff2e4881f83b8edcd7b18c5fb99dce3
|
4
|
+
data.tar.gz: c6e765928f9020b17c035429dac9cb941e717c67fd07b700790e4c49f4f15129
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 736d8b964280e45d6300c53c76ba476fc6bffc68262341d4fbc59f1cb139ac3333e327bdc9e680a1c4a94f0131e8ab1762e93649e18a13f5728f380cbbdc1c49
|
7
|
+
data.tar.gz: 7e3fa1d5760d38f9d77e0172dc082e21c7b236d74451f57d0cdb00ad477cbca4c28113ff96d4dd5196f5c9d70b5269995926c66681c396042c5b8eb2e2f20576
|
data/.github/workflows/main.yml
CHANGED
@@ -8,17 +8,30 @@ jobs:
|
|
8
8
|
strategy:
|
9
9
|
fail-fast: false
|
10
10
|
matrix:
|
11
|
-
ruby: [ "2.3.7", "2.4.10", "2.5.9", "2.6.8", "2.7.4", "3.0.2", "jruby-9.2" ]
|
11
|
+
ruby: [ "2.3.7", "2.4.10", "2.5.9", "2.6.8", "2.7.4", "3.0.6", "3.1.4", "3.2.2", "jruby-9.2", "jruby-9.3", "jruby-9.4" ]
|
12
|
+
include:
|
13
|
+
- ruby: "2.3.7"
|
14
|
+
requires-older-rubygems: true
|
15
|
+
requires-older-bundler: true
|
16
|
+
- ruby: "2.4.10"
|
17
|
+
requires-older-rubygems: true
|
18
|
+
requires-older-bundler: true
|
19
|
+
- ruby: "jruby-9.2"
|
20
|
+
requires-older-bundler: true
|
21
|
+
- ruby: "jruby-9.3"
|
22
|
+
requires-older-bundler: true
|
12
23
|
steps:
|
13
|
-
- uses: actions/checkout@
|
24
|
+
- uses: actions/checkout@v3
|
14
25
|
- name: Set up Ruby
|
15
26
|
uses: ruby/setup-ruby@v1
|
16
27
|
with:
|
17
28
|
ruby-version: ${{ matrix.ruby }}
|
29
|
+
- if: ${{ matrix.requires-older-rubygems }}
|
30
|
+
run: gem update --system 3.2.3
|
31
|
+
- if: ${{ matrix.requires-older-bundler }}
|
32
|
+
run: gem install bundler -v 2.3.26
|
18
33
|
- name: Bundle install
|
19
|
-
run:
|
20
|
-
gem install bundler
|
21
|
-
bundle install --jobs=3
|
34
|
+
run: bundle install --jobs=3
|
22
35
|
- name: Run tests (MRI)
|
23
36
|
run: bundle exec rake spec
|
24
37
|
if: "!startsWith(matrix.ruby, 'jruby')"
|
data/.gitignore
CHANGED
data/lib/remind_me/runner.rb
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
require 'parser/current'
|
4
4
|
require 'find'
|
5
|
-
require 'parallel/processor_count'
|
6
5
|
require 'parallel'
|
7
6
|
|
8
7
|
require_relative 'version'
|
@@ -15,7 +14,19 @@ module RemindMe
|
|
15
14
|
class Runner
|
16
15
|
extend BailOut
|
17
16
|
extend Utils::Logger
|
18
|
-
extend
|
17
|
+
extend Utils::Versions
|
18
|
+
|
19
|
+
def self.using_old_parallel_gem?
|
20
|
+
gem_version('parallel') < Gem::Version.new('1.23.0')
|
21
|
+
end
|
22
|
+
|
23
|
+
# older versions of parallel gem used different code
|
24
|
+
if using_old_parallel_gem?
|
25
|
+
# :nocov:
|
26
|
+
require 'parallel/processor_count'
|
27
|
+
extend Parallel::ProcessorCount
|
28
|
+
# :nocov:
|
29
|
+
end
|
19
30
|
|
20
31
|
def self.check_reminders(check_path: '.')
|
21
32
|
Utils::ResultPrinter.new(collect_reminders(check_path)).print_results
|
@@ -23,7 +34,8 @@ module RemindMe
|
|
23
34
|
|
24
35
|
def self.collect_reminders(path)
|
25
36
|
files = relevant_ruby_files(path)
|
26
|
-
|
37
|
+
return if files.empty?
|
38
|
+
|
27
39
|
Parallel.flat_map(in_groups(files, processor_count, false)) do |files|
|
28
40
|
parser = silent_parser
|
29
41
|
raw_comments = collect_relevant_comments(files, parser)
|
@@ -87,6 +99,16 @@ module RemindMe
|
|
87
99
|
groups
|
88
100
|
end
|
89
101
|
|
102
|
+
# :nocov:
|
103
|
+
def self.processor_count
|
104
|
+
if using_old_parallel_gem?
|
105
|
+
super
|
106
|
+
else
|
107
|
+
Parallel.processor_count
|
108
|
+
end
|
109
|
+
end
|
110
|
+
# :nocov:
|
111
|
+
|
90
112
|
private_class_method :in_groups,
|
91
113
|
:collect_ruby_files,
|
92
114
|
:collect_relevant_comments
|
@@ -12,8 +12,9 @@ module RemindMe
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def print_results
|
15
|
-
if reminders.empty?
|
15
|
+
if reminders.nil? || reminders.empty?
|
16
16
|
log_info 'No reminders found'
|
17
|
+
exit(0)
|
17
18
|
else
|
18
19
|
valid_reminders = reminders.reject { |r| r.is_a?(RemindMe::Reminder::InvalidReminder) }
|
19
20
|
invalid_reminders = reminders.select { |r| r.is_a?(RemindMe::Reminder::InvalidReminder) }
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
require 'rubygems'
|
2
3
|
|
3
4
|
module RemindMe
|
4
5
|
module Utils
|
@@ -9,6 +10,10 @@ module RemindMe
|
|
9
10
|
current_version.__send__(condition_comparators[comparator.to_sym], target_version)
|
10
11
|
end
|
11
12
|
|
13
|
+
def gem_version(gem_name)
|
14
|
+
INSTALLED_GEMS[gem_name]
|
15
|
+
end
|
16
|
+
|
12
17
|
def gem_installed?(gem)
|
13
18
|
INSTALLED_GEMS.key?(gem.to_s)
|
14
19
|
end
|
data/lib/remind_me/version.rb
CHANGED
data/remind_me.gemspec
CHANGED
@@ -32,6 +32,6 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.add_development_dependency 'rubocop'
|
33
33
|
spec.add_development_dependency 'simplecov'
|
34
34
|
|
35
|
-
spec.add_dependency 'parallel'
|
36
|
-
spec.add_dependency 'parser'
|
35
|
+
spec.add_dependency 'parallel'
|
36
|
+
spec.add_dependency 'parser'
|
37
37
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: remind_me
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nikola Marić
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-05-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -70,30 +70,30 @@ dependencies:
|
|
70
70
|
name: parallel
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: '0'
|
76
76
|
type: :runtime
|
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: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: parser
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: '0'
|
90
90
|
type: :runtime
|
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: '0'
|
97
97
|
description: Processor of REMIND_ME comments in the code, reminding us to revisit
|
98
98
|
parts of code
|
99
99
|
email:
|
@@ -108,7 +108,6 @@ files:
|
|
108
108
|
- ".rubocop.yml"
|
109
109
|
- CODE_OF_CONDUCT.md
|
110
110
|
- Gemfile
|
111
|
-
- Gemfile.lock
|
112
111
|
- LICENSE.txt
|
113
112
|
- README.md
|
114
113
|
- Rakefile
|
data/Gemfile.lock
DELETED
@@ -1,62 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
remind_me (0.3.0)
|
5
|
-
parallel (~> 1.19.2)
|
6
|
-
parser (~> 3.0.2.0)
|
7
|
-
|
8
|
-
GEM
|
9
|
-
remote: https://rubygems.org/
|
10
|
-
specs:
|
11
|
-
ast (2.4.2)
|
12
|
-
diff-lcs (1.4.4)
|
13
|
-
docile (1.3.5)
|
14
|
-
jaro_winkler (1.5.4)
|
15
|
-
json (2.6.1)
|
16
|
-
parallel (1.19.2)
|
17
|
-
parser (3.0.2.0)
|
18
|
-
ast (~> 2.4.1)
|
19
|
-
rainbow (3.0.0)
|
20
|
-
rake (13.0.6)
|
21
|
-
rexml (3.2.5)
|
22
|
-
rspec (3.10.0)
|
23
|
-
rspec-core (~> 3.10.0)
|
24
|
-
rspec-expectations (~> 3.10.0)
|
25
|
-
rspec-mocks (~> 3.10.0)
|
26
|
-
rspec-core (3.10.1)
|
27
|
-
rspec-support (~> 3.10.0)
|
28
|
-
rspec-expectations (3.10.1)
|
29
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
30
|
-
rspec-support (~> 3.10.0)
|
31
|
-
rspec-mocks (3.10.2)
|
32
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
33
|
-
rspec-support (~> 3.10.0)
|
34
|
-
rspec-support (3.10.3)
|
35
|
-
rubocop (0.81.0)
|
36
|
-
jaro_winkler (~> 1.5.1)
|
37
|
-
parallel (~> 1.10)
|
38
|
-
parser (>= 2.7.0.1)
|
39
|
-
rainbow (>= 2.2.2, < 4.0)
|
40
|
-
rexml
|
41
|
-
ruby-progressbar (~> 1.7)
|
42
|
-
unicode-display_width (>= 1.4.0, < 2.0)
|
43
|
-
ruby-progressbar (1.11.0)
|
44
|
-
simplecov (0.17.1)
|
45
|
-
docile (~> 1.1)
|
46
|
-
json (>= 1.8, < 3)
|
47
|
-
simplecov-html (~> 0.10.0)
|
48
|
-
simplecov-html (0.10.2)
|
49
|
-
unicode-display_width (1.8.0)
|
50
|
-
|
51
|
-
PLATFORMS
|
52
|
-
ruby
|
53
|
-
|
54
|
-
DEPENDENCIES
|
55
|
-
rake
|
56
|
-
remind_me!
|
57
|
-
rspec
|
58
|
-
rubocop
|
59
|
-
simplecov
|
60
|
-
|
61
|
-
BUNDLED WITH
|
62
|
-
2.1.4
|