bullet 2.3.1 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +5 -0
- data/Gemfile +3 -1
- data/Gemfile.lock +43 -32
- data/Gemfile.rails-2.3.14 +16 -0
- data/Gemfile.rails-2.3.14.lock +65 -0
- data/Gemfile.rails-3.0.12 +17 -0
- data/Gemfile.rails-3.0.12.lock +116 -0
- data/Gemfile.rails-3.1.4 +18 -0
- data/Gemfile.rails-3.1.4.lock +134 -0
- data/README.textile +5 -5
- data/lib/bullet.rb +15 -9
- data/lib/bullet/active_record2.rb +12 -0
- data/lib/bullet/active_record3.rb +12 -0
- data/lib/bullet/detector/association.rb +11 -12
- data/lib/bullet/detector/counter.rb +6 -6
- data/lib/bullet/detector/n_plus_one_query.rb +9 -9
- data/lib/bullet/detector/unused_eager_association.rb +9 -9
- data/lib/bullet/ext/object.rb +5 -0
- data/lib/bullet/ext/string.rb +5 -0
- data/lib/bullet/mongoid.rb +56 -0
- data/lib/bullet/registry/object.rb +4 -6
- data/lib/bullet/version.rb +1 -1
- data/spec/bullet/detector/association_spec.rb +14 -14
- data/spec/bullet/detector/counter_spec.rb +8 -9
- data/spec/bullet/detector/n_plus_one_query_spec.rb +22 -22
- data/spec/bullet/detector/unused_eager_association_spec.rb +7 -7
- data/spec/bullet/ext/object_spec.rb +20 -0
- data/spec/bullet/ext/string_spec.rb +13 -0
- data/spec/bullet/registry/object_spec.rb +4 -4
- data/spec/integration/association_spec.rb +463 -401
- data/spec/integration/counter_spec.rb +27 -25
- data/spec/integration/mongoid/association_spec.rb +276 -0
- data/spec/integration/rails2/association_spec.rb +593 -0
- data/spec/integration/rails2/counter_spec.rb +39 -0
- data/spec/models/mongoid/address.rb +5 -0
- data/spec/models/mongoid/category.rb +6 -0
- data/spec/models/mongoid/comment.rb +5 -0
- data/spec/models/mongoid/company.rb +5 -0
- data/spec/models/mongoid/entry.rb +5 -0
- data/spec/models/mongoid/post.rb +8 -0
- data/spec/models/post.rb +12 -6
- data/spec/spec_helper.rb +32 -8
- data/spec/support/bullet_ext.rb +1 -1
- data/spec/support/mongo_seed.rb +41 -0
- data/spec/support/{seed.rb → sqlite_seed.rb} +1 -22
- data/test.result +2293 -0
- metadata +42 -22
- data/spec/integration/association_for_chris_spec.rb +0 -37
- data/spec/integration/association_for_peschkaj_spec.rb +0 -26
- data/spec/models/contact.rb +0 -3
- data/spec/models/deal.rb +0 -4
- data/spec/models/email.rb +0 -3
- data/spec/models/hotel.rb +0 -4
- data/spec/models/location.rb +0 -3
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bullet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
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
|
+
date: 2012-05-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: uniform_notifier
|
16
|
-
requirement: &
|
16
|
+
requirement: &70311383422560 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: 1.0.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70311383422560
|
25
25
|
description: A rails plugin to kill N+1 queries and unused eager loading.
|
26
26
|
email:
|
27
27
|
- flyerhzm@gmail.com
|
@@ -36,6 +36,12 @@ files:
|
|
36
36
|
- .travis.yml
|
37
37
|
- Gemfile
|
38
38
|
- Gemfile.lock
|
39
|
+
- Gemfile.rails-2.3.14
|
40
|
+
- Gemfile.rails-2.3.14.lock
|
41
|
+
- Gemfile.rails-3.0.12
|
42
|
+
- Gemfile.rails-3.0.12.lock
|
43
|
+
- Gemfile.rails-3.1.4
|
44
|
+
- Gemfile.rails-3.1.4.lock
|
39
45
|
- Guardfile
|
40
46
|
- Hacking.textile
|
41
47
|
- MIT-LICENSE
|
@@ -54,6 +60,9 @@ files:
|
|
54
60
|
- lib/bullet/detector/counter.rb
|
55
61
|
- lib/bullet/detector/n_plus_one_query.rb
|
56
62
|
- lib/bullet/detector/unused_eager_association.rb
|
63
|
+
- lib/bullet/ext/object.rb
|
64
|
+
- lib/bullet/ext/string.rb
|
65
|
+
- lib/bullet/mongoid.rb
|
57
66
|
- lib/bullet/notification.rb
|
58
67
|
- lib/bullet/notification/base.rb
|
59
68
|
- lib/bullet/notification/counter_cache.rb
|
@@ -73,6 +82,8 @@ files:
|
|
73
82
|
- spec/bullet/detector/counter_spec.rb
|
74
83
|
- spec/bullet/detector/n_plus_one_query_spec.rb
|
75
84
|
- spec/bullet/detector/unused_eager_association_spec.rb
|
85
|
+
- spec/bullet/ext/object_spec.rb
|
86
|
+
- spec/bullet/ext/string_spec.rb
|
76
87
|
- spec/bullet/notification/base_spec.rb
|
77
88
|
- spec/bullet/notification/counter_cache_spec.rb
|
78
89
|
- spec/bullet/notification/n_plus_one_query_spec.rb
|
@@ -82,10 +93,11 @@ files:
|
|
82
93
|
- spec/bullet/registry/association_spec.rb
|
83
94
|
- spec/bullet/registry/base_spec.rb
|
84
95
|
- spec/bullet/registry/object_spec.rb
|
85
|
-
- spec/integration/association_for_chris_spec.rb
|
86
|
-
- spec/integration/association_for_peschkaj_spec.rb
|
87
96
|
- spec/integration/association_spec.rb
|
88
97
|
- spec/integration/counter_spec.rb
|
98
|
+
- spec/integration/mongoid/association_spec.rb
|
99
|
+
- spec/integration/rails2/association_spec.rb
|
100
|
+
- spec/integration/rails2/counter_spec.rb
|
89
101
|
- spec/models/address.rb
|
90
102
|
- spec/models/author.rb
|
91
103
|
- spec/models/base_user.rb
|
@@ -94,16 +106,17 @@ files:
|
|
94
106
|
- spec/models/client.rb
|
95
107
|
- spec/models/comment.rb
|
96
108
|
- spec/models/company.rb
|
97
|
-
- spec/models/contact.rb
|
98
109
|
- spec/models/country.rb
|
99
|
-
- spec/models/deal.rb
|
100
110
|
- spec/models/document.rb
|
101
|
-
- spec/models/email.rb
|
102
111
|
- spec/models/entry.rb
|
103
112
|
- spec/models/firm.rb
|
104
113
|
- spec/models/folder.rb
|
105
|
-
- spec/models/
|
106
|
-
- spec/models/
|
114
|
+
- spec/models/mongoid/address.rb
|
115
|
+
- spec/models/mongoid/category.rb
|
116
|
+
- spec/models/mongoid/comment.rb
|
117
|
+
- spec/models/mongoid/company.rb
|
118
|
+
- spec/models/mongoid/entry.rb
|
119
|
+
- spec/models/mongoid/post.rb
|
107
120
|
- spec/models/newspaper.rb
|
108
121
|
- spec/models/page.rb
|
109
122
|
- spec/models/person.rb
|
@@ -117,9 +130,11 @@ files:
|
|
117
130
|
- spec/models/writer.rb
|
118
131
|
- spec/spec_helper.rb
|
119
132
|
- spec/support/bullet_ext.rb
|
133
|
+
- spec/support/mongo_seed.rb
|
120
134
|
- spec/support/rack_double.rb
|
121
|
-
- spec/support/
|
135
|
+
- spec/support/sqlite_seed.rb
|
122
136
|
- tasks/bullet_tasks.rake
|
137
|
+
- test.result
|
123
138
|
homepage: http://github.com/flyerhzm/bullet
|
124
139
|
licenses: []
|
125
140
|
post_install_message:
|
@@ -134,7 +149,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
134
149
|
version: '0'
|
135
150
|
segments:
|
136
151
|
- 0
|
137
|
-
hash:
|
152
|
+
hash: -3387566190207483190
|
138
153
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
139
154
|
none: false
|
140
155
|
requirements:
|
@@ -143,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
143
158
|
version: 1.3.6
|
144
159
|
requirements: []
|
145
160
|
rubyforge_project:
|
146
|
-
rubygems_version: 1.8.
|
161
|
+
rubygems_version: 1.8.15
|
147
162
|
signing_key:
|
148
163
|
specification_version: 3
|
149
164
|
summary: A rails plugin to kill N+1 queries and unused eager loading.
|
@@ -153,6 +168,8 @@ test_files:
|
|
153
168
|
- spec/bullet/detector/counter_spec.rb
|
154
169
|
- spec/bullet/detector/n_plus_one_query_spec.rb
|
155
170
|
- spec/bullet/detector/unused_eager_association_spec.rb
|
171
|
+
- spec/bullet/ext/object_spec.rb
|
172
|
+
- spec/bullet/ext/string_spec.rb
|
156
173
|
- spec/bullet/notification/base_spec.rb
|
157
174
|
- spec/bullet/notification/counter_cache_spec.rb
|
158
175
|
- spec/bullet/notification/n_plus_one_query_spec.rb
|
@@ -162,10 +179,11 @@ test_files:
|
|
162
179
|
- spec/bullet/registry/association_spec.rb
|
163
180
|
- spec/bullet/registry/base_spec.rb
|
164
181
|
- spec/bullet/registry/object_spec.rb
|
165
|
-
- spec/integration/association_for_chris_spec.rb
|
166
|
-
- spec/integration/association_for_peschkaj_spec.rb
|
167
182
|
- spec/integration/association_spec.rb
|
168
183
|
- spec/integration/counter_spec.rb
|
184
|
+
- spec/integration/mongoid/association_spec.rb
|
185
|
+
- spec/integration/rails2/association_spec.rb
|
186
|
+
- spec/integration/rails2/counter_spec.rb
|
169
187
|
- spec/models/address.rb
|
170
188
|
- spec/models/author.rb
|
171
189
|
- spec/models/base_user.rb
|
@@ -174,16 +192,17 @@ test_files:
|
|
174
192
|
- spec/models/client.rb
|
175
193
|
- spec/models/comment.rb
|
176
194
|
- spec/models/company.rb
|
177
|
-
- spec/models/contact.rb
|
178
195
|
- spec/models/country.rb
|
179
|
-
- spec/models/deal.rb
|
180
196
|
- spec/models/document.rb
|
181
|
-
- spec/models/email.rb
|
182
197
|
- spec/models/entry.rb
|
183
198
|
- spec/models/firm.rb
|
184
199
|
- spec/models/folder.rb
|
185
|
-
- spec/models/
|
186
|
-
- spec/models/
|
200
|
+
- spec/models/mongoid/address.rb
|
201
|
+
- spec/models/mongoid/category.rb
|
202
|
+
- spec/models/mongoid/comment.rb
|
203
|
+
- spec/models/mongoid/company.rb
|
204
|
+
- spec/models/mongoid/entry.rb
|
205
|
+
- spec/models/mongoid/post.rb
|
187
206
|
- spec/models/newspaper.rb
|
188
207
|
- spec/models/page.rb
|
189
208
|
- spec/models/person.rb
|
@@ -197,5 +216,6 @@ test_files:
|
|
197
216
|
- spec/models/writer.rb
|
198
217
|
- spec/spec_helper.rb
|
199
218
|
- spec/support/bullet_ext.rb
|
219
|
+
- spec/support/mongo_seed.rb
|
200
220
|
- spec/support/rack_double.rb
|
201
|
-
- spec/support/
|
221
|
+
- spec/support/sqlite_seed.rb
|
@@ -1,37 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
# This test is just used for http://github.com/flyerhzm/bullet/issues/#issue/14
|
4
|
-
describe Bullet::Detector::Association do
|
5
|
-
before(:each) do
|
6
|
-
Bullet.clear
|
7
|
-
Bullet.start_request
|
8
|
-
end
|
9
|
-
|
10
|
-
after(:each) do
|
11
|
-
Bullet.end_request
|
12
|
-
end
|
13
|
-
|
14
|
-
describe "for chris" do
|
15
|
-
it "should detect unpreload association from deal to hotel" do
|
16
|
-
Deal.all.each do |deal|
|
17
|
-
deal.hotel.location.name
|
18
|
-
end
|
19
|
-
Bullet::Detector::Association.should be_detecting_unpreloaded_association_for(Deal, :hotel)
|
20
|
-
end
|
21
|
-
|
22
|
-
it "should detect unpreload association from hotel to location" do
|
23
|
-
Deal.includes(:hotel).each do |deal|
|
24
|
-
deal.hotel.location.name
|
25
|
-
end
|
26
|
-
Bullet::Detector::Association.should be_detecting_unpreloaded_association_for(Hotel, :location)
|
27
|
-
end
|
28
|
-
|
29
|
-
it "should not detect unpreload association" do
|
30
|
-
Deal.includes({:hotel => :location}).each do |deal|
|
31
|
-
deal.hotel.location.name
|
32
|
-
end
|
33
|
-
Bullet::Detector::UnusedEagerAssociation.check_unused_preload_associations
|
34
|
-
Bullet::Detector::Association.should_not be_has_unused_preload_associations
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
# This test is just used for http://github.com/flyerhzm/bullet/issues#issue/20
|
4
|
-
describe Bullet::Detector::Association do
|
5
|
-
before(:each) do
|
6
|
-
Bullet.clear
|
7
|
-
Bullet.start_request
|
8
|
-
end
|
9
|
-
|
10
|
-
after(:each) do
|
11
|
-
Bullet.end_request
|
12
|
-
end
|
13
|
-
|
14
|
-
describe "for peschkaj" do
|
15
|
-
it "should not detect unused preload associations" do
|
16
|
-
category = Category.includes({:submissions => :user}).order("id DESC").find_by_name('first')
|
17
|
-
category.submissions.map do |submission|
|
18
|
-
submission.name
|
19
|
-
submission.user.name
|
20
|
-
end
|
21
|
-
Bullet::Detector::UnusedEagerAssociation.check_unused_preload_associations
|
22
|
-
Bullet::Detector::Association.should_not be_unused_preload_associations_for(Category, :submissions)
|
23
|
-
Bullet::Detector::Association.should_not be_unused_preload_associations_for(Submission, :user)
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
data/spec/models/contact.rb
DELETED
data/spec/models/deal.rb
DELETED
data/spec/models/email.rb
DELETED
data/spec/models/hotel.rb
DELETED
data/spec/models/location.rb
DELETED