diff options
Diffstat (limited to 'app/models/ci/build_trace_chunk.rb')
-rw-r--r-- | app/models/ci/build_trace_chunk.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/app/models/ci/build_trace_chunk.rb b/app/models/ci/build_trace_chunk.rb index 6926ccd9438..cf6eb159f52 100644 --- a/app/models/ci/build_trace_chunk.rb +++ b/app/models/ci/build_trace_chunk.rb @@ -45,6 +45,10 @@ module Ci def get_store_class(store) @stores ||= {} + + # Can't memoize this because the feature flag may alter this + return fog_store_class.new if store.to_sym == :fog + @stores[store] ||= "Ci::BuildTraceChunks::#{store.capitalize}".constantize.new end @@ -74,6 +78,14 @@ module Ci def metadata_attributes attribute_names - %w[raw_data] end + + def fog_store_class + if Feature.enabled?(:ci_trace_new_fog_store, default_enabled: true) + Ci::BuildTraceChunks::Fog + else + Ci::BuildTraceChunks::LegacyFog + end + end end def data |