Sha256: bbfa92ceaa1bf0363cd583cc7049892661d8079f8bd500fae0a324c5f44faa38

Contents?: true

Size: 1.48 KB

Versions: 16

Compression:

Stored size: 1.48 KB

Contents

# frozen_string_literal: true

module RubyGPG2
  class Key
    attr_reader(
      :type,
      :validity,
      :length,
      :algorithm,
      :id,
      :creation_date,
      :owner_trust,
      :capabilities,
      :serial_number,
      :compliance_modes,
      :origin,
      :fingerprint,
      :user_ids
    )

    # rubocop:disable Metrics/MethodLength
    # rubocop:disable Metrics/AbcSize
    def initialize(opts)
      @type = opts[:type]
      @validity = opts[:validity]
      @length = opts[:length]
      @algorithm = opts[:algorithm]
      @id = opts[:id]
      @creation_date = opts[:creation_date]
      @owner_trust = opts[:owner_trust]
      @capabilities = opts[:capabilities]
      @serial_number = opts[:serial_number]
      @compliance_modes = opts[:compliance_modes]
      @origin = opts[:origin]
      @fingerprint = opts[:fingerprint]
      @user_ids = opts[:user_ids]
    end
    # rubocop:enable Metrics/AbcSize
    # rubocop:enable Metrics/MethodLength

    def primary_user_id
      @user_ids&.first
    end

    def ==(other)
      other.class == self.class && other.state == state
    end

    protected

    # rubocop:disable Metrics/MethodLength
    def state
      [
        @type,
        @validity,
        @length,
        @algorithm,
        @id,
        @creation_date,
        @owner_trust,
        @capabilities,
        @serial_number,
        @compliance_modes,
        @origin,
        @fingerprint
      ]
    end
    # rubocop:enable Metrics/MethodLength
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
ruby_gpg2-0.13.0.pre.4 lib/ruby_gpg2/key.rb
ruby_gpg2-0.13.0.pre.3 lib/ruby_gpg2/key.rb
ruby_gpg2-0.13.0.pre.2 lib/ruby_gpg2/key.rb
ruby_gpg2-0.13.0.pre.1 lib/ruby_gpg2/key.rb
ruby_gpg2-0.12.0 lib/ruby_gpg2/key.rb
ruby_gpg2-0.11.0.pre.7 lib/ruby_gpg2/key.rb
ruby_gpg2-0.11.0.pre.6 lib/ruby_gpg2/key.rb
ruby_gpg2-0.11.0.pre.5 lib/ruby_gpg2/key.rb
ruby_gpg2-0.11.0.pre.4 lib/ruby_gpg2/key.rb
ruby_gpg2-0.11.0.pre.3 lib/ruby_gpg2/key.rb
ruby_gpg2-0.11.0.pre.2 lib/ruby_gpg2/key.rb
ruby_gpg2-0.11.0.pre.1 lib/ruby_gpg2/key.rb
ruby_gpg2-0.10.0 lib/ruby_gpg2/key.rb
ruby_gpg2-0.9.0.pre.9 lib/ruby_gpg2/key.rb
ruby_gpg2-0.9.0.pre.8 lib/ruby_gpg2/key.rb
ruby_gpg2-0.9.0.pre.7 lib/ruby_gpg2/key.rb