class Propono::Configuration

Public Class Methods

add_setting(sym, required: true) click to toggle source
# File lib/propono/configuration.rb, line 8
def self.add_setting(sym, required: true)
  define_method(sym) do
    required ? get_or_raise(sym) : @settings[sym]
  end

  define_method("#{sym}=") do |new_value|
    @settings[sym] = new_value
  end
end
new() click to toggle source
# File lib/propono/configuration.rb, line 28
def initialize
  @settings = {
    aws_options:           {},
    sqs_options:           {},
    sns_options:           {},
    logger:                Propono::Logger.new,
    queue_suffix:          "",
    max_retries:           0,
    num_messages_per_poll: 1,
    slow_queue_enabled:    true
  }
end

Private Instance Methods

get_or_raise(setting) click to toggle source
# File lib/propono/configuration.rb, line 43
def get_or_raise(setting)
  @settings[setting] || raise(ProponoConfigurationError.new("Configuration for #{setting} is not set"))
end