Module: Familia::Settings
- Included in:
- Familia, Horreum::DefinitionMethods
- Defined in:
- lib/familia/settings.rb
Instance Attribute Summary collapse
-
#current_key_version(val = nil) ⇒ Object
-
#default_expiration(v = nil) ⇒ Object
-
#delim(val = nil) ⇒ Object
-
#encryption_keys(val = nil) ⇒ Object
-
#encryption_personalization(val = nil) ⇒ String
Personalization string for BLAKE2b key derivation in XChaCha20Poly1305.
-
#logical_database(v = nil) ⇒ Object
-
#prefix(val = nil) ⇒ Object
-
#suffix(val = nil) ⇒ Object
Instance Method Summary collapse
-
#config ⇒ Object
-
#default_suffix ⇒ Object
We define this do-nothing method because it reads better than simply Familia.suffix in some contexts.
Instance Attribute Details
#current_key_version(val = nil) ⇒ Object
54 55 56 57 |
# File 'lib/familia/settings.rb', line 54 def current_key_version(val = nil) @current_key_version = val if val @current_key_version end |
#default_expiration(v = nil) ⇒ Object
32 33 34 35 |
# File 'lib/familia/settings.rb', line 32 def default_expiration(v = nil) @default_expiration = v unless v.nil? @default_expiration end |
#delim(val = nil) ⇒ Object
17 18 19 20 |
# File 'lib/familia/settings.rb', line 17 def delim(val = nil) @delim = val if val @delim end |
#encryption_keys(val = nil) ⇒ Object
49 50 51 52 |
# File 'lib/familia/settings.rb', line 49 def encryption_keys(val = nil) @encryption_keys = val if val @encryption_keys end |
#encryption_personalization(val = nil) ⇒ String
Personalization string for BLAKE2b key derivation in XChaCha20Poly1305. This provides cryptographic domain separation, ensuring derived keys are unique per application even with identical master keys and contexts. Must be 16 bytes or less (automatically padded with null bytes).
71 72 73 74 75 76 77 78 |
# File 'lib/familia/settings.rb', line 71 def encryption_personalization(val = nil) if val raise ArgumentError, 'Personalization string cannot exceed 16 bytes' if val.bytesize > 16 @encryption_personalization = val end @encryption_personalization end |
#logical_database(v = nil) ⇒ Object
37 38 39 40 41 |
# File 'lib/familia/settings.rb', line 37 def logical_database(v = nil) Familia.trace :DB, dbclient, "#{@logical_database} #{v}", caller(1..1) if Familia.debug? @logical_database = v unless v.nil? @logical_database end |
#prefix(val = nil) ⇒ Object
22 23 24 25 |
# File 'lib/familia/settings.rb', line 22 def prefix(val = nil) @prefix = val if val @prefix end |
#suffix(val = nil) ⇒ Object
27 28 29 30 |
# File 'lib/familia/settings.rb', line 27 def suffix(val = nil) @suffix = val if val @suffix end |
Instance Method Details
#config ⇒ Object
80 81 82 |
# File 'lib/familia/settings.rb', line 80 def config self end |
#default_suffix ⇒ Object
We define this do-nothing method because it reads better than simply Familia.suffix in some contexts.
45 46 47 |
# File 'lib/familia/settings.rb', line 45 def default_suffix suffix end |