class SplitIoClient::Cache::Repositories::MemoryFlagSetsRepository

def add_feature_flag_to_flag_set(flag_set, feature_flag)

def add_feature_flag_to_flag_set(flag_set, feature_flag)
  @sets_feature_flag_map[flag_set].add(feature_flag) if flag_set_exist?(flag_set)
end

def add_flag_set(flag_set)

def add_flag_set(flag_set)
  @sets_feature_flag_map[flag_set] = Set[] if !flag_set_exist?(flag_set)
end

def flag_set_exist?(flag_set)

def flag_set_exist?(flag_set)
  @sets_feature_flag_map.key?(flag_set)
end

def get_flag_sets(flag_sets)

def get_flag_sets(flag_sets)
  to_return = Array.new
  flag_sets.each { |flag_set| to_return.concat(@sets_feature_flag_map[flag_set].to_a)}
  to_return.uniq
end

def initialize(flag_sets = [])

def initialize(flag_sets = [])
  @sets_feature_flag_map = {}
  flag_sets.each{ |flag_set| @sets_feature_flag_map[flag_set] = Set[] }
end

def remove_feature_flag_from_flag_set(flag_set, feature_flag)

def remove_feature_flag_from_flag_set(flag_set, feature_flag)
  @sets_feature_flag_map[flag_set].delete(feature_flag) if flag_set_exist?(flag_set)
end

def remove_flag_set(flag_set)

def remove_flag_set(flag_set)
  @sets_feature_flag_map.delete(flag_set) if flag_set_exist?(flag_set)
end