Class: MockRedis
- Inherits:
-
Object
show all
- Includes:
- UndefRedisMethods
- Defined in:
- lib/mock_redis/version.rb,
lib/mock_redis.rb,
lib/mock_redis/zset.rb,
lib/mock_redis/future.rb,
lib/mock_redis/stream.rb,
lib/mock_redis/database.rb,
lib/mock_redis/stream/id.rb,
lib/mock_redis/assertions.rb,
lib/mock_redis/exceptions.rb,
lib/mock_redis/info_method.rb,
lib/mock_redis/set_methods.rb,
lib/mock_redis/sort_method.rb,
lib/mock_redis/hash_methods.rb,
lib/mock_redis/list_methods.rb,
lib/mock_redis/zset_methods.rb,
lib/mock_redis/expire_wrapper.rb,
lib/mock_redis/stream_methods.rb,
lib/mock_redis/string_methods.rb,
lib/mock_redis/utility_methods.rb,
lib/mock_redis/indifferent_hash.rb,
lib/mock_redis/multi_db_wrapper.rb,
lib/mock_redis/connection_method.rb,
lib/mock_redis/pipelined_wrapper.rb,
lib/mock_redis/geospatial_methods.rb,
lib/mock_redis/transaction_wrapper.rb,
lib/mock_redis/undef_redis_methods.rb
Overview
TODO: Implement the following commands
* xgroup
* xreadgroup
* xack
* xpending
* xclaim
* xinfo
* xtrim
* xdel
TODO: Complete support for
* xtrim
- `approximate: true` argument is currently ignored
* xadd
- `approximate: true` argument (for capped streams) is currently ignored
For details of these commands see
* https://redis.io/topics/streams-intro
* https://redis.io/commands#stream
Defined Under Namespace
Modules: Assertions, ConnectionMethod, GeospatialMethods, HashMethods, InfoMethod, ListMethods, SetMethods, SortMethod, StreamMethods, StringMethods, UndefRedisMethods, UtilityMethods, ZsetMethods
Classes: Database, ExpireWrapper, Future, FutureNotReady, IndifferentHash, MultiDbWrapper, PipelinedWrapper, Stream, TransactionWrapper, Zset
Constant Summary
collapse
- DEFAULTS =
{
:scheme => 'redis',
:host => '127.0.0.1',
:port => 6379,
:path => nil,
:timeout => 5.0,
:password => nil,
:logger => nil,
:db => 0,
:time_class => Time,
}.freeze
- VERSION =
'0.40.0'
- WouldBlock =
Class.new(StandardError)
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
included
Constructor Details
#initialize(*args) ⇒ MockRedis
Returns a new instance of MockRedis.
Instance Attribute Details
#options ⇒ Object
Returns the value of attribute options.
15
16
17
|
# File 'lib/mock_redis.rb', line 15
def options
@options
end
|
Class Method Details
.connect(*args) ⇒ Object
29
30
31
|
# File 'lib/mock_redis.rb', line 29
def self.connect(*args)
new(*args)
end
|
Instance Method Details
#client ⇒ Object
72
73
74
|
# File 'lib/mock_redis.rb', line 72
def client
self
end
|
#connect ⇒ Object
76
77
78
|
# File 'lib/mock_redis.rb', line 76
def connect
self
end
|
#db ⇒ Object
60
61
62
|
# File 'lib/mock_redis.rb', line 60
def db
options[:db]
end
|
#host ⇒ Object
52
53
54
|
# File 'lib/mock_redis.rb', line 52
def host
options[:host]
end
|
#id ⇒ Object
Also known as:
location
47
48
49
|
# File 'lib/mock_redis.rb', line 47
def id
"redis://#{host}:#{port}/#{db}"
end
|
#initialize_copy(source) ⇒ Object
98
99
100
101
|
# File 'lib/mock_redis.rb', line 98
def initialize_copy(source)
super
@db = @db.clone
end
|
#logger ⇒ Object
64
65
66
|
# File 'lib/mock_redis.rb', line 64
def logger
options[:logger]
end
|
#port ⇒ Object
56
57
58
|
# File 'lib/mock_redis.rb', line 56
def port
options[:port]
end
|
#reconnect ⇒ Object
80
81
82
|
# File 'lib/mock_redis.rb', line 80
def reconnect
self
end
|
#respond_to?(method, include_private = false) ⇒ Boolean
88
89
90
|
# File 'lib/mock_redis.rb', line 88
def respond_to?(method, include_private = false)
super || @db.respond_to?(method, include_private)
end
|
#time_at(timestamp) ⇒ Object
68
69
70
|
# File 'lib/mock_redis.rb', line 68
def time_at(timestamp)
options[:time_class].at(timestamp)
end
|
#with {|_self| ... } ⇒ Object
84
85
86
|
# File 'lib/mock_redis.rb', line 84
def with
yield self
end
|