public
Rubygem
Description: Rails Plugin - memoize and store to the db a record attribute generated by any expression or SQL query.
Homepage: http://6brand.com
Clone URL: git://github.com/JackDanger/cached_values.git
Search Repo:
refactored the target-finding code to be a little slimmer
JackDanger (author)
Wed Mar 12 11:29:26 -0700 2008
commit  b2cc7c01c7d61c785f5c4a0f6db6820a2dd9d191
tree    924957b0569ee815b7d537f74de52b085bea9100
parent  8b8b97cb0f8353682c5e75131a5ab11a8fba67f2
...
10
11
12
13
14
15
16
17
18
 
 
19
20
21
22
23
24
 
25
26
27
...
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
...
10
11
12
 
13
14
15
16
 
17
18
19
20
21
22
 
 
23
24
25
26
...
31
32
33
 
 
 
 
 
 
 
 
34
35
36
37
38
39
 
 
 
 
 
 
 
40
41
42
43
 
44
45
46
0
@@ -10,18 +10,17 @@ module ActiveRecord
0
     
0
     def reset
0
       @target = nil
0
- @loaded = false
0
     end
0
 
0
     def load
0
       reset
0
- load_target
0
+ @target = find_target(true)
0
+ update_cache(@target)
0
     end
0
 
0
     def reload
0
       @owner.instance_variable_set("@#{@reflection.name}", nil)
0
- reset
0
- @target = find_target(true)
0
+ load
0
       @owner.send @reflection.name
0
     end
0
     
0
@@ -32,32 +31,16 @@ module ActiveRecord
0
       @owner.instance_variable_set("@#{@reflection.name}", nil)
0
     end
0
 
0
- def loaded?
0
- @loaded
0
- end
0
-
0
- def loaded
0
- @loaded = true
0
- end
0
-
0
     def target
0
       @target
0
     end
0
 
0
     protected
0
       
0
- def load_target
0
- return nil unless defined?(@loaded)
0
- @target = find_target unless loaded?
0
- @loaded = true
0
- @target
0
- end
0
-
0
       def find_target(skip_cache = false)
0
         target = find_target_from_cache unless skip_cache
0
         unless target
0
           target ||= @reflection.options[:sql] ? find_target_by_sql : find_target_by_eval
0
- update_cache(target)
0
         end
0
         target
0
       end

Comments

    No one has commented yet.