Sha256: a0f91fa4c6e0aa6c1c0f31f224eef04580213b1940bfaa0b677858a56591a79a
Contents?: true
Size: 660 Bytes
Versions: 15
Compression:
Stored size: 660 Bytes
Contents
class MockRedis module UtilityMethods private def with_thing_at(key, assertion, empty_thing_generator) begin send(assertion, key) data[key] ||= empty_thing_generator.call data_key_ref = data[key] ret = yield data[key] data[key] = data_key_ref if data[key].nil? primitive?(ret) ? ret.dup : ret ensure clean_up_empties_at(key) end end def primitive?(value) value.kind_of?(::Array) || value.kind_of?(::Hash) || value.kind_of?(::String) end def clean_up_empties_at(key) if data[key] && data[key].empty? del(key) end end end end
Version data entries
15 entries across 15 versions & 1 rubygems