Sha256: 6fd5c3cd0a0445226b3ac3df358cf3ad942cd63badf32adb5fc61ba35333dfe5

Contents?: true

Size: 907 Bytes

Versions: 1

Compression:

Stored size: 907 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.merge(
        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.5.0 lib/polariscope.rb