Sha256: f7a52afcae73b300bff4464fcb40a840b7886e7d17c7b6b8e38755c7a7aec28c
Contents?: true
Size: 1.79 KB
Versions: 4
Compression:
Stored size: 1.79 KB
Contents
require "uri" require "net/http" require "net/https" module GemVersionCheck class Project def initialize(project, options = {}) @project = project @only = options[:only] || [] @except = options[:except] || [] end def name @project end def report @report ||= generate_report end def generate_report @check_failed = false result = [] with_progress_bar(spec_names) do |spec_name| dependency = Dependency.new(spec_name, nil, allow_prerelease_dependencies: allow_prerelease_dependencies?, ignore_major_version_change: ignore_major_version_change?) dependency.check(lock_file) result << dependency @check_failed = true if dependency.used? && !dependency.valid? end result end def check_failed? @check_failed end def lock_file @lock_file ||= begin content = LockfileFetcher.new(@project).content Lockfile.new(content) end end private def with_progress_bar(elements) pb = ProgressBar.create(:title => "Fetch specs", :total => lock_file.total) if display_status? elements.each do |el| yield el pb.increment if display_status? end pb.finish if display_status? end def allow_prerelease_dependencies? GemVersionCheck.configuration.allow_prerelease_dependencies end def display_status? GemVersionCheck.configuration.show_progress_bar end def ignore_major_version_change? GemVersionCheck.configuration.ignore_major_version_change end def spec_names if @only.any? @only elsif @except.any? all_spec_names - @except else all_spec_names end end def all_spec_names lock_file.spec_names end end end
Version data entries
4 entries across 4 versions & 1 rubygems