redcrumbs 0.3.5 → 0.3.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,7 +22,7 @@ module Redcrumbs
22
22
 
23
23
  def creator
24
24
  if !self.stored_creator.blank?
25
- creator_class.new(self.stored_creator)
25
+ initialize_creator_from_hash_of_attributes
26
26
  elsif !self.creator_id.blank?
27
27
  full_creator
28
28
  end
@@ -32,18 +32,30 @@ module Redcrumbs
32
32
  Redcrumbs.creator_class_sym.to_s.classify.constantize
33
33
  end
34
34
 
35
+ def initialize_creator_from_hash_of_attributes
36
+ self._creator ||= creator_class.new(self.stored_creator.reject {|attribute| [:id].include?(attribute.to_sym)})
37
+ self._creator.id ||= self.stored_creator["id"] if self._creator.has_attribute?(:id) && self.stored_creator.has_key?("id")
38
+ self._creator
39
+ end
40
+
35
41
  def full_creator
36
42
  self._creator = creator_class.where(Redcrumbs.creator_primary_key => self.creator_id).first
37
43
  end
38
44
 
39
45
  def target
40
46
  if !self.stored_target.blank?
41
- target_class.new(self.stored_target)
47
+ initialize_target_from_hash_of_attributes
42
48
  elsif !self.target_id.blank?
43
49
  full_target
44
50
  end
45
51
  end
46
52
 
53
+ def initialize_target_from_hash_of_attributes
54
+ self._target ||= target_class.new(self.stored_target.reject {|attribute| [:id].include?(attribute.to_sym)})
55
+ self._target.id ||= self.stored_target["id"] if self._target.has_attribute?(:id) && self.stored_target.has_key?("id")
56
+ self._target
57
+ end
58
+
47
59
  def target_class
48
60
  self._target ||= Redcrumbs.target_class_sym.to_s.classify.constantize
49
61
  end
@@ -1,3 +1,3 @@
1
1
  module Redcrumbs
2
- VERSION = "0.3.5"
2
+ VERSION = "0.3.8"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redcrumbs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.3.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,12 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-11 00:00:00.000000000 +01:00
12
+ date: 2012-09-12 00:00:00.000000000 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: data_mapper
17
- requirement: &2152028680 !ruby/object:Gem::Requirement
17
+ requirement: &2152263540 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 1.2.0
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2152028680
25
+ version_requirements: *2152263540
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: dm-redis-adapter
28
- requirement: &2152021800 !ruby/object:Gem::Requirement
28
+ requirement: &2152263040 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,7 +33,7 @@ dependencies:
33
33
  version: 0.6.2
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *2152021800
36
+ version_requirements: *2152263040
37
37
  description: Fast and unobtrusive activity tracking of ActiveRecord models using DataMapper
38
38
  and Redis
39
39
  email: