module Togls::RuleManager::ClassMethods
Public Instance Methods
rule(id, type_id, data = nil, target_type: Togls::TargetTypes::NOT_SET)
click to toggle source
# File lib/togls/rule_manager.rb, line 17 def rule(id, type_id, data = nil, target_type: Togls::TargetTypes::NOT_SET) rule_type(type_id).new(id, type_id, data, target_type: target_type) end
rule_type(type_id)
click to toggle source
# File lib/togls/rule_manager.rb, line 13 def rule_type(type_id) rule_type_registry.get(type_id) end
rule_types(&block)
click to toggle source
# File lib/togls/rule_manager.rb, line 8 def rule_types(&block) rule_type_registry.expand(&block) if block rule_type_registry end
Private Instance Methods
register_default_rules()
click to toggle source
# File lib/togls/rule_manager.rb, line 31 def register_default_rules @rule_type_registry.register(:boolean, Togls::Rules::Boolean) @rule_type_registry.register(:group, Togls::Rules::Group) end
rule_repository()
click to toggle source
# File lib/togls/rule_manager.rb, line 51 def rule_repository if @rule_repository.nil? @rule_repository = Togls::RuleRepository.new(rule_repository_drivers) end @rule_repository end
rule_repository_drivers()
click to toggle source
# File lib/togls/rule_manager.rb, line 44 def rule_repository_drivers rule_repository_drivers = [ Togls::RuleRepositoryDrivers::InMemoryDriver.new, Togls::RuleRepositoryDrivers::EnvOverrideDriver.new ] end
rule_type_registry()
click to toggle source
# File lib/togls/rule_manager.rb, line 36 def rule_type_registry if @rule_type_registry.nil? @rule_type_registry = RuleTypeRegistry.new(rule_type_repository) register_default_rules end @rule_type_registry end
rule_type_repository()
click to toggle source
# File lib/togls/rule_manager.rb, line 23 def rule_type_repository if @rule_type_repository.nil? rule_type_repository_drivers = [RuleTypeRepositoryDrivers::InMemoryDriver.new] @rule_type_repository = RuleTypeRepository.new(rule_type_repository_drivers) end @rule_type_repository end