Sha256: ce081e2bbd066652fec74d3ff588b82ca604d96efbfe23f3f06a4712ec827f11

Contents?: true

Size: 1.37 KB

Versions: 2

Compression:

Stored size: 1.37 KB

Contents

#!/usr/bin/env ruby

require 'license_finder'
require 'optparse'

module SpinnerStrategy
  module Spin
    def self.run
      thread = Thread.new() {
        wheel = '\|/-'
        i = 0
        while not LicenseFinder::CLI.class_variable_get("@@run_complete") do
          print "\r ---------- #{wheel[i]} ----------"
          i = (i + 1) % 4
        end
      }
      yield
      thread.join
    end
  end

  module Noop
    def self.run
      yield
    end
  end
end

options = {}
spinner = SpinnerStrategy::Spin
skip = false

OptionParser.new do |opts|
  opts.banner = "Usage: license_finder [options] [dependency]"

  opts.on("-a", "--approve", "Approve a gem by name.") do |gem_name|
    options[:approve] = true
  end

  opts.on("-l", "--license [LICENSE]", "Update a gem's license.") do |license|
    options[:license] = license
  end

  opts.on("-q", "--quiet") do
    spinner = SpinnerStrategy::Noop
  end

  opts.on("-m", "--move") do
    skip = true
    `sed '$d' < config/license_finder.yml > tmp34567.txt`
    `mv tmp34567.txt config/license_finder.yml`
    `echo "dependencies_file_dir: './doc/'" >> config/license_finder.yml`
    `mkdir doc`
    `mv dependencies.* doc/`
    puts "Congratulations, you have cleaned up your root directory!'"
  end
end.parse!

unless options.empty?
  options[:dependency] = ARGV.last
end

spinner.run {
  LicenseFinder::CLI.execute!(options)
} unless skip

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
license_finder-0.8.1-java bin/license_finder
license_finder-0.8.1 bin/license_finder