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



71
72
73
74
75
76
77
78
79
80
# File 'lib/dynamoid/config.rb', line 71

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



48
49
50
# File 'lib/dynamoid/config.rb', line 48

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



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

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



62
63
64
65
66
67
68
69
# File 'lib/dynamoid/config.rb', line 62

def logger=(logger)
  case logger
  when false, nil then @logger = Logger.new('/dev/null')
  when true then @logger = default_logger
  else
    @logger = logger if logger.respond_to?(:info)
  end
end