Module: Pigeon::Security

Defined in:
lib/pigeon/security.rb

Overview

Security-related functionality for Pigeon

Class Method Summary collapse

Class Method Details

.decrypt(encrypted_payload, encryption_key = nil) ⇒ String

Decrypt a payload

Parameters:

  • encrypted_payload (Hash)

    Encrypted payload with metadata

  • encryption_key (String, nil) (defaults to: nil)

    Optional encryption key

Returns:

  • (String)

    Decrypted payload



18
19
20
# File 'lib/pigeon/security.rb', line 18

def self.decrypt(encrypted_payload, encryption_key = nil)
  Encryption.decrypt(encrypted_payload, encryption_key)
end

.encrypt(payload, encryption_key = nil) ⇒ Hash

Encrypt a payload

Parameters:

  • payload (String)

    Payload to encrypt

  • encryption_key (String, nil) (defaults to: nil)

    Optional encryption key

Returns:

  • (Hash)

    Encrypted payload with metadata



10
11
12
# File 'lib/pigeon/security.rb', line 10

def self.encrypt(payload, encryption_key = nil)
  Encryption.encrypt(payload, encryption_key)
end

.mask_payload(payload, sensitive_fields = nil) ⇒ Hash, String

Mask sensitive data in a payload

Parameters:

  • payload (Hash, String)

    Payload to mask

  • sensitive_fields (Array<String, Symbol>) (defaults to: nil)

    Fields to mask

Returns:

  • (Hash, String)

    Masked payload



26
27
28
# File 'lib/pigeon/security.rb', line 26

def self.mask_payload(payload, sensitive_fields = nil)
  Encryption.mask_payload(payload, sensitive_fields || Core.config.sensitive_fields)
end