generated from activemessage/gem-template
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
About configuration or settings files, my suggestion are these:
For core settings, we can have a settings.yml, like:
Path: config/activemessage/settings.yml
settings:
aws:
access_key_id: '<%= ENV['AWS_ACCESS_KEY_ID'] %>'
secret_key: '<%= ENV['AWS_SECRET_KEY'] %>'
region: '<%= ENV['AWS_REGION'] %>'
account_id: '<%= ENV['AWS_ACCOUNT_ID'] %>'
# Any kind of things that others gem for this organization needs
default:
queues:
# Settings for all queues
topics:
# Settings for all topicsFor queues:
Path: Path: config/activemessage/queues/*.yml
default:
queues:
# Settings for all queues in this file
topics:
# Settings for all topics in this file
queues:
- ...For topics:
Path: Path: config/activemessage/topics/*.yml
default:
queues:
# Settings for all queues in this file
topics:
# Settings for all topics in this file
queues:
- ...About Configuration class, I really think that's it have to be open for others gems of this organization, so, this gems will can write data there.
My suggestion is something like that:
module ActiveMessage
class << self
def self.configurations
@configurations ||= build_configurations!
end
private
def build_configurations!
# Call Reader and build configurations...
end
end
end
module ActiveMessage
class Configuration
attr_accessor :kind, :data
def initialize
@nested = []
end
def add_configuration(configuration)
@nested << configuration
end
end
endUsing this way, we can have some kinds, like:
- aws
- queue
- topic
- subscription
- default-queue
- default-topic
Metadata
Metadata
Assignees
Labels
No labels