Sha256: 22c471d154f86c9ea6349232c86d1a60b2d105a8356141017e0943f00c135b50
Contents?: true
Size: 979 Bytes
Versions: 2
Compression:
Stored size: 979 Bytes
Contents
module Pheme class << self attr_writer :configuration end def self.configuration @configuration ||= Configuration.new end def self.configure yield(configuration) end def self.reset_configuration! @configuration = Configuration.new end class Configuration ATTRIBUTES = %i[sns_client sqs_client logger rollbar].freeze attr_accessor(*ATTRIBUTES) def initialize @logger ||= Logger.new(STDOUT) # rubocop:disable Lint/DisjunctiveAssignmentInConstructor @logger = ActiveSupport::TaggedLogging.new(@logger) unless @logger.respond_to?(:tagged) end def validate! ATTRIBUTES.each do |attribute| raise "Invalid or missing configuration for #{attribute}" unless send(attribute).present? 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 end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pheme-3.0.1 | lib/pheme/configuration.rb |
pheme-3.0.0 | lib/pheme/configuration.rb |