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