still_active 0.2.0 → 0.3.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: e1672581d65f872865a0ab5ef6a51bef6c20345d06808497df25481bdf195bdb
4
- data.tar.gz: 880c41983cb456cb2eef5fdb163c4c02eaa918326b1c667cb9593f38166190c9
3
+ metadata.gz: a91d560fbfdb04addfdef550ffa1131936d75174f51a443c67d20f5750c58cdb
4
+ data.tar.gz: 4c1be4a9ef2e0e8bb78fc90d423bebb4fc1fa450fa07b33af3b4181b48602bad
5
5
  SHA512:
6
- metadata.gz: a746d8a4e18ba90b68fb3e0164d25f96960a7d36131cf563af4099f7aaae27ede05039f5a08aa82e0b211b2bad617d377d9e9fb0d11d8b1e56f8b1164df46299
7
- data.tar.gz: df36ff135ce82bc57d298e6a887ea504599484116447e46fa8ca1e9881f67b098abe8795f0b6dd097bef626645c55102796e77922f9dfc8a8037cce87e22b854
6
+ metadata.gz: 8c24f2064b40e98dd42b667d0f154340992a60ebeadebce648d04422dbef810291ee00840ee4f43599d989af5a4d7342c22f18d0b30f66a2379139fb5e353f0e
7
+ data.tar.gz: 20994aa61eae329055ab60a52b91e428c2933b81603cd0840ed7c7e7427eff3b01edb8655a9d77ad7f718564985f6589e2a40074504955db7f18dac21996b2a2
@@ -3,14 +3,17 @@ name: RSpec tests
3
3
  on: [push,pull_request]
4
4
 
5
5
  jobs:
6
- build:
6
+ test:
7
+ strategy:
8
+ matrix:
9
+ ruby: [2.6, 2.7, 3.0, head, jruby, jruby-head, truffleruby, truffleruby-head]
7
10
  runs-on: ubuntu-latest
8
11
  steps:
9
12
  - uses: actions/checkout@v2
10
13
  - name: Set up Ruby
11
14
  uses: ruby/setup-ruby@v1
12
15
  with:
13
- ruby-version: 3.0.2
16
+ ruby-version: ${{ matrix.ruby }}
14
17
  bundler-cache: true
15
18
  - name: Execute the tests
16
19
  run: bundle exec rspec
data/CHANGELOG.md CHANGED
@@ -2,6 +2,11 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## [0.3.0] - 2021-11-11
6
+
7
+ - Change `safe_range_end` to `no_warning_range_end`
8
+ - Fixes for Ruby 2.6 and 2.7
9
+
5
10
  ## [0.2.0] - 2021-11-11
6
11
 
7
12
  - Add `simultaneous-requests` command line parameter (and config option) to specify the maximum number of simultaneous requests
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- still_active (0.2.0)
4
+ still_active (0.3.0)
5
5
  activesupport
6
6
  async
7
7
  async-http
@@ -161,6 +161,8 @@ GEM
161
161
  zeitwerk (2.5.1)
162
162
 
163
163
  PLATFORMS
164
+ ruby
165
+ universal-java-11
164
166
  x86_64-darwin-21
165
167
  x86_64-linux
166
168
 
data/README.md CHANGED
@@ -23,8 +23,8 @@ Usage: still_active [options]
23
23
  --json Prints output in JSON format
24
24
  --github-oauth-token=TOKEN GitHub OAuth token to make API calls
25
25
  --simultaneous-requests=QTY Number of simultaneous requests made
26
- --safe-range-end=YEARS maximum number of years since last activity to be considered safe
27
- --warning-range-end=YEARS maximum number of years since last activity to be considered worrying
26
+ --no-warning-range-end=YEARS maximum number of years since last activity until which you do not want to be warned about
27
+ --warning-range-end=YEARS maximum number of years since last activity that you want to be warned about
28
28
  --critical-warning-emoji=EMOJI
29
29
  --futurist-emoji=EMOJI
30
30
  --success-emoji=EMOJI
