module Circuitry::Config::SharedSettings
Public Class Methods
included(base)
click to toggle source
# File lib/circuitry/config/shared_settings.rb, line 8 def self.included(base) base.attribute :access_key, String base.attribute :secret_key, String base.attribute :region, String, default: 'us-east-1' base.attribute :use_iam_profile, Virtus::Attribute::Boolean, default: false base.attribute :logger, Logger, default: Logger.new(STDERR) base.attribute :error_handler base.attribute :topic_names, Array[String], default: [] base.attribute :on_async_exit base.attribute :async_strategy, Symbol, default: ->(_page, _att) { :fork } base.attribute :aws_options_overrides, Hash, default: {} end
Public Instance Methods
aws_options()
click to toggle source
# File lib/circuitry/config/shared_settings.rb, line 27 def aws_options { access_key_id: access_key, secret_access_key: secret_key, region: region, **aws_options_overrides } end
middleware() { |middleware| ... }
click to toggle source
# File lib/circuitry/config/shared_settings.rb, line 21 def middleware @middleware ||= Middleware::Chain.new yield @middleware if block_given? @middleware end
validate_setting(value, permitted_values)
click to toggle source
# File lib/circuitry/config/shared_settings.rb, line 36 def validate_setting(value, permitted_values) return if permitted_values.include?(value) raise ConfigError, "invalid value `#{value}`, must be one of #{permitted_values.inspect}" end