Class: SplitIoClient::Helpers::RepositoryHelper

Inherits:
Object
  • Object
show all
Defined in:
lib/splitclient-rb/helpers/repository_helper.rb

Class Method Summary collapse

Class Method Details

.update_feature_flag_repository(feature_flag_repository, feature_flags, change_number, config) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/splitclient-rb/helpers/repository_helper.rb', line 6

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

    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