-
Notifications
You must be signed in to change notification settings - Fork 0
Description
About configuration reader, I've thought in a solution where each gem can describe how to process your files and what files. How we know what gems can process the ymls content, my suggestion is something like that:
module ActiveMessage
class << self
def build_configurations!
content = ActiveMessage::Reader.read!
response = ActiveMessage::Reader::Processor::Core.process!(content)
response += ActiveMessage::Reader::Processor::Sqs.process!(content) if defined?(ActiveMessage::Sqs)
response += ActiveMessage::Reader::Processor::Sns.process!(content) if defined?(ActiveMessage::Sns)
response
end
end
end
module ActiveMessage
module Reader
class << self
def read!
fetch_files!
.map { |e| read_file(e) }
.map { |e| handle_yml(e) }
.map { |e| handle_variables(e) }
.map { |e| parse_content(e) }
end
private
def fetch_files!
end
def read_file
end
def handle_variables
end
def parse_content
end
def handle_yml
end
end
end
end
module ActiveMessage
module Reader
module Processor
module Base
def process!(content)
raise NotImplementedError
end
end
end
end
end
module ActiveMessage
module Reader
module Processor
module Core
def process!(content)
content.map { ActiveMessage::Configuration.new } # Process content and generate configurations
end
end
end
end
end