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 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
- results.take(length)
79
- else
80
- results
81
- end
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
 
@@ -1,3 +1,3 @@
1
1
  module Changeling
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -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.run_after_callbacks(:create)
16
+ @object.run_callbacks(:create)
17
17
  end
18
18
 
19
- it "should create a logling when updating an object and changes are made" do
20
- @klass.should_receive(:create)
21
- @object.stub(:changes).and_return({ :field => 'value' })
22
- @object.run_after_callbacks(:update)
23
- end
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
- 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
- @object.run_after_callbacks(:update)
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
- it "should not create a logling when updating an object and no changes have been made" do
32
- @klass.should_not_receive(:create)
33
- @object.stub(:changes).and_return(nil)
34
- @object.run_after_callbacks(:update)
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
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-05 00:00:00.000000000 Z
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: &70120925957500 !ruby/object:Gem::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: *70120925957500
24
+ version_requirements: *70170915769820
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activemodel
27
- requirement: &70120925956900 !ruby/object:Gem::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: *70120925956900
35
+ version_requirements: *70170915767980
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: mongoid
38
- requirement: &70120925956080 !ruby/object:Gem::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: *70120925956080
46
+ version_requirements: *70170915766520
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: activerecord
49
- requirement: &70120925955460 !ruby/object:Gem::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: *70120925955460
57
+ version_requirements: *70170915764360
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: debugger
60
- requirement: &70120925954960 !ruby/object:Gem::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: *70120925954960
68
+ version_requirements: *70170915763160
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
- requirement: &70120925954180 !ruby/object:Gem::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: *70120925954180
79
+ version_requirements: *70170915777700
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rspec
82
- requirement: &70120925953640 !ruby/object:Gem::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: *70120925953640
90
+ version_requirements: *70170915775660
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: bson_ext
93
- requirement: &70120925953060 !ruby/object:Gem::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: *70120925953060
101
+ version_requirements: *70170915773840
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: database_cleaner
104
- requirement: &70120925952440 !ruby/object:Gem::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: *70120925952440
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.15
162
+ rubygems_version: 1.8.6
169
163
  signing_key:
170
164
  specification_version: 3
171
165
  summary: Object change-logger