variables.rb 652 字节
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, build)
11 12 13 14
            variables = Gitlab::Ci::Variables::Collection
              .new(build.simple_variables)
              .to_hash

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

20
            statements.any?(&:truthful?)
21 22 23 24 25 26
          end
        end
      end
    end
  end
end