Module: Familia

Extended by:
Connection, Logging, SecureIdentifier, Settings, Utils
Defined in:
lib/familia.rb,
lib/familia/base.rb,
lib/familia/utils.rb,
lib/familia/errors.rb,
lib/familia/horreum.rb,
lib/familia/logging.rb,
lib/familia/version.rb,
lib/familia/features.rb,
lib/familia/settings.rb,
lib/familia/data_type.rb,
lib/familia/connection.rb,
lib/familia/encryption.rb,
lib/familia/field_type.rb,
lib/familia/horreum/core.rb,
lib/familia/secure_identifier.rb,
lib/familia/encryption/manager.rb,
lib/familia/horreum/core/utils.rb,
lib/familia/encryption/provider.rb,
lib/familia/encryption/registry.rb,
lib/familia/features/expiration.rb,
lib/familia/features/expiration.rb,
lib/familia/data_type/types/list.rb,
lib/familia/data_type/types/lock.rb,
lib/familia/data_type/types/string.rb,
lib/familia/data_type/types/counter.rb,
lib/familia/data_type/types/hashkey.rb,
lib/familia/horreum/core/connection.rb,
lib/familia/horreum/shared/settings.rb,
lib/familia/encryption_request_cache.rb,
lib/familia/encryption/encrypted_data.rb,
lib/familia/features/encrypted_fields.rb,
lib/familia/features/transient_fields.rb,
lib/familia/data_type/types/sorted_set.rb,
lib/familia/horreum/core/serialization.rb,
lib/familia/horreum/subclass/definition.rb,
lib/familia/horreum/subclass/management.rb,
lib/familia/data_type/types/unsorted_set.rb,
lib/familia/horreum/core/database_commands.rb,
lib/familia/encryption/providers/aes_gcm_provider.rb,
lib/familia/horreum/subclass/related_fields_management.rb,
lib/familia/features/encrypted_fields/encrypted_field_type.rb,
lib/familia/features/transient_fields/transient_field_type.rb,
lib/familia/encryption/providers/xchacha20_poly1305_provider.rb,
lib/familia/encryption/providers/secure_xchacha20_poly1305_provider.rb

Overview

lib/familia/horreum/related_fields_management.rb

Defined Under Namespace

Modules: Base, Connection, Encryption, Features, Logging, SecureIdentifier, Settings, Utils Classes: Counter, DataType, EncryptedFieldType, EncryptionError, FieldType, HashKey, HighRiskFactor, Horreum, KeyNotFoundError, List, Lock, NoConnectionAvailable, NoIdentifier, NonUniqueKey, NotConnected, Problem, RecordExistsError, Set, SortedSet, String, TransientFieldType

Constant Summary collapse

VERSION =
'2.0.0.pre6'
FeatureDefinition =
Data.define(:name, :depends_on)
VALID_STRATEGIES =
%i[raise skip ignore warn overwrite].freeze

Constants included from SecureIdentifier

SecureIdentifier::HEX_LENGTHS

Class Attribute Summary collapse

Attributes included from Connection

#connection_provider, #connection_required, #database_clients, #enable_database_counter, #enable_database_logging, #uri

Attributes included from Settings

#current_key_version, #default_expiration, #delim, #encryption_keys, #encryption_personalization, #logical_database, #prefix, #suffix

Attributes included from Logging

#logger

Class Method Summary collapse

Methods included from SecureIdentifier

generate_hex_id, generate_hex_trace_id, generate_id, generate_trace_id, min_length_for_bits, shorten_to_external_id, shorten_to_trace_id

Methods included from Connection

connect, dbclient, pipeline, reconnect, transaction, with_connection

Methods included from Settings

config, default_suffix

Methods included from Logging

info, ld, le, trace, warn

Methods included from Utils

dbkey, distinguisher, join, now, pretty_path, pretty_stack, qstamp, serverid, split

Class Attribute Details

.debugObject

Returns the value of attribute debug.



39
40
41
# File 'lib/familia.rb', line 39

def debug
  @debug
end

.membersObject (readonly)

Returns the value of attribute members.



40
41
42
# File 'lib/familia.rb', line 40

def members
  @members
end

Class Method Details

.configure {|_self| ... } ⇒ Object

A convenience pattern for configuring Familia.

Examples:

Familia.configure do |config|
  config.debug = true
  config.enable_database_logging = true
end

Yields:

  • (_self)

Yield Parameters:

  • _self (Familia)

    the object that the method was called on



55
56
57
# File 'lib/familia.rb', line 55

def configure
  yield self
end

.debug?Boolean

Checks if debug mode is enabled

e.g. Familia.debug = true

Returns:

  • (Boolean)

    true if debug mode is on, false otherwise



64
65
66
# File 'lib/familia.rb', line 64

def debug?
  @debug == true
end