Use Ci config validation helpers only where needed

This commit is contained in:
Grzegorz Bizon 2016-06-07 12:58:32 +02:00
parent 6bd67f5212
commit df25c19699
5 changed files with 31 additions and 29 deletions

View File

@ -2,7 +2,7 @@ module Ci
class GitlabCiYamlProcessor
class ValidationError < StandardError; end
include Gitlab::Ci::Config::ValidationHelpers
include Gitlab::Ci::Config::Node::ValidationHelpers
DEFAULT_STAGES = %w(build test deploy)
DEFAULT_STAGE = 'test'

View File

@ -3,6 +3,8 @@ module Gitlab
class Config
module Node
class BeforeScript < Entry
include ValidationHelpers
def keys
{}
end

View File

@ -3,8 +3,6 @@ module Gitlab
class Config
module Node
class Entry
include Config::ValidationHelpers
attr_reader :value, :nodes, :parent
def initialize(value, root = nil, parent = nil)

View File

@ -0,0 +1,28 @@
module Gitlab
module Ci
class Config
module Node
module ValidationHelpers
private
def validate_array_of_strings(values)
values.is_a?(Array) && values.all? { |value| validate_string(value) }
end
def validate_variables(variables)
variables.is_a?(Hash) &&
variables.all? { |key, value| validate_string(key) && validate_string(value) }
end
def validate_string(value)
value.is_a?(String) || value.is_a?(Symbol)
end
def validate_boolean(value)
value.in?([true, false])
end
end
end
end
end
end

View File

@ -1,26 +0,0 @@
module Gitlab
module Ci
class Config
module ValidationHelpers
private
def validate_array_of_strings(values)
values.is_a?(Array) && values.all? { |value| validate_string(value) }
end
def validate_variables(variables)
variables.is_a?(Hash) &&
variables.all? { |key, value| validate_string(key) && validate_string(value) }
end
def validate_string(value)
value.is_a?(String) || value.is_a?(Symbol)
end
def validate_boolean(value)
value.in?([true, false])
end
end
end
end
end