Sha256: 41f462585478d8d190aeeedc25a03a80baef0a307dda383525a64e84fef42ec6

Contents?: true

Size: 1.15 KB

Versions: 4

Compression:

Stored size: 1.15 KB

Contents

# frozen_string_literal: true

module SplitIoClient
  module Helpers
    class RepositoryHelper
      def self.update_feature_flag_repository(feature_flag_repository, feature_flags, change_number, config)
        to_add = []
        to_delete = []
        feature_flags.each do |feature_flag|
          if Engine::Models::Split.archived?(feature_flag) || !feature_flag_repository.flag_set_filter.intersect?(feature_flag[:sets])
            config.logger.debug("removing feature flag from store(#{feature_flag})") if config.debug_enabled
            to_delete.push(feature_flag)
            next
          end

          unless feature_flag.key?(:impressionsDisabled)
            feature_flag[:impressionsDisabled] = false
            if config.debug_enabled
              config.logger.debug("feature flag (#{feature_flag[:name]}) does not have impressionsDisabled field, setting it to false")
            end
          end

          config.logger.debug("storing feature flag (#{feature_flag[:name]})") if config.debug_enabled
          to_add.push(feature_flag)
        end
        feature_flag_repository.update(to_add, to_delete, change_number)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
splitclient-rb-8.5.0-java lib/splitclient-rb/helpers/repository_helper.rb
splitclient-rb-8.5.0 lib/splitclient-rb/helpers/repository_helper.rb
splitclient-rb-8.5.0.pre.rc1-java lib/splitclient-rb/helpers/repository_helper.rb
splitclient-rb-8.5.0.pre.rc1 lib/splitclient-rb/helpers/repository_helper.rb