Sha256: f06bc9ae140931362696cc97dbbc6906220bfa9870a0a464e22be12a19e11c34

Contents?: true

Size: 906 Bytes

Versions: 2

Compression:

Stored size: 906 Bytes

Contents

require 'bundler/restrict/bundler_gems'
require 'bundler/restrict/checks/date_check'

module Bundler
  module Restrict
    class CLI
      def self.start
        new.call
      end

      def call
        errors = []

        BundlerGems.new.each do |gem|
          [
            Checks::DateCheck
          ].map { |ch| ch.new(gem) }.each do |check|
            next if ignore?(gem)

            unless check.valid?
              print "\n"
              puts check.error

              errors << check.error 
            end
          end

          print '.'
        end

        if errors.empty?
          print "\n"
          puts "OK"
        else
          exit 1
        end
      end

      def ignore?(gem)
        ignored_gems.include? gem.name
      end

      def ignored_gems
        ['bundler-restrict'] + ENV.fetch('BUNDLE_RESTRICT_IGNORE_GEMS', '').split(',')
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
bundler-restrict-0.1.2 lib/bundler/restrict/cli.rb
bundler-restrict-0.1.1 lib/bundler/restrict/cli.rb