Class: DependencyTimelineAudit::Check
- Inherits:
-
Object
- Object
- DependencyTimelineAudit::Check
- Defined in:
- lib/dependency-timeline-audit/check.rb
Class Method Summary collapse
- .check(lockfile: 'Gemfile.lock', verbose: true) ⇒ Object
-
.outdated_threshold ⇒ Object
TODO: activesupport is kinda hefty for just grabbing 1.year.ago, remove.
Class Method Details
.check(lockfile: 'Gemfile.lock', verbose: true) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/dependency-timeline-audit/check.rb', line 11 def self.check(lockfile: 'Gemfile.lock', verbose: true) outdated_versions = [] locked_gems.each do |gem| lock_released_at = GemInfo.version_created_at(gem[:name], gem[:locked_version]) latest_version = GemInfo.latest_version(gem[:name]) outdated_versions.push(gem[:name]) if gem_outdated?(lock_released_at) print_info(gem, lock_released_at, latest_version) if verbose end print "\n" if verbose if outdated_versions.any? set_text_color_red puts "Outdated gems detected!" puts " - #{outdated_versions.join(', ')}" exit(1) # Failure else reset_text_style puts "All gems are within the accepted threshold!" exit(0) # Success end end |
.outdated_threshold ⇒ Object
TODO: activesupport is kinda hefty for just grabbing 1.year.ago, remove
7 8 9 |
# File 'lib/dependency-timeline-audit/check.rb', line 7 def self.outdated_threshold 1.year.ago end |