Sha256: bf34f7ea319bc377f21a8f798634f6f158e86225ae5a9fcef7457e7c634f687e

Contents?: true

Size: 648 Bytes

Versions: 7

Compression:

Stored size: 648 Bytes

Contents

module Licensee
  module Matchers
    class Copyright < Licensee::Matchers::Matcher
      attr_reader :file

      # rubocop:disable Metrics/LineLength
      COPYRIGHT_SYMBOLS = Regexp.union([/copyright/i, /\(c\)/i, "\u00A9", "\xC2\xA9"])
      REGEX = /\A(\s*#{COPYRIGHT_SYMBOLS}.*$)+/i
      # rubocop:enable Metrics/LineLength

      def match
        # Note: must use content, and not content_normalized here
        if @file.content.strip =~ /\A#{REGEX}\z/i
          Licensee::License.find('no-license')
        end
      rescue Encoding::CompatibilityError
        nil
      end

      def confidence
        100
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
licensee-9.10.1 lib/licensee/matchers/copyright.rb
licensee-9.10.0 lib/licensee/matchers/copyright.rb
licensee-9.9.4 lib/licensee/matchers/copyright.rb
licensee-9.9.3 lib/licensee/matchers/copyright.rb
licensee-9.9.2 lib/licensee/matchers/copyright.rb
licensee-9.9.1 lib/licensee/matchers/copyright.rb
licensee-9.9.0 lib/licensee/matchers/copyright.rb