Sha256: ee4f969c59846b3d9b012f81ee502ba32db17b37d87e1722d50cadd7380dee0a

Contents?: true

Size: 888 Bytes

Versions: 1

Compression:

Stored size: 888 Bytes

Contents

# frozen_string_literal: true

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.4.0 lib/polariscope.rb