10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/railhead_memorize.rb', line 10
def memorize(key)
class_eval " alias \#{key}_unmemorized \#{key}\n\n def memorize_\#{key}\n unless frozen?\n _memorize_\#{key} = \#{key}_unmemorized\n if respond_to?(:memorized_\#{key}) and (memorized_\#{key}.blank? or MultiJson.load(memorized_\#{key}) != _memorize_\#{key})\n update_column :memorized_\#{key}, MultiJson.dump(_memorize_\#{key})\n end\n @_\#{key} = _memorize_\#{key}\n end\n end\n\n def \#{key}\n @_\#{key} ||= if respond_to?(:memorized_\#{key})\n if memorized_\#{key}.blank?\n memorize_\#{key}\n else\n begin\n MultiJson.load(memorized_\#{key})\n rescue\n memorize_\#{key}\n end\n end\n else\n \#{key}_unmemorized\n end\n end\n END\nend\n"
|