Module: Redify::Base::ClassMethods

Defined in:
lib/redify/base.rb

Instance Method Summary collapse

Instance Method Details

#redify(options = {}) ⇒ Object

Call this from an ActiveRecord model to activate Redify features.



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/redify/base.rb', line 9

def redify(options = {})
  
  # includes main Redify functionality
  __send__ :include, Redify::Model

  # Redis handler for the model, if specified
  __send__ :redify_handler=, options[:through]
  
  # caches some keys to avoid unnecessary calls to get_*_key_name_for() methods
  __send__ :redify_keys=, {
    :resource => Redify::Core.get_namespaced_key_name_for(:resource => self),
    :all => Redify::Core.get_namespaced_key_name_for(:resource => self, :collection => "All")
  }

  # load data into Redis for the first time
  Redify::Core.initialize_resource(self)

  # hooks
  after_create lambda { Redify::Core.after_create(self) }
  after_save lambda { Redify::Core.after_save(self) }
  after_destroy lambda { Redify::Core.after_destroy(self) }

end