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__)
|