diff options
Diffstat (limited to 'app/models/concerns/ci/partitionable.rb')
-rw-r--r-- | app/models/concerns/ci/partitionable.rb | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/app/models/concerns/ci/partitionable.rb b/app/models/concerns/ci/partitionable.rb index df803180e77..68a6714c892 100644 --- a/app/models/concerns/ci/partitionable.rb +++ b/app/models/concerns/ci/partitionable.rb @@ -57,9 +57,14 @@ module Ci end class_methods do - private + def partitionable(scope:, through: nil) + if through + define_singleton_method(:routing_table_name) { through[:table] } + define_singleton_method(:routing_table_name_flag) { through[:flag] } + + include Partitionable::Switch + end - def partitionable(scope:) define_method(:partition_scope_value) do strong_memoize(:partition_scope_value) do next Ci::Pipeline.current_partition_value if respond_to?(:importing?) && importing? |