changeling 0.0.4 → 0.0.5
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.
- data/README.md +0 -1
- data/lib/changeling/models/logling.rb +12 -5
- data/lib/changeling/version.rb +1 -1
- data/spec/lib/changeling/models/logling_spec.rb +1 -1
- data/spec/lib/changeling/trackling_spec.rb +18 -15
- metadata +21 -27
data/README.md
CHANGED
@@ -152,7 +152,6 @@ against the following interpreters (with corresponding ORM/ODMs) and datastores:
|
|
152
152
|
## TODO
|
153
153
|
|
154
154
|
* Restore state from a Logling
|
155
|
-
* Filter Loglings by which fields have changed.
|
156
155
|
* Performance testing against large data loads.
|
157
156
|
* Sinatra app to monitor changes as they happen in real-time.
|
158
157
|
* Analytics for changes.
|
@@ -74,11 +74,18 @@ module Changeling
|
|
74
74
|
end.results
|
75
75
|
end
|
76
76
|
|
77
|
-
if length
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
77
|
+
results = results.take(length) if length
|
78
|
+
|
79
|
+
# Some apps may return Tire::Results::Item objects in results instead of Changeling objects.
|
80
|
+
results.map { |result|
|
81
|
+
if result.class == Changeling::Models::Logling
|
82
|
+
result
|
83
|
+
elsif result.class == Tire::Results::Item
|
84
|
+
Logling.new(JSON.parse(result.to_json))
|
85
|
+
elsif result.class == Hash
|
86
|
+
Logling.new(result)
|
87
|
+
end
|
88
|
+
}
|
82
89
|
end
|
83
90
|
end
|
84
91
|
|
data/lib/changeling/version.rb
CHANGED
@@ -182,7 +182,7 @@ describe Changeling::Models::Logling do
|
|
182
182
|
|
183
183
|
it "should only return the amount specified" do
|
184
184
|
num = 5
|
185
|
-
@results.should_receive(:take).with(num)
|
185
|
+
@results.should_receive(:take).with(num).and_return([])
|
186
186
|
@klass.records_for(@object, 5)
|
187
187
|
end
|
188
188
|
|
@@ -13,25 +13,28 @@ describe Changeling::Trackling do
|
|
13
13
|
describe "callbacks" do
|
14
14
|
it "should not create a logling when doing the initial save of a new object" do
|
15
15
|
@klass.should_not_receive(:create)
|
16
|
-
@object.
|
16
|
+
@object.run_callbacks(:create)
|
17
17
|
end
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
19
|
+
context "after_update" do
|
20
|
+
it "should create a logling when updating an object and changes are made" do
|
21
|
+
@klass.should_receive(:create)
|
22
|
+
@object.stub(:changes).and_return({ :field => 'value' })
|
23
|
+
end
|
24
24
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
end
|
25
|
+
it "should create a logling when updating an object and changes are empty" do
|
26
|
+
@klass.should_not_receive(:create)
|
27
|
+
@object.stub(:changes).and_return({})
|
28
|
+
end
|
30
29
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
30
|
+
it "should not create a logling when updating an object and no changes have been made" do
|
31
|
+
@klass.should_not_receive(:create)
|
32
|
+
@object.stub(:changes).and_return(nil)
|
33
|
+
end
|
34
|
+
|
35
|
+
after(:each) do
|
36
|
+
@object.run_callbacks(:update)
|
37
|
+
end
|
35
38
|
end
|
36
39
|
end
|
37
40
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: changeling
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-12-
|
12
|
+
date: 2012-12-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: tire
|
16
|
-
requirement: &
|
16
|
+
requirement: &70170915769820 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70170915769820
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: activemodel
|
27
|
-
requirement: &
|
27
|
+
requirement: &70170915767980 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70170915767980
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: mongoid
|
38
|
-
requirement: &
|
38
|
+
requirement: &70170915766520 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - =
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 3.0.3
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70170915766520
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: activerecord
|
49
|
-
requirement: &
|
49
|
+
requirement: &70170915764360 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - =
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 3.2.7
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70170915764360
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: debugger
|
60
|
-
requirement: &
|
60
|
+
requirement: &70170915763160 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70170915763160
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rake
|
71
|
-
requirement: &
|
71
|
+
requirement: &70170915777700 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70170915777700
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: rspec
|
82
|
-
requirement: &
|
82
|
+
requirement: &70170915775660 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70170915775660
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: bson_ext
|
93
|
-
requirement: &
|
93
|
+
requirement: &70170915773840 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70170915773840
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: database_cleaner
|
104
|
-
requirement: &
|
104
|
+
requirement: &70170915771240 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
version: '0'
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *70170915771240
|
113
113
|
description: A simple, yet flexible solution to tracking changes made to objects in
|
114
114
|
your database.
|
115
115
|
email:
|
@@ -151,21 +151,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
151
151
|
- - ! '>='
|
152
152
|
- !ruby/object:Gem::Version
|
153
153
|
version: '0'
|
154
|
-
segments:
|
155
|
-
- 0
|
156
|
-
hash: -473586463949581456
|
157
154
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
158
155
|
none: false
|
159
156
|
requirements:
|
160
157
|
- - ! '>='
|
161
158
|
- !ruby/object:Gem::Version
|
162
159
|
version: '0'
|
163
|
-
segments:
|
164
|
-
- 0
|
165
|
-
hash: -473586463949581456
|
166
160
|
requirements: []
|
167
161
|
rubyforge_project:
|
168
|
-
rubygems_version: 1.8.
|
162
|
+
rubygems_version: 1.8.6
|
169
163
|
signing_key:
|
170
164
|
specification_version: 3
|
171
165
|
summary: Object change-logger
|