Class: Avo::Services::EncryptionService

Inherits:
Object
  • Object
show all
Defined in:
lib/avo/services/encryption_service.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message:, purpose:) ⇒ EncryptionService

Returns a new instance of EncryptionService.



18
19
20
21
22
# File 'lib/avo/services/encryption_service.rb', line 18

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

Instance Attribute Details

#cryptObject (readonly)

Returns the value of attribute crypt.



6
7
8
# File 'lib/avo/services/encryption_service.rb', line 6

def crypt
  @crypt
end

#messageObject (readonly)

Returns the value of attribute message.



4
5
6
# File 'lib/avo/services/encryption_service.rb', line 4

def message
  @message
end

#purposeObject (readonly)

Returns the value of attribute purpose.



5
6
7
# File 'lib/avo/services/encryption_service.rb', line 5

def purpose
  @purpose
end

Class Method Details

.decrypt(message:, purpose:) ⇒ Object



13
14
15
# File 'lib/avo/services/encryption_service.rb', line 13

def decrypt(message:, purpose:)
  new(message: message, purpose: purpose).decrypt
end

.encrypt(message:, purpose:) ⇒ Object



9
10
11
# File 'lib/avo/services/encryption_service.rb', line 9

def encrypt(message:, purpose:)
  new(message: message, purpose: purpose).encrypt
end

Instance Method Details

#decryptObject



28
29
30
# File 'lib/avo/services/encryption_service.rb', line 28

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

#encryptObject



24
25
26
# File 'lib/avo/services/encryption_service.rb', line 24

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