Sha256: 6d2aef0ebad4e15cd0629a6050950cf9f55e2b7e5c12dbbb6f66c99388f15915

Contents?: true

Size: 924 Bytes

Versions: 1

Compression:

Stored size: 924 Bytes

Contents

module LicenseFinder
  class Finder
    def from_bundler
      require 'bundler'
      Bundler.load.specs.map { |spec| BundledGem.new(spec) }.sort_by &:sort_order
    end

    def write_files
      new_list = generate_list

      File.open(LicenseFinder.config.dependencies_yaml, 'w+') do |f|
        f.puts new_list.to_yaml
      end

      File.open(LicenseFinder.config.dependencies_text, '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

      if File.exists?(LicenseFinder.config.dependencies_yaml)
        yml = File.open(LicenseFinder.config.dependencies_yaml).readlines.join
        existing_list = DependencyList.from_yaml(yml)
        existing_list.merge(bundler_list)
      else
        bundler_list
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
license_finder-0.5.0 lib/license_finder/finder.rb