31 lines
733 B
Ruby
31 lines
733 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
module Gitlab
|
||
|
module Ci
|
||
|
class Config
|
||
|
module Entry
|
||
|
class Include
|
||
|
class Rules::Rule < ::Gitlab::Config::Entry::Node
|
||
|
include ::Gitlab::Config::Entry::Validatable
|
||
|
include ::Gitlab::Config::Entry::Attributable
|
||
|
|
||
|
ALLOWED_KEYS = %i[if].freeze
|
||
|
|
||
|
attributes :if
|
||
|
|
||
|
validations do
|
||
|
validates :config, presence: true
|
||
|
validates :config, type: { with: Hash }
|
||
|
validates :config, allowed_keys: ALLOWED_KEYS
|
||
|
|
||
|
with_options allow_nil: true do
|
||
|
validates :if, expression: true
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|