Sha256: 3fe865927a72d9569a7327af93e351878da5c8736207d0bfac75dec479ac696d

Contents?: true

Size: 566 Bytes

Versions: 3

Compression:

Stored size: 566 Bytes

Contents

class Licensee
  class GitMatcher < Matcher

    def match
      match_info[0] unless match_info.nil?
    end

    def confidence
      match_info[1] unless match_info.nil?
    end

    private

    def matches
      @matches ||= Licensee.licenses.map { |l| [l, file.similarity(l)] }.select { |l,sim| sim > 0 }
    end

    # Pulled out for easier testing
    def match_info
      @match_info ||= begin
        match = matches.max_by { |license, similarity| similarity }
        match if match && match[1] > Licensee.confidence_threshold
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
licensee-5.0.0b1 lib/licensee/matchers/git_matcher.rb
licensee-4.9.0 lib/licensee/matchers/git_matcher.rb
licensee-4.8.0 lib/licensee/matchers/git_matcher.rb