Sha256: f3a8e9fc5039269e9c66a2bd3e76ef7b7b398538eb36bc609ea8b65f24cb8fc6

Contents?: true

Size: 711 Bytes

Versions: 68

Compression:

Stored size: 711 Bytes

Contents

module Avo
  module Services
    class EncryptionService
      class << self
        def encrypt(...)
          new(...).encrypt
        end

        def decrypt(...)
          new(...).decrypt
        end
      end

      def initialize(message:, purpose:, **kwargs)
        @message = message
        @purpose = purpose
        @crypt = ActiveSupport::MessageEncryptor.new(encryption_key, **kwargs)
      end

      def encrypt
        @crypt.encrypt_and_sign(@message, purpose: @purpose)
      end

      def decrypt
        @crypt.decrypt_and_verify(@message, purpose: @purpose)
      end

      private

      def encryption_key
        Rails.application.secret_key_base[0..31]
      end
    end
  end
end

Version data entries

68 entries across 68 versions & 1 rubygems

Version Path
avo-3.18.1.tw4 lib/avo/services/encryption_service.rb
avo-3.18.1 lib/avo/services/encryption_service.rb
avo-3.18.0.tw4 lib/avo/services/encryption_service.rb
avo-3.18.0 lib/avo/services/encryption_service.rb
avo-3.17.9.beta2 lib/avo/services/encryption_service.rb
avo-3.17.9.beta1 lib/avo/services/encryption_service.rb
avo-3.17.9.tw4 lib/avo/services/encryption_service.rb
avo-3.17.9 lib/avo/services/encryption_service.rb
avo-3.17.8.tw4 lib/avo/services/encryption_service.rb
avo-3.17.8 lib/avo/services/encryption_service.rb
avo-3.17.7 lib/avo/services/encryption_service.rb
avo-3.17.6.tw4 lib/avo/services/encryption_service.rb
avo-3.17.6 lib/avo/services/encryption_service.rb
avo-3.17.5 lib/avo/services/encryption_service.rb
avo-3.17.4 lib/avo/services/encryption_service.rb
avo-3.17.3 lib/avo/services/encryption_service.rb
avo-3.17.5.tw4 lib/avo/services/encryption_service.rb
avo-3.17.4.tw4 lib/avo/services/encryption_service.rb
avo-3.17.3.tw4 lib/avo/services/encryption_service.rb
avo-3.17.2.tw4 lib/avo/services/encryption_service.rb