class Togls::RuleTypeRepositoryDrivers::InMemoryDriver
Public Class Methods
new()
click to toggle source
# File lib/togls/rule_type_repository_drivers/in_memory_driver.rb, line 4 def initialize @rule_types = {} @rule_type_meta_data = {} @type_ids = {} @rule_types_lock = Mutex.new end
Public Instance Methods
get_klass(type_id)
click to toggle source
# File lib/togls/rule_type_repository_drivers/in_memory_driver.rb, line 21 def get_klass(type_id) @rule_types_lock.synchronize do if @rule_types.has_key?(type_id) @rule_types[type_id].dup else nil end end end
get_type_id(klass_str)
click to toggle source
# File lib/togls/rule_type_repository_drivers/in_memory_driver.rb, line 41 def get_type_id(klass_str) @rule_types_lock.synchronize do if @type_ids.has_key?(klass_str) @type_ids[klass_str].dup else nil end end end
get_type_meta_data(type_id)
click to toggle source
# File lib/togls/rule_type_repository_drivers/in_memory_driver.rb, line 31 def get_type_meta_data(type_id) @rule_types_lock.synchronize do if @rule_types.has_key?(type_id) @rule_type_meta_data[type_id].dup else nil end end end
store(type_id, klass_str, title, description, target_type)
click to toggle source
# File lib/togls/rule_type_repository_drivers/in_memory_driver.rb, line 11 def store(type_id, klass_str, title, description, target_type) @rule_types_lock.synchronize do @rule_types[type_id] = klass_str @rule_type_meta_data[type_id] = { title: title, description: description, target_type: target_type } @type_ids[klass_str] = type_id end end