remind_me 0.3.0 → 0.6.0

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
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