Sha256: 68567b6c2da2109c59875157592b1dcc197d7c092221c8e150d509cb80298f35

Contents?: true

Size: 583 Bytes

Versions: 3

Compression:

Stored size: 583 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(: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 && match[1] > Licensee.confidence_threshold
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
licensee-5.0.0b4 lib/licensee/matchers/git_matcher.rb
licensee-5.0.0b3 lib/licensee/matchers/git_matcher.rb
licensee-5.0.0b2 lib/licensee/matchers/git_matcher.rb