Module: Modis

Defined in:
lib/modis.rb,
lib/modis/index.rb,
lib/modis/model.rb,
lib/modis/errors.rb,
lib/modis/finder.rb,
lib/modis/version.rb,
lib/modis/attribute.rb,
lib/modis/persistence.rb,
lib/modis/transaction.rb,
lib/modis/configuration.rb

Defined Under Namespace

Modules: Attribute, Errors, Finder, Index, Model, Persistence, Transaction Classes: AttributeCoercionError, AttributeError, Configuration, IndexError, ModisError, RecordInvalid, RecordNotFound, RecordNotSaved, UnsupportedAttributeType

Constant Summary collapse

VERSION =
'4.0.0'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configObject (readonly)

Returns the value of attribute config.



12
13
14
# File 'lib/modis/configuration.rb', line 12

def config
  @config
end

.connection_poolObject



38
39
40
41
42
43
44
45
# File 'lib/modis.rb', line 38

def connection_pool
  return @connection_pool if @connection_pool

  @mutex.synchronize do
    options = { size: connection_pool_size, timeout: connection_pool_timeout }
    @connection_pool = ConnectionPool.new(options) { Redis.new(redis_options) }
  end
end

.connection_pool_sizeObject



30
31
32
# File 'lib/modis.rb', line 30

def connection_pool_size
  @connection_pool_size ||= 5
end

.connection_pool_timeoutObject



34
35
36
# File 'lib/modis.rb', line 34

def connection_pool_timeout
  @connection_pool_timeout ||= 5
end

.redis_optionsObject



26
27
28
# File 'lib/modis.rb', line 26

def redis_options
  @redis_options ||= {}
end

Class Method Details

.configure {|config| ... } ⇒ Object

Yields:



4
5
6
# File 'lib/modis/configuration.rb', line 4

def self.configure
  yield config
end

.with_connectionObject



47
48
49
# File 'lib/modis.rb', line 47

def with_connection
  connection_pool.with { |connection| yield(connection) }
end