Class: SplitIoClient::Cache::Repositories::MemoryFlagSetsRepository
- Inherits:
-
Object
- Object
- SplitIoClient::Cache::Repositories::MemoryFlagSetsRepository
- Defined in:
- lib/splitclient-rb/cache/repositories/flag_sets/memory_repository.rb
Instance Method Summary collapse
- #add_feature_flag_to_flag_set(flag_set, feature_flag) ⇒ Object
- #add_flag_set(flag_set) ⇒ Object
- #flag_set_exist?(flag_set) ⇒ Boolean
- #get_flag_sets(flag_sets) ⇒ Object
-
#initialize(flag_sets = []) ⇒ MemoryFlagSetsRepository
constructor
A new instance of MemoryFlagSetsRepository.
- #remove_feature_flag_from_flag_set(flag_set, feature_flag) ⇒ Object
- #remove_flag_set(flag_set) ⇒ Object
Constructor Details
#initialize(flag_sets = []) ⇒ MemoryFlagSetsRepository
Returns a new instance of MemoryFlagSetsRepository.
7 8 9 10 |
# File 'lib/splitclient-rb/cache/repositories/flag_sets/memory_repository.rb', line 7 def initialize(flag_sets = []) @sets_feature_flag_map = {} flag_sets.each{ |flag_set| @sets_feature_flag_map[flag_set] = Set[] } end |
Instance Method Details
#add_feature_flag_to_flag_set(flag_set, feature_flag) ⇒ Object
30 31 32 |
# File 'lib/splitclient-rb/cache/repositories/flag_sets/memory_repository.rb', line 30 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 |
#add_flag_set(flag_set) ⇒ Object
22 23 24 |
# File 'lib/splitclient-rb/cache/repositories/flag_sets/memory_repository.rb', line 22 def add_flag_set(flag_set) @sets_feature_flag_map[flag_set] = Set[] if !flag_set_exist?(flag_set) end |
#flag_set_exist?(flag_set) ⇒ Boolean
12 13 14 |
# File 'lib/splitclient-rb/cache/repositories/flag_sets/memory_repository.rb', line 12 def flag_set_exist?(flag_set) @sets_feature_flag_map.key?(flag_set) end |
#get_flag_sets(flag_sets) ⇒ Object
16 17 18 19 20 |
# File 'lib/splitclient-rb/cache/repositories/flag_sets/memory_repository.rb', line 16 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 |
#remove_feature_flag_from_flag_set(flag_set, feature_flag) ⇒ Object
34 35 36 |
# File 'lib/splitclient-rb/cache/repositories/flag_sets/memory_repository.rb', line 34 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 |
#remove_flag_set(flag_set) ⇒ Object
26 27 28 |
# File 'lib/splitclient-rb/cache/repositories/flag_sets/memory_repository.rb', line 26 def remove_flag_set(flag_set) @sets_feature_flag_map.delete(flag_set) if flag_set_exist?(flag_set) end |