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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ad4645fc24e7238a0722f828cd63edac243c528dd649d52752067488a5777f72
4
- data.tar.gz: 3ebd1346fc2391ff256fa99994aea089255ffa30692057f3b4e5bbb03dc4c0be
3
+ metadata.gz: 3f76a53f49a07d6a0e777ef236281f87dff2e4881f83b8edcd7b18c5fb99dce3
4
+ data.tar.gz: c6e765928f9020b17c035429dac9cb941e717c67fd07b700790e4c49f4f15129
5
5
  SHA512:
6
- metadata.gz: 63ad32bbb05678a25fef45ec2bdc975d6926494b441b294ce715e187d6c0737f0ebb9dea40c34c1869091a492ebcefe0d528f39c8907ebb2ebccd399ba47970e
7
- data.tar.gz: b7ae5dcb4acc4c4c71a02d320a1408aa167b97cf7e4c28223da1010ba8aafaf6d80da26100750ec39148b7d7f978c6d8bbe00f2d23e10c78e8235885f5fddaae
6
+ metadata.gz: 736d8b964280e45d6300c53c76ba476fc6bffc68262341d4fbc59f1cb139ac3333e327bdc9e680a1c4a94f0131e8ab1762e93649e18a13f5728f380cbbdc1c49
7
+ data.tar.gz: 7e3fa1d5760d38f9d77e0172dc082e21c7b236d74451f57d0cdb00ad477cbca4c28113ff96d4dd5196f5c9d70b5269995926c66681c396042c5b8eb2e2f20576
@@ -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@v2
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
@@ -1,3 +1,4 @@
1
+ /Gemfile*lock
1
2
  /.bundle/
2
3
  /.yardoc
3
4
  /_yardoc/
@@ -10,4 +11,5 @@
10
11
  # rspec failure tracking
11
12
  .rspec_status
12
13
  .ruby-version
13
- /*.gem
14
+ /*.gem
15
+ /target/
@@ -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 Parallel::ProcessorCount
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
- bail_out!('Need something to parse!') if files.empty?
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RemindMe
4
- VERSION = '0.3.0'
4
+ VERSION = '0.6.0'
5
5
  end
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', '~> 1.19.2'
36
- spec.add_dependency 'parser', '~> 3.0.2.0'
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.3.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: 2021-12-15 00:00:00.000000000 Z
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: 1.19.2
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: 1.19.2
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: 3.0.2.0
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: 3.0.2.0
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