Module: Kiki::ClassMethods

Defined in:
lib/kiki.rb

Instance Method Summary collapse

Instance Method Details

#cache_key(namespace, options = {}) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/kiki.rb', line 14

def cache_key(namespace, options = {})
  class_eval("    class << self\n      @@\#{namespace}_key = Key.new \"\#{namespace}\",\n                                   \"\#{options[:delimiter] || \":\"}\",\n                                   \"\#{options[:domain] || self.name.downcase.pluralize}\",\n                                   :\"\#{options[:identifier] || :id}\"\n\n      def \#{namespace}_key(*args)\n        return args.empty? ? @@\#{namespace}_key : @@\#{namespace}_key.for(*args)\n      end\n    end\n\n    def \#{namespace}_key(*args)\n      return self.class.\#{namespace}_key(*[self, *args])\n    end\n  EVAL\n\n  return self.send(\"\#{namespace}_key\")\nend\n", __FILE__, __LINE__)