class Kimurai::Base::Storage
Attributes
database[R]
Public Class Methods
new()
click to toggle source
# File lib/kimurai/base/storage.rb, line 6 def initialize @mutex = Mutex.new @database = {} end
Public Instance Methods
add(scope, value)
click to toggle source
# File lib/kimurai/base/storage.rb, line 24 def add(scope, value) @mutex.synchronize do database[scope] ||= [] if value.kind_of?(Array) database[scope] += value database[scope].uniq! else database[scope].push(value) unless database[scope].include?(value) end end end
all(scope = nil)
click to toggle source
# File lib/kimurai/base/storage.rb, line 11 def all(scope = nil) @mutex.synchronize do scope ? database.fetch(scope, []) : database end end
clear!()
click to toggle source
# File lib/kimurai/base/storage.rb, line 47 def clear! @mutex.synchronize do @database = {} end end
include?(scope, value)
click to toggle source
# File lib/kimurai/base/storage.rb, line 17 def include?(scope, value) @mutex.synchronize do database[scope] ||= [] database[scope].include?(value) end end
unique?(scope, value)
click to toggle source
# File lib/kimurai/base/storage.rb, line 38 def unique?(scope, value) @mutex.synchronize do database[scope] ||= [] database[scope].include?(value) ? false : database[scope].push(value) and true end end