Sha256: 34a7a1288c13e7c6eeb9e7c67214845dda2465c243703ad082f1e49790f0d49a
Contents?: true
Size: 1.02 KB
Versions: 2
Compression:
Stored size: 1.02 KB
Contents
require 'license_finder/package_utils/possible_license_file' module LicenseFinder class LicenseFiles CANDIDATE_FILE_NAMES = %w[LICENSE License LICENCE Licence COPYING README Readme ReadMe].freeze CANDIDATE_PATH_WILDCARD = "*{#{CANDIDATE_FILE_NAMES.join(',')}}*".freeze def self.find(install_path, options = {}) new(install_path).find(options) end def initialize(install_path) @install_path = install_path ? Pathname(install_path) : nil end def find(options = {}) paths_of_candidate_files .map { |path| PossibleLicenseFile.new(path, options) } .reject { |file| file.license.nil? } end private attr_reader :install_path def paths_of_candidate_files candidate_files_and_dirs .flat_map { |path| path.directory? ? path.children : path } .reject(&:directory?) .uniq end def candidate_files_and_dirs return [] if install_path.nil? Pathname.glob(install_path.join('**', CANDIDATE_PATH_WILDCARD)) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
license_finder-5.4.1 | lib/license_finder/package_utils/license_files.rb |
license_finder-5.4.0 | lib/license_finder/package_utils/license_files.rb |