Module: Dynamoid::Config

Extended by:
Config, Options
Includes:
ActiveModel::Observing
Included in:
Config
Defined in:
lib/dynamoid/config.rb,
lib/dynamoid/config/options.rb,
lib/dynamoid/config/backoff_strategies/constant_backoff.rb,
lib/dynamoid/config/backoff_strategies/exponential_backoff.rb

Overview

Contains all the basic configuration information required for Dynamoid: both sensible defaults and required fields.

Defined Under Namespace

Modules: BackoffStrategies, Options

Instance Method Summary collapse

Methods included from Options

defaults, option, reset, settings

Instance Method Details

#build_backoffObject



77
78
79
80
81
82
83
84
85
86
# File 'lib/dynamoid/config.rb', line 77

def build_backoff
  if backoff.is_a?(Hash)
    name = backoff.keys[0]
    args = backoff.values[0]

    backoff_strategies[name].call(args)
  else
    backoff_strategies[backoff].call
  end
end

#default_loggerObject

The default logger for Dynamoid: either the Rails logger or just stdout.

Since:

  • 0.2.0



54
55
56
# File 'lib/dynamoid/config.rb', line 54

def default_logger
  defined?(Rails) && Rails.respond_to?(:logger) ? Rails.logger : ::Logger.new($stdout)
end

#loggerObject

Returns the assigned logger instance.

Since:

  • 0.2.0



61
62
63
# File 'lib/dynamoid/config.rb', line 61

def logger
  @logger ||= default_logger
end

#logger=(logger) ⇒ Object

If you want to, set the logger manually to any output you’d like. Or pass false or nil to disable logging entirely.

Since:

  • 0.2.0



68
69
70
71
72
73
74
75
# File 'lib/dynamoid/config.rb', line 68

def logger=(logger)
  case logger
  when false, nil then @logger = NullLogger.new
  when true then @logger = default_logger
  else
    @logger = logger if logger.respond_to?(:info)
  end
end