Module: Zermelo
- Defined in:
- lib/zermelo/filters/redis.rb,
lib/zermelo.rb,
lib/zermelo/filter.rb,
lib/zermelo/record.rb,
lib/zermelo/backend.rb,
lib/zermelo/version.rb,
lib/zermelo/ordered_set.rb,
lib/zermelo/records/key.rb,
lib/zermelo/records/stub.rb,
lib/zermelo/backends/stub.rb,
lib/zermelo/locks/no_lock.rb,
lib/zermelo/records/redis.rb,
lib/zermelo/backends/redis.rb,
lib/zermelo/records/errors.rb,
lib/zermelo/filters/influxdb.rb,
lib/zermelo/locks/redis_lock.rb,
lib/zermelo/records/influxdb.rb,
lib/zermelo/backends/influxdb.rb,
lib/zermelo/associations/index.rb,
lib/zermelo/records/attributes.rb,
lib/zermelo/filters/index_range.rb,
lib/zermelo/associations/multiple.rb,
lib/zermelo/associations/singular.rb,
lib/zermelo/records/class_methods.rb,
lib/zermelo/filters/steps/set_step.rb,
lib/zermelo/records/type_validator.rb,
lib/zermelo/associations/index_data.rb,
lib/zermelo/filters/steps/base_step.rb,
lib/zermelo/filters/steps/list_step.rb,
lib/zermelo/filters/steps/sort_step.rb,
lib/zermelo/associations/range_index.rb,
lib/zermelo/filters/steps/empty_step.rb,
lib/zermelo/records/instance_methods.rb,
lib/zermelo/associations/unique_index.rb,
lib/zermelo/associations/class_methods.rb,
lib/zermelo/associations/association_data.rb
Overview
TODO update other side of associations without having to load the record (?) TODO callbacks on before/after add/delete on association?
Defined Under Namespace
Modules: Associations, Backend, Backends, Filter, Filters, Locks, Record, Records
Classes: ConnectionProxy, LockNotAcquired, OrderedSet, ZermeloError
Constant Summary
collapse
- ATTRIBUTE_TYPES =
acceptable class types, which will be normalized on a per-backend basis
{:string => [String],
:integer => [Integer],
:float => [Float],
:id => [String],
:timestamp => [Integer, Time, DateTime],
:boolean => [TrueClass, FalseClass],
}
- COLLECTION_TYPES =
{:list => [Enumerable],
:set => [Set],
:hash => [Hash],
:sorted_set => [Enumerable]
}
- ALL_TYPES =
ATTRIBUTE_TYPES.merge(COLLECTION_TYPES)
- VERSION =
'1.4.3'
Class Method Summary
collapse
Class Method Details
.influxdb=(connection) ⇒ Object
58
59
60
|
# File 'lib/zermelo.rb', line 58
def influxdb=(connection)
Thread.current[:zermelo_influxdb] = Zermelo::ConnectionProxy.new(connection)
end
|
.logger ⇒ Object
73
74
75
|
# File 'lib/zermelo.rb', line 73
def logger
Thread.current[:zermelo_logger]
end
|
.logger=(l) ⇒ Object
69
70
71
|
# File 'lib/zermelo.rb', line 69
def logger=(l)
Thread.current[:zermelo_logger] = l
end
|
.redis=(connection) ⇒ Object
52
53
54
55
56
|
# File 'lib/zermelo.rb', line 52
def redis=(connection)
Thread.current[:zermelo_redis] = connection.nil? ? nil :
Zermelo::ConnectionProxy.new(connection)
Thread.current[:zermelo_redis_version] = nil
end
|
.redis_version ⇒ Object
62
63
64
65
66
67
|
# File 'lib/zermelo.rb', line 62
def redis_version
return nil if Zermelo.redis.nil?
rv = Thread.current[:zermelo_redis_version]
return rv unless rv.nil?
Thread.current[:zermelo_redis_version] = Zermelo.redis.info['redis_version']
end
|
.valid_type?(type) ⇒ Boolean
41
42
43
|
# File 'lib/zermelo.rb', line 41
def valid_type?(type)
ALL_TYPES.keys.include?(type)
end
|