@@ -65,7 +65,7 @@ Outputs:
65
65
  | | ✅ | [rubocop-performance](https://github.com/rubocop/rubocop-performance) | [1.12.0](https://rubygems.org/gems/rubocop-performance/versions/1.12.0) | 2021/10 | [1.12.0](https://rubygems.org/gems/rubocop-performance/versions/1.12.0) | 2021/10 | ❓ | ❓ | [2021/11](https://github.com/rubocop/rubocop-performance) |
66
66
  | | ✅ | [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) | [2.6.0](https://rubygems.org/gems/rubocop-rspec/versions/2.6.0) | 2021/11 | [2.6.0](https://rubygems.org/gems/rubocop-rspec/versions/2.6.0) | 2021/11 | [2.0.0.pre](https://rubygems.org/gems/rubocop-rspec/versions/2.0.0.pre) | 2020/10 | [2021/11](https://github.com/rubocop/rubocop-rspec) |
67
67
  | | ✅ | [rubocop-shopify](https://github.com/Shopify/ruby-style-guide) | [2.3.0](https://rubygems.org/gems/rubocop-shopify/versions/2.3.0) | 2021/10 | [2.3.0](https://rubygems.org/gems/rubocop-shopify/versions/2.3.0) | 2021/10 | ❓ | ❓ | [2021/11](https://github.com/Shopify/ruby-style-guide) |
68
- | | ✅ | [still_active](https://github.com/SeanLF/still_active) | [0.1.1](https://rubygems.org/gems/still_active/versions/0.1.1) | 2021/11 | [0.1.1](https://rubygems.org/gems/still_active/versions/0.1.1) | 2021/11 | ❓ | ❓ | [2021/11](https://github.com/SeanLF/still_active) |
68
+ | | ✅ | [still_active](https://github.com/SeanLF/still_active) | [0.2.0](https://rubygems.org/gems/still_active/versions/0.2.0) | 2021/11 | [0.2.0](https://rubygems.org/gems/still_active/versions/0.2.0) | 2021/11 | ❓ | ❓ | [2021/11](https://github.com/SeanLF/still_active) |
69
69
  | | ✅ | [vcr](https://github.com/vcr/vcr) | [6.0.0](https://rubygems.org/gems/vcr/versions/6.0.0) | 2020/05 | [6.0.0](https://rubygems.org/gems/vcr/versions/6.0.0) | 2020/05 | [2.0.0.rc2](https://rubygems.org/gems/vcr/versions/2.0.0.rc2) | 2012/02 | [2021/10](https://github.com/vcr/vcr) |
70
70
  | | ✅ | [webmock](https://github.com/bblimke/webmock) | [3.14.0](https://rubygems.org/gems/webmock/versions/3.14.0) | 2021/08 | [3.14.0](https://rubygems.org/gems/webmock/versions/3.14.0) | 2021/08 | [2.0.0.beta2](https://rubygems.org/gems/webmock/versions/2.0.0.beta2) | 2016/04 | [2021/09](https://github.com/bblimke/webmock) |
71
71
 
@@ -78,7 +78,7 @@ Outputs:
78
78
  - `success_emoji` ✅
79
79
  - `unsure_emoji` ❓
80
80
  - `warning_emoji` ⚠️
81
- - `safe_range_end` 1 (considered safe if last activity is at most 1 year ago)
81
+ - `no_warning_range_end` 1 (considered safe if last activity is at most 1 year ago)
82
82
  - `warning_range_end` 3 (warns if last activity is between 1 and 3 years ago)
83
83
 
84
84
  ## Development
@@ -11,9 +11,9 @@ module StillActive
11
11
  return StillActive.config.unsure_emoji if most_recent_activity.nil?
12
12
 
13
13
  case most_recent_activity
14
- when (StillActive.config.safe_range_end.years.ago)..(Time.now)
14
+ when (StillActive.config.no_warning_range_end.years.ago)..(Time.now)
15
15
  ""
16
- when (StillActive.config.warning_range_end.years.ago)..(StillActive.config.safe_range_end.years.ago)
16
+ when (StillActive.config.warning_range_end.years.ago)..(StillActive.config.no_warning_range_end.years.ago)
17
17
  StillActive.config.warning_emoji
18
18
  else
19
19
  StillActive.config.critical_warning_emoji
@@ -36,7 +36,7 @@ module StillActive
36
36
  last_commit_date = data.dig(:last_commit_date)
37
37
  last_commit_url = repository_url
38
38
 
39
- inactive_repository_emoji = data.dig(:last_activity_worrying_emoji)
39
+ inactive_repository_emoji = data.dig(:last_activity_warning_emoj)
40
40
  using_latest_version_emoji = data.dig(:up_to_date_emoji)
41
41
 
42
42
  formatted_name = markdown_url(text: gem_name, url: repository_url)
@@ -2,6 +2,8 @@
2
2
 
3
3
  module StillActive
4
4
  module VersionHelper
5
+ extend self
6
+
5
7
  def find_version(versions:, version_string: nil, pre_release: false)
6
8
  if version_string && pre_release
7
9
  versions&.find { |v| v["number"] == version_string && v["prerelease"] == pre_release }
@@ -27,12 +27,12 @@ module StillActive
27
27
  puts MarkdownHelper.markdown_table_header_line
28
28
  result.keys.sort.each do |name|
29
29
  result[name].merge!({
30
- last_activity_worrying_emoji: EmojiHelper.inactive_gem_emoji(result[name]),
30
+ last_activity_warning_emoj: EmojiHelper.inactive_gem_emoji(result[name]),
31
31
  up_to_date_emoji: EmojiHelper.using_latest_emoji(
32
- using_last_release: up_to_date?(
32
+ using_last_release: VersionHelper.up_to_date?(
33
33
  version_used: result[name].dig(:version_used), latest_version: result[name].dig(:latest_version)
34
34
  ),
35
- using_last_pre_release: up_to_date?(
35
+ using_last_pre_release: VersionHelper.up_to_date?(
36
36
  version_used: result[name].dig(:version_used), latest_version: result[name].dig(:latest_pre_release_version)
37
37
  ),
38
38
  ),
@@ -5,7 +5,7 @@ require "bundler"
5
5
  module StillActive
6
6
  class Config
7
7
  attr_accessor :critical_warning_emoji, :futurist_emoji, :gemfile_path, :gems, :github_oauth_token, :output_format,
8
- :parallelism, :safe_range_end, :success_emoji, :unsure_emoji, :warning_emoji, :warning_range_end
8
+ :parallelism, :no_warning_range_end, :success_emoji, :unsure_emoji, :warning_emoji, :warning_range_end
9
9
 
10
10
  def initialize
11
11
  @gemfile_path = Bundler.default_gemfile.to_s
@@ -21,7 +21,7 @@ module StillActive
21
21
  @unsure_emoji = "❓"
22
22
  @warning_emoji = "⚠️"
23
23
 
24
- @safe_range_end = 1
24
+ @no_warning_range_end = 1
25
25
  @warning_range_end = 3
26
26
  end
27
27
 
@@ -65,12 +65,12 @@ module StillActive
65
65
  end
66
66
 
67
67
  def add_range_options(opts)
68
- opts.on("--safe-range-end=YEARS", Integer,
69
- "maximum number of years since last activity to be considered safe") do |value|
70
- StillActive.config { |config| config.safe_range_end = value }
68
+ opts.on("--no-warning-range-end=YEARS", Integer,
69
+ "maximum number of years since last activity until which you do not want to be warned about ") do |value|
70
+ StillActive.config { |config| config.no_warning_range_end = value }
71
71
  end
72
72
  opts.on("--warning-range-end=YEARS", Integer,
73
- "maximum number of years since last activity to be considered worrying") do |value|
73
+ "maximum number of years since last activity that you want to be warned about") do |value|
74
74
  StillActive.config { |config| config.warning_range_end = value }
75
75
  end
76
76
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module StillActive
4
- VERSION = "0.2.0"
4
+ VERSION = "0.3.0"
5
5
  end
@@ -39,14 +39,14 @@ module StillActive
39
39
  repo_info = repository_info(gem_name: gem_name, versions: vs)
40
40
  last_commit_date = last_commit_date(source: repo_info[:source], repository_owner: repo_info[:owner],
41
41
  repository_name: repo_info[:name])
42
- last_release = find_version(versions: vs, pre_release: false)
43
- last_pre_release = find_version(versions: vs, pre_release: true)
42
+ last_release = VersionHelper.find_version(versions: vs, pre_release: false)
43
+ last_pre_release = VersionHelper.find_version(versions: vs, pre_release: true)
44
44
  result_object[gem_name].merge!({
45
- latest_version: gem_version(version_hash: last_release),
46
- latest_version_release_date: release_date(version_hash: last_release),
45
+ latest_version: VersionHelper.gem_version(version_hash: last_release),
46
+ latest_version_release_date: VersionHelper.release_date(version_hash: last_release),
47
47
 
48
- latest_pre_release_version: gem_version(version_hash: last_pre_release),
49
- latest_pre_release_version_release_date: release_date(version_hash: last_pre_release),
48
+ latest_pre_release_version: VersionHelper.gem_version(version_hash: last_pre_release),
49
+ latest_pre_release_version_release_date: VersionHelper.release_date(version_hash: last_pre_release),
50
50
 
51
51
  repository_url: repo_info[:url],
52
52
  last_commit_date: last_commit_date,
@@ -57,17 +57,16 @@ module StillActive
57
57
  end
58
58
 
59
59
  if gem_version
60
- version_used = find_version(versions: vs, version_string: gem_version)
60
+ version_used = VersionHelper.find_version(versions: vs, version_string: gem_version)
61
61
  result_object[gem_name].merge!({
62
- # global_warning: global_warning,
63
62
  up_to_date:
64
- up_to_date?(
65
- version_used: version_used,
66
- latest_version: last_release,
67
- latest_pre_release_version: last_pre_release
68
- ),
63
+ VersionHelper.up_to_date?(
64
+ version_used: version_used,
65
+ latest_version: last_release,
66
+ latest_pre_release_version: last_pre_release
67
+ ),
69
68
 
70
- version_used_release_date: release_date(version_hash: version_used),
69
+ version_used_release_date: VersionHelper.release_date(version_hash: version_used),
71
70
  })
72
71
  end
73
72
  rescue StandardError => e
@@ -82,7 +81,6 @@ module StillActive
82
81
  end
83
82
 
84
83
  def repository_info(gem_name:, versions:)
85
- # binding.break # if gem_name == "still_active"
86
84
  valid_repository_url =
87
85
  installed_gem_urls(gem_name: gem_name).find { |url| Repository.valid?(url: url) } ||
88
86
  rubygems_versions_repository_url(versions: versions).find { |url| Repository.valid?(url: url) } ||
@@ -90,7 +88,6 @@ module StillActive
90
88
  Repository.url_with_owner_and_name(url: valid_repository_url)
91
89
  end
92
90
 
93
- # does not make network requests
94
91
  def installed_gem_urls(gem_name:)
95
92
  info = Gem::Dependency.new(gem_name).matching_specs.first
96
93
  return [] if info.nil?
@@ -101,14 +98,12 @@ module StillActive
101
98
  ].compact.uniq
102
99
  end
103
100
 
104
- # does not make network requests
105
101
  def rubygems_versions_repository_url(versions:)
106
102
  versions
107
103
  .filter_map { |version| version.dig("metadata", "source_code_uri") }
108
104
  .uniq
109
105
  end
110
106
 
111
- # makes network request
112
107
  def rubygems_gem_repository_url(gem_name:)
113
108
  info = Gems.info(gem_name)
114
109
  return [] if info.nil?
@@ -121,7 +116,6 @@ module StillActive
121
116
  []
122
117
  end
123
118
 
124
- # makes network request
125
119
  def last_commit(source:, repository_owner:, repository_name:)
126
120
  case source.to_sym
127
121
  when :github
@@ -131,7 +125,6 @@ module StillActive
131
125
  end
132
126
  end
133
127
 
134
- # makes network request
135
128
  def last_commit_date(source:, repository_owner:, repository_name:)
136
129
  commit = last_commit(source: source, repository_owner: repository_owner, repository_name: repository_name)
137
130
  case source.to_sym
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: still_active
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Floyd