Module: Familia::RedisType::ClassMethods
- Included in:
- Familia::RedisType
- Defined in:
- lib/familia/redistype.rb
Instance Method Summary collapse
- #db(val = nil) ⇒ Object
- #has_relations? ⇒ Boolean
- #inherited(obj) ⇒ Object
-
#register(klass, methname) ⇒ Object
To be called inside every class that inherits RedisType
methname
is the term used for the class and instance methods that are created for the givenklass
(e.g. set, list, etc). - #uri(val = nil) ⇒ Object
- #valid_keys_only(opts) ⇒ Object
Instance Method Details
#db(val = nil) ⇒ Object
41 42 43 44 |
# File 'lib/familia/redistype.rb', line 41 def db(val = nil) @db = val unless val.nil? @db || parent&.db end |
#has_relations? ⇒ Boolean
64 65 66 |
# File 'lib/familia/redistype.rb', line 64 def has_relations? @has_relations ||= false end |
#inherited(obj) ⇒ Object
51 52 53 54 55 56 57 58 |
# File 'lib/familia/redistype.rb', line 51 def inherited(obj) Familia.trace :REDISTYPE, nil, "#{obj} is my kinda type", caller(1..1) if Familia.debug? obj.db = db obj.ttl = ttl # method added via Features::Expiration obj.uri = uri obj.parent = self super(obj) end |
#register(klass, methname) ⇒ Object
To be called inside every class that inherits RedisType methname
is the term used for the class and instance methods that are created for the given klass
(e.g. set, list, etc)
35 36 37 38 39 |
# File 'lib/familia/redistype.rb', line 35 def register(klass, methname) Familia.ld "[#{self}] Registering #{klass} as #{methname.inspect}" @registered_types[methname] = klass end |
#uri(val = nil) ⇒ Object
46 47 48 49 |
# File 'lib/familia/redistype.rb', line 46 def uri(val = nil) @uri = val unless val.nil? @uri || (parent ? parent.uri : Familia.uri) end |
#valid_keys_only(opts) ⇒ Object
60 61 62 |
# File 'lib/familia/redistype.rb', line 60 def valid_keys_only(opts) opts.select { |k, _| RedisType..include? k } end |