Sha256: 8e19a6aeb1fd755941882c2e764e935398f5283c3b7041d9cd80dd581b7e1dfa

Contents?: true

Size: 580 Bytes

Versions: 3

Compression:

Stored size: 580 Bytes

Contents

class Licensee
  class GitMatcher < Matcher

    def match
      match_info[0] if match_info && match_info[1] >= Licensee.confidence_threshold
    end

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

    private

    def matches
      @matches ||= Licensee.licenses(:hidden => true).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
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
licensee-5.0.0b7 lib/licensee/matchers/git_matcher.rb
licensee-5.0.0b6 lib/licensee/matchers/git_matcher.rb
licensee-5.0.0b5 lib/licensee/matchers/git_matcher.rb