lib/licensee.rb in licensee-4.9.0 vs lib/licensee.rb in licensee-5.0.0b1

- old
+ new

@@ -3,19 +3,21 @@ require 'rugged' require 'levenshtein' require_relative "licensee/version" require_relative "licensee/license" -require_relative "licensee/licenses" -require_relative "licensee/license_file" require_relative "licensee/project" +require_relative "licensee/project_file" require_relative "licensee/filesystem_repository" require_relative "licensee/matcher" require_relative "licensee/matchers/exact_matcher" require_relative "licensee/matchers/copyright_matcher" require_relative "licensee/matchers/git_matcher" require_relative "licensee/matchers/levenshtein_matcher" +require_relative "licensee/matchers/package_matcher" +require_relative "licensee/matchers/gemspec_matcher" +require_relative "licensee/matchers/npm_bower_matcher" class Licensee # Over which percent is a match considered a match by default CONFIDENCE_THRESHOLD = 90 @@ -23,15 +25,15 @@ # Base domain from which to build license URLs DOMAIN = "http://choosealicense.com" class << self - attr_writer :confidence_threshold + attr_writer :confidence_threshold, :package_manager_files # Returns an array of Licensee::License instances def licenses - @licenses ||= Licensee::Licenses.list + @licenses ||= Licensee::License.all end # Returns the license for a given git repo def license(path) Licensee::Project.new(path).license @@ -43,13 +45,26 @@ end # Array of matchers to use, in order of preference # The order should be decending order of anticipated speed to match def matchers - [Licensee::CopyrightMatcher, Licensee::ExactMatcher, Licensee::GitMatcher, Licensee::LevenshteinMatcher] + matchers = [ + Licensee::CopyrightMatcher, + Licensee::ExactMatcher, + Licensee::GitMatcher, + Licensee::LevenshteinMatcher, + Licensee::GemspecMatcher, + Licensee::NpmBowerMatcher + ] + matchers.reject! { |m| m.package_manager? } unless package_manager_files? + matchers end def confidence_threshold @confidence_threshold ||= CONFIDENCE_THRESHOLD + end + + def package_manager_files? + @package_manager_files ||= false end end end