Module: Familia

Extended by:
Connection, Logging, Settings, Utils
Defined in:
lib/familia.rb,
lib/familia/base.rb,
lib/familia/tools.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/redistype.rb,
lib/familia/connection.rb,
lib/familia/horreum/utils.rb,
lib/familia/horreum/commands.rb,
lib/familia/horreum/settings.rb,
lib/familia/redistype/types/list.rb,
lib/familia/horreum/class_methods.rb,
lib/familia/horreum/serialization.rb,
lib/familia/redistype/types/string.rb,
lib/familia/redistype/types/hashkey.rb,
lib/familia/redistype/types/sorted_set.rb,
lib/familia/horreum/relations_management.rb,
lib/familia/redistype/types/unsorted_set.rb

Overview

rubocop:disable all

Defined Under Namespace

Modules: Base, Connection, Features, Logging, Settings, Tools, Utils, VERSION Classes: HashKey, HighRiskFactor, Horreum, KeyNotFoundError, List, NoIdentifier, NonUniqueKey, NotConnected, Problem, RedisType, Set, SortedSet, String

Constant Summary collapse

DIGEST_CLASS =
Digest::SHA256

Class Attribute Summary collapse

Attributes included from Logging

#logger

Attributes included from Connection

#enable_redis_counter, #enable_redis_logging, #redis_clients, #uri

Attributes included from Settings

#db, #delim, #prefix, #suffix, #ttl

Class Method Summary collapse

Methods included from Logging

info, ld, le, trace, warn

Methods included from Connection

connect, redis, redis_uri_by_class

Methods included from Settings

default_suffix

Methods included from Utils

debug?, distinguisher, generate_id, generate_sha_hash, join, qstamp, rediskey, redisuri, split

Class Attribute Details

.debugObject



42
43
44
# File 'lib/familia.rb', line 42

def debug
  @debug ||= ENV['FAMILIA_DEBUG'].to_s.match?(/^(true|1)$/i)
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_redis_logging = true
end

Yields:

  • (_self)

Yield Parameters:

  • _self (Familia)

    the object that the method was called on



59
60
61
# File 'lib/familia.rb', line 59

def configure
  yield self
end

.included(member) ⇒ Object

Raises:



46
47
48
# File 'lib/familia.rb', line 46

def included(member)
  raise Problem, "#{member} should subclass Familia::Horreum"
end

.now(name = Time.now) ⇒ Float

Returns current time in UTC as a float

Parameters:

  • name (Time) (defaults to: Time.now)

    time object (default: current time)

Returns:

  • (Float)

    time in seconds since epoch



90
91
92
# File 'lib/familia/utils.rb', line 90

def Familia.now(name = Time.now)
  name.utc.to_f
end