debian-mirror-gitlab/lib/gitlab/ci/config/entry/validatable.rb
2017-08-17 22:00:37 +05:30

27 lines
610 B
Ruby

module Gitlab
module Ci
class Config
module Entry
module Validatable
extend ActiveSupport::Concern
class_methods do
def validator
@validator ||= Class.new(Entry::Validator).tap do |validator|
if defined?(@validations)
@validations.each { |rules| validator.class_eval(&rules) }
end
end
end
private
def validations(&block)
(@validations ||= []).append(block)
end
end
end
end
end
end
end