Sha256: a0f9bac23af6af5540cead8b065570141a523b307b90eee20578650078c17c29

Contents?: true

Size: 1.05 KB

Versions: 1

Compression:

Stored size: 1.05 KB

Contents

# frozen_string_literal: true

require 'app_info/android/signatures/info'

module AppInfo::Android::Signature
  class Base
    def self.verify(parser)
      instance = new(parser)
      instance.verify
      instance
    end

    DESCRIPTION = 'APK Signature Scheme'

    attr_reader :verified

    def initialize(parser)
      @parser = parser
      @verified = false
    end

    # @abstract Subclass and override {#verify} to implement
    def verify
      raise NotImplementedError, ".#{__method__} method implantation required in #{self.class}"
    end

    # @abstract Subclass and override {#certificates} to implement
    def certificates
      raise NotImplementedError, ".#{__method__} method implantation required in #{self.class}"
    end

    def scheme
      "v#{version}"
    end

    def description
      "#{DESCRIPTION} #{scheme}"
    end

    def logger
      @parser.logger
    end
  end
end

require 'app_info/android/signatures/v1'
require 'app_info/android/signatures/v2'
require 'app_info/android/signatures/v3'
require 'app_info/android/signatures/v4'

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
app-info-3.0.0.beta1 lib/app_info/android/signatures/base.rb