class Togls::RuleRepositoryDrivers::InMemoryDriver

Rule Repository In-Memory Driver

The Rule Repository In-Memory Driver provides the interface to store and retrieve rules. This is intended to be used by a Rule Repository instance.

Public Class Methods

new() click to toggle source
# File lib/togls/rule_repository_drivers/in_memory_driver.rb, line 10
def initialize
  @rules = {}
  @rules_lock = Mutex.new
end

Public Instance Methods

get(rule_id) click to toggle source
# File lib/togls/rule_repository_drivers/in_memory_driver.rb, line 21
def get(rule_id)
  @rules_lock.synchronize do
    if @rules.has_key?(rule_id)
      Marshal.load(@rules[rule_id])
    else
      nil
    end
  end
end
store(rule_id, rule_data) click to toggle source
# File lib/togls/rule_repository_drivers/in_memory_driver.rb, line 15
def store(rule_id, rule_data)
  @rules_lock.synchronize do
    @rules[rule_id] = Marshal.dump(rule_data)
  end
end