diff options
author | drew <dscimino@gmail.com> | 2019-09-09 13:21:26 +0000 |
---|---|---|
committer | Kamil TrzciĆski <ayufan@ayufan.eu> | 2019-09-09 13:21:26 +0000 |
commit | 9458192f2bc17928ba775ac0c57b791a8e0aad27 (patch) | |
tree | 2dcd09f2cc6faeb382118e5294de17f9031d8d4f /lib/gitlab/ci/build | |
parent | ee5bd24418fa9a7dca645a414be28ef4f8d8232b (diff) | |
download | gitlab-ce-9458192f2bc17928ba775ac0c57b791a8e0aad27.tar.gz |
Passing job:rules downstream and E2E specs for job:rules configuration
Diffstat (limited to 'lib/gitlab/ci/build')
-rw-r--r-- | lib/gitlab/ci/build/rules.rb | 9 | ||||
-rw-r--r-- | lib/gitlab/ci/build/rules/rule/clause.rb | 4 |
2 files changed, 9 insertions, 4 deletions
diff --git a/lib/gitlab/ci/build/rules.rb b/lib/gitlab/ci/build/rules.rb index 89623a809c9..43399c74457 100644 --- a/lib/gitlab/ci/build/rules.rb +++ b/lib/gitlab/ci/build/rules.rb @@ -6,7 +6,14 @@ module Gitlab class Rules include ::Gitlab::Utils::StrongMemoize - Result = Struct.new(:when, :start_in) + Result = Struct.new(:when, :start_in) do + def build_attributes + { + when: self.when, + options: { start_in: start_in }.compact + }.compact + end + end def initialize(rule_hashes, default_when = 'on_success') @rule_list = Rule.fabricate_list(rule_hashes) diff --git a/lib/gitlab/ci/build/rules/rule/clause.rb b/lib/gitlab/ci/build/rules/rule/clause.rb index ff0baf3348c..bf787fe95a6 100644 --- a/lib/gitlab/ci/build/rules/rule/clause.rb +++ b/lib/gitlab/ci/build/rules/rule/clause.rb @@ -13,9 +13,7 @@ module Gitlab UnknownClauseError = Class.new(StandardError) def self.fabricate(type, value) - type = type.to_s.camelize - - self.const_get(type).new(value) if self.const_defined?(type) + "#{self}::#{type.to_s.camelize}".safe_constantize&.new(value) end def initialize(spec) |