redcrumbs 0.2.3 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,12 +6,12 @@ module Redcrumbs
|
|
6
6
|
if !self.stored_subject.blank?
|
7
7
|
subject_from_storage
|
8
8
|
elsif subject_type && subject_id
|
9
|
-
|
9
|
+
full_subject
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
13
13
|
def full_subject
|
14
|
-
subject_type.classify.constantize.find(subject_id)
|
14
|
+
self._subject ||= subject_type.classify.constantize.find(subject_id)
|
15
15
|
end
|
16
16
|
|
17
17
|
def subject_from_storage
|
@@ -24,7 +24,7 @@ module Redcrumbs
|
|
24
24
|
if !self.stored_creator.blank?
|
25
25
|
creator_class.new(self.stored_creator)
|
26
26
|
elsif !self.creator_id.blank?
|
27
|
-
|
27
|
+
full_creator
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
@@ -33,19 +33,19 @@ module Redcrumbs
|
|
33
33
|
end
|
34
34
|
|
35
35
|
def full_creator
|
36
|
-
creator_class.where(Redcrumbs.creator_primary_key => self.creator_id).first
|
36
|
+
self._creator = creator_class.where(Redcrumbs.creator_primary_key => self.creator_id).first
|
37
37
|
end
|
38
38
|
|
39
39
|
def target
|
40
40
|
if !self.stored_target.blank?
|
41
41
|
target_class.new(self.stored_target)
|
42
42
|
elsif !self.target_id.blank?
|
43
|
-
|
43
|
+
full_target
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
47
|
def target_class
|
48
|
-
Redcrumbs.target_class_sym.to_s.classify.constantize
|
48
|
+
self._target ||= Redcrumbs.target_class_sym.to_s.classify.constantize
|
49
49
|
end
|
50
50
|
|
51
51
|
def full_target
|
@@ -3,6 +3,7 @@ module Redcrumbs
|
|
3
3
|
extend ActiveSupport::Concern
|
4
4
|
|
5
5
|
def subject=(subject)
|
6
|
+
self._subject = subject
|
6
7
|
self.stored_subject = subject.storeable_attributes
|
7
8
|
self.subject_type = subject.class.to_s
|
8
9
|
self.subject_id = subject.id
|
@@ -10,6 +11,7 @@ module Redcrumbs
|
|
10
11
|
|
11
12
|
def creator=(creator)
|
12
13
|
unless !creator
|
14
|
+
self._creator = creator
|
13
15
|
self.stored_creator = creator.attributes.select {|attribute| Redcrumbs.store_creator_attributes.include?(attribute.to_sym)}
|
14
16
|
self.creator_id = creator[Redcrumbs.creator_primary_key]
|
15
17
|
end
|
@@ -17,6 +19,7 @@ module Redcrumbs
|
|
17
19
|
|
18
20
|
def target=(target)
|
19
21
|
unless !target
|
22
|
+
self._target = target
|
20
23
|
self.stored_target = target.attributes.select {|attribute| Redcrumbs.store_target_attributes.include?(attribute.to_sym)}
|
21
24
|
self.target_id = target[Redcrumbs.target_primary_key]
|
22
25
|
end
|
@@ -36,8 +36,8 @@ module Redcrumbs
|
|
36
36
|
|
37
37
|
def initialize(params = {})
|
38
38
|
if self.subject = params[:subject]
|
39
|
-
self.target = self.
|
40
|
-
self.creator = self.
|
39
|
+
self.target = self.full_subject.target if self.subject.respond_to?(:target)
|
40
|
+
self.creator = self.full_subject.creator if self.subject.respond_to?(:creator)
|
41
41
|
end
|
42
42
|
self.modifications = params[:modifications] unless !params[:modifications]
|
43
43
|
end
|
data/lib/redcrumbs/version.rb
CHANGED
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.2.
|
4
|
+
version: 0.2.4
|
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-06-
|
12
|
+
date: 2012-06-29 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: &
|
17
|
+
requirement: &2168944780 !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: *
|
25
|
+
version_requirements: *2168944780
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: dm-redis-adapter
|
28
|
-
requirement: &
|
28
|
+
requirement: &2168944280 !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: *
|
36
|
+
version_requirements: *2168944280
|
37
37
|
description: Fast and unobtrusive activity tracking of ActiveRecord models using DataMapper
|
38
38
|
and Redis
|
39
39
|
email:
|