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

:nodoc

Defined Under Namespace

Modules: BackoffStrategies, Options

Instance Method Summary collapse

Methods included from Options

defaults, option, reset, settings

Instance Method Details

#build_backoffObject



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

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



44
45
46
# File 'lib/dynamoid/config.rb', line 44

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



51
52
53
# File 'lib/dynamoid/config.rb', line 51

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



58
59
60
61
62
63
64
65
# File 'lib/dynamoid/config.rb', line 58

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