Sha256: 8b846c01a717e42681d8278118a918072fe4e75c6a3a01c02893a9b0e81727e3

Contents?: true

Size: 909 Bytes

Versions: 1

Compression:

Stored size: 909 Bytes

Contents

# frozen_string_literal: true

require 'bundler'

require_relative 'polariscope/version'
require_relative 'polariscope/scanner/gemfile_health_score'
require_relative 'polariscope/scanner/gem_versions'
require_relative 'polariscope/file_content'

module Polariscope
  Error = Class.new(StandardError)

  class << self
    def scan(**opts)
      Scanner::GemfileHealthScore.new(
        **opts,
        gemfile_content: opts.fetch(:gemfile_content, FileContent.for('Gemfile')),
        gemfile_lock_content: opts.fetch(:gemfile_lock_content, FileContent.for('Gemfile.lock')),
        bundler_audit_config_content: opts.fetch(:bundler_audit_config_content, FileContent.for('.bundler-audit.yml'))
      ).health_score
    end

    def gem_versions(dependency_names, spec_type: Scanner::DependencyContext::DEFAULT_SPEC_TYPE)
      Scanner::GemVersions.new(dependency_names, spec_type: spec_type)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
polariscope-0.6.0 lib/polariscope.rb