Class: Eventboss::Configuration
- Inherits:
-
Object
- Object
- Eventboss::Configuration
- Defined in:
- lib/eventboss/configuration.rb
Constant Summary collapse
- OPTS_ALLOWED_IN_CONFIG_FILE =
%i[ concurrency sns_sqs_name_infix listeners ].freeze
Instance Attribute Summary collapse
- #aws_access_key_id ⇒ Object
- #aws_container_authorization_token_file ⇒ Object
- #aws_secret_access_key ⇒ Object
- #aws_session_token ⇒ Object
- #aws_sns_endpoint ⇒ Object
- #aws_sqs_endpoint ⇒ Object
- #concurrency ⇒ Object
- #error_handlers ⇒ Object
- #eventboss_account_id ⇒ Object
- #eventboss_app_name ⇒ Object
- #eventboss_region ⇒ Object
- #eventboss_use_default_credentials ⇒ Object
- #listeners ⇒ Object
- #log_level ⇒ Object
- #logger ⇒ Object
- #raise_on_missing_configuration ⇒ Object
- #sns_client ⇒ Object
- #sns_sqs_name_infix ⇒ Object
- #sqs_client ⇒ Object
Instance Method Summary collapse
Instance Attribute Details
#aws_access_key_id ⇒ Object
112 113 114 |
# File 'lib/eventboss/configuration.rb', line 112 def aws_access_key_id defined_or_default('aws_access_key_id') { ENV['AWS_ACCESS_KEY_ID'] } end |
#aws_container_authorization_token_file ⇒ Object
108 109 110 |
# File 'lib/eventboss/configuration.rb', line 108 def defined_or_default('aws_container_authorization_token_file') { ENV['AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE'] } end |
#aws_secret_access_key ⇒ Object
116 117 118 |
# File 'lib/eventboss/configuration.rb', line 116 def aws_secret_access_key defined_or_default('aws_secret_access_key') { ENV['AWS_SECRET_ACCESS_KEY'] } end |
#aws_session_token ⇒ Object
120 121 122 |
# File 'lib/eventboss/configuration.rb', line 120 def aws_session_token defined_or_default('aws_session_token') { ENV['AWS_SESSION_TOKEN'] } end |
#aws_sns_endpoint ⇒ Object
128 129 130 |
# File 'lib/eventboss/configuration.rb', line 128 def aws_sns_endpoint defined_or_default('aws_sns_endpoint') { ENV['AWS_SNS_ENDPOINT'] } end |
#aws_sqs_endpoint ⇒ Object
124 125 126 |
# File 'lib/eventboss/configuration.rb', line 124 def aws_sqs_endpoint defined_or_default('aws_sqs_endpoint') { ENV['AWS_SQS_ENDPOINT'] } end |
#concurrency ⇒ Object
44 45 46 47 48 49 |
# File 'lib/eventboss/configuration.rb', line 44 def concurrency defined_or_default('concurrency') do concurrency = ENV['EVENTBOSS_CONCURRENCY'] || ENV['EVENTBUS_CONCURRENCY'] concurrency ? concurrency.to_i : 25 end end |
#error_handlers ⇒ Object
35 36 37 38 39 40 41 42 |
# File 'lib/eventboss/configuration.rb', line 35 def error_handlers defined_or_default('error_handlers') do [ErrorHandlers::Logger.new, ErrorHandlers::NonExistentQueueHandler.new].tap do |handlers| handlers << ErrorHandlers::DbConnectionDropHandler.new if defined?(::ActiveRecord::StatementInvalid) handlers << ErrorHandlers::DbConnectionNotEstablishedHandler.new if defined?(::ActiveRecord::ConnectionNotEstablished) end end end |
#eventboss_account_id ⇒ Object
100 101 102 |
# File 'lib/eventboss/configuration.rb', line 100 def eventboss_account_id defined_or_default('eventboss_account_id') { ENV['EVENTBOSS_ACCOUNT_ID'] || ENV['EVENTBUS_ACCOUNT_ID'] } end |
#eventboss_app_name ⇒ Object
96 97 98 |
# File 'lib/eventboss/configuration.rb', line 96 def eventboss_app_name defined_or_default('eventboss_app_name') { ENV['EVENTBOSS_APP_NAME'] || ENV['EVENTBUS_APP_NAME'] } end |
#eventboss_region ⇒ Object
92 93 94 |
# File 'lib/eventboss/configuration.rb', line 92 def eventboss_region defined_or_default('eventboss_region') { ENV['EVENTBOSS_REGION'] || ENV['EVENTBUS_REGION'] } end |
#eventboss_use_default_credentials ⇒ Object
104 105 106 |
# File 'lib/eventboss/configuration.rb', line 104 def eventboss_use_default_credentials defined_or_default('eventboss_use_default_credentials') { ENV['EVENTBOSS_USE_DEFAULT_CREDENTIALS'] == 'true' } end |
#listeners ⇒ Object
136 137 138 |
# File 'lib/eventboss/configuration.rb', line 136 def listeners defined_or_default('listeners') { {} } end |
#log_level ⇒ Object
51 52 53 |
# File 'lib/eventboss/configuration.rb', line 51 def log_level defined_or_default('log_level') { :info } end |
#logger ⇒ Object
55 56 57 58 59 |
# File 'lib/eventboss/configuration.rb', line 55 def logger defined_or_default('logger') do ::Logger.new(STDOUT, level: Eventboss.configuration.log_level) end end |
#raise_on_missing_configuration ⇒ Object
31 32 33 |
# File 'lib/eventboss/configuration.rb', line 31 def raise_on_missing_configuration defined_or_default('raise_on_missing_configuration') { (ENV['EVENTBOSS_RAISE_ON_MISSING_CONFIGURATION'] || ENV['EVENTBUS_RAISE_ON_MISSING_CONFIGURATION'])&.downcase == 'true' } end |
#sns_client ⇒ Object
61 62 63 |
# File 'lib/eventboss/configuration.rb', line 61 def sns_client defined_or_default('sns_client') { Eventboss::SnsClient.new(self) } end |
#sns_sqs_name_infix ⇒ Object
132 133 134 |
# File 'lib/eventboss/configuration.rb', line 132 def sns_sqs_name_infix defined_or_default('sns_sqs_name_infix') { ENV['EVENTBOSS_SQS_SNS_NAME_INFIX'] || ENV['EVENTBUS_SQS_SNS_NAME_INFIX'] || 'eventboss' } end |
#sqs_client ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/eventboss/configuration.rb', line 65 def sqs_client defined_or_default('sqs_client') do = { region: eventboss_region, } unless eventboss_use_default_credentials [:credentials] = credentials end if aws_sqs_endpoint [:endpoint] = aws_sqs_endpoint end Aws::SQS::Client.new() end end |
Instance Method Details
#credentials ⇒ Object
83 84 85 86 87 88 89 90 |
# File 'lib/eventboss/configuration.rb', line 83 def credentials return Aws::Credentials.new(aws_access_key_id, aws_secret_access_key, aws_session_token) if development_mode? Aws::Credentials.new( aws_access_key_id, aws_secret_access_key ) end |
#development_mode? ⇒ Boolean
140 141 142 143 144 |
# File 'lib/eventboss/configuration.rb', line 140 def development_mode? defined_or_default('development_mode') do (ENV['EVENTBOSS_DEVELOPMENT_MODE']&.downcase || ENV['EVENTBUS_DEVELOPMENT_MODE'])&.downcase == 'true' end end |
#server_middleware ⇒ Object
146 147 148 |
# File 'lib/eventboss/configuration.rb', line 146 def server_middleware @server_middleware ||= Middleware::Chain.new end |