Module: AsyncStorage
  
  
  
  
  
  
  
  
  
  
  
  
    - Defined in:
- lib/async_storage.rb,
 lib/async_storage/json.rb,
 lib/async_storage/repo.rb,
 lib/async_storage/config.rb,
 lib/async_storage/naming.rb,
 lib/async_storage/version.rb,
 lib/async_storage/redis_pool.rb,
 lib/async_storage/bath_actions.rb,
 lib/async_storage/util/strings.rb
 
Defined Under Namespace
  
    
      Modules: JSON, Util
    
  
    
      Classes: Config, Error, InvalidConfig, Naming, RedisPool, Repo
    
  
  
    
      Constant Summary
      collapse
    
    
      
        - VERSION =
          
        
- '0.0.1' 
      Class Method Summary
      collapse
    
    
  
  
    Class Method Details
    
      
  
  
    .[](klass, **options)  ⇒ Object 
  
  
  
  
    | 
16
17
18 | # File 'lib/async_storage.rb', line 16
def [](klass, **options)
  Repo.new(klass, **options)
end | 
 
    
      
  
  
    .config  ⇒ Object 
  
  
  
  
    | 
20
21
22 | # File 'lib/async_storage.rb', line 20
def config
  @config ||= Config.new
end | 
 
    
      
  
  
    | 
24
25
26
27
28
29
30 | # File 'lib/async_storage.rb', line 24
def configure(&block)
  return unless block_given?
  config.instance_eval(&block)
  @redis_pool = nil
  config
end | 
 
    
      
  
  
    .flush_all  ⇒ Object 
  
  
  
  
    | 
6
7
8
9
10 | # File 'lib/async_storage/bath_actions.rb', line 6
def flush_all
  keys.inject(0) do |total, (key, cli)|
    total + cli.del(key)
  end
end | 
 
    
      
  
  
    .keys  ⇒ Object 
  
  
  
  
    | 
12
13
14
15
16
17
18 | # File 'lib/async_storage/bath_actions.rb', line 12
def keys
  Enumerator.new do |yielder|
    redis_pool.with do |cli|
      cli.keys("#{config.namespace}:*").each { |key| yielder.yield(key, cli) }
    end
  end
end | 
 
    
      
  
  
    .redis_pool  ⇒ Object 
  
  
  
  
    | 
32
33
34 | # File 'lib/async_storage.rb', line 32
def redis_pool
  @redis_pool ||= RedisPool.new(config.redis)
end |