Class: Pheme::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/pheme/configuration.rb

Constant Summary collapse

ATTRIBUTES =
i[sns_client sqs_client logger].freeze
OPTIONAL_ATTRIBUTES =
i[rollbar].freeze

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



25
26
27
28
# File 'lib/pheme/configuration.rb', line 25

def initialize
  @logger ||= Logger.new(STDOUT) # rubocop:disable Lint/DisjunctiveAssignmentInConstructor
  @logger = ActiveSupport::TaggedLogging.new(@logger) unless @logger.respond_to?(:tagged)
end

Instance Method Details

#validate!Object



30
31
32
33
34
35
36
# File 'lib/pheme/configuration.rb', line 30

def validate!
  ATTRIBUTES.each do |attribute|
    raise "Invalid or missing configuration for #{attribute}" if send(attribute).blank?
  end
  raise "sns_client must be a Aws::SNS::Client"  unless sns_client.is_a?(Aws::SNS::Client)
  raise "sns_client must be a Aws::SQS::Client"  unless sqs_client.is_a?(Aws::SQS::Client)
end