module Togls::FeatureToggleRegistryManager::ClassMethods
Feature
Toggle
Registry Manager Class Methods
The class methods that should be extended onto the module/class when FeatureToggleRegistryManager
is included.
Public Instance Methods
disable_test_mode()
click to toggle source
# File lib/togls/feature_toggle_registry_manager.rb, line 36 def disable_test_mode @release_toggle_registry = @previous_release_toggle_registry end
enable_test_mode()
click to toggle source
# File lib/togls/feature_toggle_registry_manager.rb, line 31 def enable_test_mode @previous_release_toggle_registry = @release_toggle_registry @release_toggle_registry = test_toggle_registry end
feature(key)
click to toggle source
# File lib/togls/feature_toggle_registry_manager.rb, line 27 def feature(key) Toggler.new(release_toggle_registry.instance_variable_get(:@toggle_repository), release_toggle_registry.get(key)) end
release(&block)
click to toggle source
# File lib/togls/feature_toggle_registry_manager.rb, line 16 def release(&block) release_blocks << block if block release_toggle_registry.expand(&block) if block release_toggle_registry end
release_blocks()
click to toggle source
# File lib/togls/feature_toggle_registry_manager.rb, line 23 def release_blocks @release_blocks ||= [] end
test_mode() { || ... }
click to toggle source
# File lib/togls/feature_toggle_registry_manager.rb, line 40 def test_mode enable_test_mode yield disable_test_mode end
Private Instance Methods
feature_repository()
click to toggle source
# File lib/togls/feature_toggle_registry_manager.rb, line 85 def feature_repository if @feature_repository.nil? feature_repository_drivers = [Togls::FeatureRepositoryDrivers::InMemoryDriver.new] @feature_repository = Togls::FeatureRepository.new(feature_repository_drivers) end @feature_repository end
release_toggle_registry()
click to toggle source
# File lib/togls/feature_toggle_registry_manager.rb, line 68 def release_toggle_registry if @release_toggle_registry.nil? toggle_repository_drivers = [ Togls::ToggleRepositoryDrivers::InMemoryDriver.new, Togls::ToggleRepositoryDrivers::EnvOverrideDriver.new ] toggle_repository = Togls::ToggleRepository.new( toggle_repository_drivers, feature_repository) @release_toggle_registry = ToggleRegistry.new(feature_repository, toggle_repository) end @release_toggle_registry end
test_toggle_registry()
click to toggle source
# File lib/togls/feature_toggle_registry_manager.rb, line 48 def test_toggle_registry feature_repository_drivers = [Togls::FeatureRepositoryDrivers::InMemoryDriver.new] test_feature_repository = Togls::FeatureRepository.new( feature_repository_drivers) toggle_repository_drivers = [ Togls::ToggleRepositoryDrivers::InMemoryDriver.new] toggle_repository = Togls::ToggleRepository.new( toggle_repository_drivers, test_feature_repository) tr = ToggleRegistry.new(test_feature_repository, toggle_repository) release_blocks.each do |p| tr.expand(&p) end return tr end