20 lines
601 B
Ruby
20 lines
601 B
Ruby
require_relative 'base'
|
|
require_relative 'postgres_cluster'
|
|
|
|
class Devops::StackTemplatePresetsFactory
|
|
|
|
# find all classes in Devops::StackTemplatePresets modules excluding Base and factory.
|
|
# This list can be extended in external gems via defining new classes in Devops::StackTemplatePresets module.
|
|
def self.list
|
|
@list ||= Devops::StackTemplatePresets.constants.select do |class_name|
|
|
class_name != :Base
|
|
end.map do |class_name|
|
|
Devops::StackTemplatePresets.const_get(class_name).new
|
|
end
|
|
end
|
|
|
|
def self.get(id)
|
|
list.detect { |preset| preset.id == id }
|
|
end
|
|
|
|
end |