Class: Togls::FeatureRepositoryDrivers::InMemoryDriver

Inherits:
Object
  • Object
show all
Defined in:
lib/togls/feature_repository_drivers/in_memory_driver.rb

Overview

Feature Repository In-Memory Driver

The Feature Repository In-Memory Driver provides the facility to store and retrieve features to and from the in-memory store.

Instance Method Summary collapse

Constructor Details

#initializeInMemoryDriver

Returns a new instance of InMemoryDriver.



10
11
12
13
# File 'lib/togls/feature_repository_drivers/in_memory_driver.rb', line 10

def initialize
  @features = {}
  @features_lock = Mutex.new
end

Instance Method Details

#get(feature_id) ⇒ Object



21
22
23
24
25
26
27
28
29
# File 'lib/togls/feature_repository_drivers/in_memory_driver.rb', line 21

def get(feature_id)
  @features_lock.synchronize do
    if @features.has_key?(feature_id)
      Marshal.load(@features[feature_id])
    else
      nil
    end
  end
end

#store(feature_id, feature_data) ⇒ Object



15
16
17
18
19
# File 'lib/togls/feature_repository_drivers/in_memory_driver.rb', line 15

def store(feature_id, feature_data)
  @features_lock.synchronize do
    @features[feature_id] = Marshal.dump(feature_data)
  end
end