25 lines
590 B
Ruby
25 lines
590 B
Ruby
|
module Gitlab
|
||
|
module Ci
|
||
|
module Build
|
||
|
module Policy
|
||
|
class Variables < Policy::Specification
|
||
|
def initialize(expressions)
|
||
|
@expressions = Array(expressions)
|
||
|
end
|
||
|
|
||
|
def satisfied_by?(pipeline, seed)
|
||
|
variables = seed.to_resource.scoped_variables_hash
|
||
|
|
||
|
statements = @expressions.map do |statement|
|
||
|
::Gitlab::Ci::Pipeline::Expression::Statement
|
||
|
.new(statement, variables)
|
||
|
end
|
||
|
|
||
|
statements.any?(&:truthful?)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|