class Togls::RuleTypeRegistry
Public Class Methods
new(rule_type_repository)
click to toggle source
# File lib/togls/rule_type_registry.rb, line 3 def initialize(rule_type_repository) @rule_type_repository = rule_type_repository end
Public Instance Methods
expand(&block)
click to toggle source
# File lib/togls/rule_type_registry.rb, line 7 def expand(&block) instance_eval(&block) self end
get(type_id)
click to toggle source
# File lib/togls/rule_type_registry.rb, line 30 def get(type_id) @rule_type_repository.get_klass(type_id) end
get_type_id(klass_string)
click to toggle source
# File lib/togls/rule_type_registry.rb, line 34 def get_type_id(klass_string) @rule_type_repository.get_type_id(klass_string) end
register(type_id, klass)
click to toggle source
# File lib/togls/rule_type_registry.rb, line 12 def register(type_id, klass) verify_uniqueness_of_type_id(type_id) verify_uniqueness_of_rule_type_klass(klass) @rule_type_repository.store(type_id, klass) end
verify_uniqueness_of_rule_type_klass(klass)
click to toggle source
# File lib/togls/rule_type_registry.rb, line 24 def verify_uniqueness_of_rule_type_klass(klass) if @rule_type_repository.include_klass?(klass) raise RuleTypeAlreadyDefined, "Rule Type with class '#{klass}' has already been registered" end end
verify_uniqueness_of_type_id(type_id)
click to toggle source
# File lib/togls/rule_type_registry.rb, line 18 def verify_uniqueness_of_type_id(type_id) if @rule_type_repository.include?(type_id) raise RuleTypeAlreadyDefined, "Rule Type identified by '#{type_id}' has already been registered" end end