Sha256: e946c3e9d6faae68b063e40356b07ce116565c41748047c08d1ecee9c5cec3e1

Contents?: true

Size: 1.22 KB

Versions: 3

Compression:

Stored size: 1.22 KB

Contents

module LicenseFinder
  class Finder

    attr_reader :whitelist, :ignore_groups
    def initialize
      if File.exists?('./config/license_finder.yml')
        config = YAML.load(File.open('./config/license_finder.yml').readlines.join)
        @whitelist = config['whitelist'] || []
        @ignore_groups = config['ignore_groups'] ? config['ignore_groups'].map{|g| g.to_sym} : []
      end
    end

    def from_bundler
      require 'bundler'
      Bundler.load.specs.map { |spec| GemSpecDetails.new(spec) }.sort_by &:sort_order
    end

    def write_files
      new_list = generate_list

      File.open('./dependencies.yml', 'w+') do |f|
        f.puts new_list.to_yaml
      end
      File.open('./dependencies.txt', 'w+') do |f|
        f.puts new_list.to_s
      end

    end

    def action_items
      new_list = generate_list
      new_list.action_items
    end

    private
    def generate_list
      bundler_list = DependencyList.from_bundler(whitelist, ignore_groups)

      if (File.exists?('./dependencies.yml'))
        yml = File.open('./dependencies.yml').readlines.join
        existing_list = DependencyList.from_yaml(yml)
        existing_list.merge(bundler_list)
      else
        bundler_list
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
license_finder-0.3.0 lib/license_finder/finder.rb
license_finder-0.2.0 lib/license_finder/finder.rb
license_finder-0.1.0 lib/license_finder/finder.rb