variables.rb 583 字节
Newer Older
1 2 3 4 5 6 7 8 9
module Gitlab
  module Ci
    module Build
      module Policy
        class Variables < Policy::Specification
          def initialize(expressions)
            @expressions = Array(expressions)
          end

10
          def satisfied_by?(pipeline, seed)
11
            variables = seed.to_resource.variables_hash
12

13 14
            statements = @expressions.map do |statement|
              ::Gitlab::Ci::Pipeline::Expression::Statement
15
                .new(statement, variables)
16 17
            end

18
            statements.any?(&:truthful?)
19 20 21 22 23 24
          end
        end
      end
    end
  end
end