Commit 30e946ce authored by Grzegorz Bizon's avatar Grzegorz Bizon

Validate ci config entry value before processing nodes

parent 59eeec3f
......@@ -16,20 +16,18 @@ module Gitlab
module Configurable
extend ActiveSupport::Concern
def initialize(*)
super
unless @value.is_a?(Hash)
@errors << 'should be a configuration entry with hash value'
end
end
def allowed_nodes
self.class.allowed_nodes || {}
end
private
def prevalidate!
unless @value.is_a?(Hash)
@errors << 'should be a configuration entry with hash value'
end
end
def create_node(key, factory)
factory.with(value: @value[key])
factory.nullify! unless @value.has_key?(key)
......
......@@ -14,6 +14,8 @@ module Gitlab
@value = value
@nodes = {}
@errors = []
prevalidate!
end
def process!
......@@ -56,6 +58,9 @@ module Gitlab
private
def prevalidate!
end
def compose!
allowed_nodes.each do |key, essence|
@nodes[key] = create_node(key, essence)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment