bullet 4.14.0 → 4.14.3
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -0
- data/Gemfile.mongoid-2.4 +2 -2
- data/Gemfile.mongoid-2.5 +2 -2
- data/Gemfile.mongoid-2.6 +1 -1
- data/Gemfile.mongoid-2.7 +2 -2
- data/Gemfile.mongoid-2.8 +2 -2
- data/Gemfile.mongoid-3.0 +2 -2
- data/Gemfile.mongoid-3.1 +2 -2
- data/Gemfile.mongoid-4.0 +1 -1
- data/Gemfile.rails-3.0 +1 -3
- data/Gemfile.rails-3.1 +1 -1
- data/Gemfile.rails-3.2 +1 -1
- data/Gemfile.rails-4.0 +1 -1
- data/Gemfile.rails-4.1 +1 -1
- data/Gemfile.rails-4.2 +1 -1
- data/README.md +2 -1
- data/lib/bullet/active_record4.rb +4 -2
- data/lib/bullet/active_record41.rb +2 -2
- data/lib/bullet/active_record42.rb +5 -2
- data/lib/bullet/notification/base.rb +1 -1
- data/lib/bullet/rack.rb +15 -5
- data/lib/bullet/version.rb +1 -1
- data/spec/bullet/notification/n_plus_one_query_spec.rb +3 -3
- data/spec/bullet/notification/unused_eager_loading_spec.rb +1 -1
- data/spec/bullet/rack_spec.rb +1 -1
- data/spec/integration/active_record4/association_spec.rb +26 -1
- data/spec/models/category.rb +4 -1
- data/spec/models/comment.rb +2 -0
- data/spec/models/post.rb +7 -2
- data/spec/models/reply.rb +3 -0
- data/spec/models/submission.rb +1 -1
- data/spec/spec_helper.rb +2 -2
- data/spec/support/sqlite_seed.rb +14 -6
- data/update.sh +14 -0
- metadata +6 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: dbe02316f8b3e0b61718c940420f189423c3f5f0
|
|
4
|
+
data.tar.gz: 93db165a6618fb9c470081013e4b2f5fe002c602
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6c9ec0b4e3c23e6de5f59f74cb9378f5db7c32a448a42d4304b2399c3762308bab649dffc7f86bd04aaf175946391df9658994a1a190fb2a64fb8ec5bd21dbb3
|
|
7
|
+
data.tar.gz: 47451dec206f2d05aaa11466d8f6c063bbb9e3e9c03929d7dc8867b11e77be6871ee6a58f1f2b52435db3bb6854e913228dc9b310bf7dd78f5b968de5f042932
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Next Release
|
|
2
2
|
|
|
3
|
+
## 4.14.3
|
|
4
|
+
|
|
5
|
+
* Fix false positive on create
|
|
6
|
+
|
|
7
|
+
## 4.14.2
|
|
8
|
+
|
|
9
|
+
* Hotfix nil object when add_impossible_object
|
|
10
|
+
|
|
11
|
+
## 4.14.1
|
|
12
|
+
|
|
13
|
+
* Fix has_one then has_many associations in rails 4.2
|
|
14
|
+
* Append js and dom to html body in proper position
|
|
15
|
+
|
|
3
16
|
## 4.14.0 (10/03/2014)
|
|
4
17
|
|
|
5
18
|
* Support rails 4.2
|
data/Gemfile.mongoid-2.4
CHANGED
|
@@ -2,10 +2,10 @@ source "https://rubygems.org"
|
|
|
2
2
|
|
|
3
3
|
gemspec
|
|
4
4
|
|
|
5
|
-
gem 'rails', '~> 3.2.
|
|
5
|
+
gem 'rails', '~> 3.2.0'
|
|
6
6
|
gem 'sqlite3', platforms: [:ruby]
|
|
7
7
|
gem 'activerecord-jdbcsqlite3-adapter', platforms: [:jruby]
|
|
8
|
-
gem 'mongoid', '~> 2.4.
|
|
8
|
+
gem 'mongoid', '~> 2.4.0'
|
|
9
9
|
|
|
10
10
|
gem "rspec"
|
|
11
11
|
gem "guard"
|
data/Gemfile.mongoid-2.5
CHANGED
|
@@ -2,10 +2,10 @@ source "https://rubygems.org"
|
|
|
2
2
|
|
|
3
3
|
gemspec
|
|
4
4
|
|
|
5
|
-
gem 'rails', '~> 3.2.
|
|
5
|
+
gem 'rails', '~> 3.2.0'
|
|
6
6
|
gem 'sqlite3', platforms: [:ruby]
|
|
7
7
|
gem 'activerecord-jdbcsqlite3-adapter', platforms: [:jruby]
|
|
8
|
-
gem 'mongoid', '~> 2.5.
|
|
8
|
+
gem 'mongoid', '~> 2.5.0'
|
|
9
9
|
|
|
10
10
|
gem "rspec"
|
|
11
11
|
gem "guard"
|
data/Gemfile.mongoid-2.6
CHANGED
data/Gemfile.mongoid-2.7
CHANGED
|
@@ -2,10 +2,10 @@ source "https://rubygems.org"
|
|
|
2
2
|
|
|
3
3
|
gemspec
|
|
4
4
|
|
|
5
|
-
gem 'rails', '~> 3.2.
|
|
5
|
+
gem 'rails', '~> 3.2.0'
|
|
6
6
|
gem 'sqlite3', platforms: [:ruby]
|
|
7
7
|
gem 'activerecord-jdbcsqlite3-adapter', platforms: [:jruby]
|
|
8
|
-
gem 'mongoid', '~> 2.7.
|
|
8
|
+
gem 'mongoid', '~> 2.7.0'
|
|
9
9
|
|
|
10
10
|
gem "rspec"
|
|
11
11
|
gem "guard"
|
data/Gemfile.mongoid-2.8
CHANGED
|
@@ -2,10 +2,10 @@ source "https://rubygems.org"
|
|
|
2
2
|
|
|
3
3
|
gemspec
|
|
4
4
|
|
|
5
|
-
gem 'rails', '~> 3.2'
|
|
5
|
+
gem 'rails', '~> 3.2.0'
|
|
6
6
|
gem 'sqlite3', platforms: [:ruby]
|
|
7
7
|
gem 'activerecord-jdbcsqlite3-adapter', platforms: [:jruby]
|
|
8
|
-
gem 'mongoid', '~> 2.8'
|
|
8
|
+
gem 'mongoid', '~> 2.8.0'
|
|
9
9
|
|
|
10
10
|
gem "rspec"
|
|
11
11
|
gem "guard"
|
data/Gemfile.mongoid-3.0
CHANGED
|
@@ -2,10 +2,10 @@ source "https://rubygems.org"
|
|
|
2
2
|
|
|
3
3
|
gemspec
|
|
4
4
|
|
|
5
|
-
gem 'rails', '~> 3.2.
|
|
5
|
+
gem 'rails', '~> 3.2.0'
|
|
6
6
|
gem 'sqlite3', platforms: [:ruby]
|
|
7
7
|
gem 'activerecord-jdbcsqlite3-adapter', platforms: [:jruby]
|
|
8
|
-
gem 'mongoid', '~> 3.0.
|
|
8
|
+
gem 'mongoid', '~> 3.0.0'
|
|
9
9
|
|
|
10
10
|
gem "rspec"
|
|
11
11
|
gem "guard"
|
data/Gemfile.mongoid-3.1
CHANGED
|
@@ -2,10 +2,10 @@ source "https://rubygems.org"
|
|
|
2
2
|
|
|
3
3
|
gemspec
|
|
4
4
|
|
|
5
|
-
gem 'rails', '~> 3.2.
|
|
5
|
+
gem 'rails', '~> 3.2.0'
|
|
6
6
|
gem 'sqlite3', platforms: [:ruby]
|
|
7
7
|
gem 'activerecord-jdbcsqlite3-adapter', platforms: [:jruby]
|
|
8
|
-
gem 'mongoid', '~> 3.1.
|
|
8
|
+
gem 'mongoid', '~> 3.1.0'
|
|
9
9
|
|
|
10
10
|
gem "rspec"
|
|
11
11
|
gem "guard"
|
data/Gemfile.mongoid-4.0
CHANGED
data/Gemfile.rails-3.0
CHANGED
|
@@ -2,14 +2,12 @@ source "https://rubygems.org"
|
|
|
2
2
|
|
|
3
3
|
gemspec
|
|
4
4
|
|
|
5
|
-
gem 'rails', '~> 3.0.
|
|
5
|
+
gem 'rails', '~> 3.0.0'
|
|
6
6
|
gem 'sqlite3', platforms: [:ruby]
|
|
7
7
|
gem 'activerecord-jdbcsqlite3-adapter', platforms: [:jruby]
|
|
8
8
|
gem 'activerecord-import'
|
|
9
9
|
|
|
10
10
|
gem "rspec"
|
|
11
|
-
gem "guard"
|
|
12
|
-
gem "guard-rspec"
|
|
13
11
|
|
|
14
12
|
gem 'coveralls', require: false
|
|
15
13
|
|
data/Gemfile.rails-3.1
CHANGED
data/Gemfile.rails-3.2
CHANGED
data/Gemfile.rails-4.0
CHANGED
data/Gemfile.rails-4.1
CHANGED
data/Gemfile.rails-4.2
CHANGED
data/README.md
CHANGED
|
@@ -67,6 +67,7 @@ The code above will enable all seven of the Bullet notification systems:
|
|
|
67
67
|
* `Bullet.alert`: pop up a JavaScript alert in the browser
|
|
68
68
|
* `Bullet.bullet_logger`: log to the Bullet log file (Rails.root/log/bullet.log)
|
|
69
69
|
* `Bullet.rails_logger`: add warnings directly to the Rails log
|
|
70
|
+
* `Bullet.bugsnag`: add notifications to bugsnag
|
|
70
71
|
* `Bullet.airbrake`: add notifications to airbrake
|
|
71
72
|
* `Bullet.console`: log warnings to your browser's console.log (Safari/Webkit browsers or Firefox w/Firebug installed)
|
|
72
73
|
* `Bullet.growl`: pop up Growl warnings if your system has Growl installed. Requires a little bit of configuration
|
|
@@ -429,4 +430,4 @@ Meanwhile, there's a line appended to `log/bullet.log`
|
|
|
429
430
|
Post => [:comments]
|
|
430
431
|
```
|
|
431
432
|
|
|
432
|
-
Copyright (c) 2009 -
|
|
433
|
+
Copyright (c) 2009 - 2015 Richard Huang (flyerhzm@gmail.com), released under the MIT license
|
|
@@ -104,8 +104,10 @@ module Bullet
|
|
|
104
104
|
alias_method :origin_reader, :reader
|
|
105
105
|
def reader(force_reload = false)
|
|
106
106
|
result = origin_reader(force_reload)
|
|
107
|
-
|
|
108
|
-
|
|
107
|
+
unless @inversed
|
|
108
|
+
Bullet::Detector::NPlusOneQuery.call_association(@owner, @reflection.name)
|
|
109
|
+
Bullet::Detector::NPlusOneQuery.add_possible_objects(result)
|
|
110
|
+
end
|
|
109
111
|
result
|
|
110
112
|
end
|
|
111
113
|
end
|
|
@@ -106,8 +106,8 @@ module Bullet
|
|
|
106
106
|
alias_method :origin_reader, :reader
|
|
107
107
|
def reader(force_reload = false)
|
|
108
108
|
result = origin_reader(force_reload)
|
|
109
|
-
if @owner.class.name !~ /^HABTM_/
|
|
110
|
-
Bullet::Detector::NPlusOneQuery.call_association(@owner, @reflection.name)
|
|
109
|
+
if @owner.class.name !~ /^HABTM_/ && !@inversed
|
|
110
|
+
Bullet::Detector::NPlusOneQuery.call_association(@owner, @reflection.name)
|
|
111
111
|
Bullet::Detector::NPlusOneQuery.add_possible_objects(result)
|
|
112
112
|
end
|
|
113
113
|
result
|
|
@@ -117,10 +117,13 @@ module Bullet
|
|
|
117
117
|
alias_method :origin_reader, :reader
|
|
118
118
|
def reader(force_reload = false)
|
|
119
119
|
result = origin_reader(force_reload)
|
|
120
|
-
if @owner.class.name !~ /^HABTM_/
|
|
121
|
-
Bullet::Detector::NPlusOneQuery.call_association(@owner, @reflection.name)
|
|
120
|
+
if @owner.class.name !~ /^HABTM_/ && !@inversed
|
|
121
|
+
Bullet::Detector::NPlusOneQuery.call_association(@owner, @reflection.name)
|
|
122
122
|
Bullet::Detector::NPlusOneQuery.add_possible_objects(result)
|
|
123
123
|
end
|
|
124
|
+
if ::ActiveRecord::Reflection::HasOneReflection === @reflection && result
|
|
125
|
+
Bullet::Detector::NPlusOneQuery.add_impossible_object(result)
|
|
126
|
+
end
|
|
124
127
|
result
|
|
125
128
|
end
|
|
126
129
|
end
|
data/lib/bullet/rack.rb
CHANGED
|
@@ -15,8 +15,9 @@ module Bullet
|
|
|
15
15
|
response_body = nil
|
|
16
16
|
if Bullet.notification?
|
|
17
17
|
if status == 200 && !response_body(response).frozen? && html_request?(headers, response)
|
|
18
|
-
response_body = response_body(response)
|
|
19
|
-
|
|
18
|
+
response_body = response_body(response)
|
|
19
|
+
append_to_html_body(response_body, footer_note) if Bullet.add_footer
|
|
20
|
+
append_to_html_body(response_body, Bullet.gather_inline_notifications)
|
|
20
21
|
headers['Content-Length'] = response_body.bytesize.to_s
|
|
21
22
|
end
|
|
22
23
|
end
|
|
@@ -42,8 +43,17 @@ module Bullet
|
|
|
42
43
|
end
|
|
43
44
|
end
|
|
44
45
|
|
|
45
|
-
def
|
|
46
|
-
response_body
|
|
46
|
+
def append_to_html_body(response_body, content)
|
|
47
|
+
if response_body.include?('</body>')
|
|
48
|
+
position = response_body.rindex('</body>')
|
|
49
|
+
response_body.insert(position, content)
|
|
50
|
+
else
|
|
51
|
+
response_body << content
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def footer_note
|
|
56
|
+
"<div #{footer_div_attributes}>" + Bullet.footer_info.uniq.join("<br>") + "</div>"
|
|
47
57
|
end
|
|
48
58
|
|
|
49
59
|
def file?(headers)
|
|
@@ -69,7 +79,7 @@ module Bullet
|
|
|
69
79
|
private
|
|
70
80
|
def footer_div_attributes
|
|
71
81
|
<<EOF
|
|
72
|
-
data-is-bullet-footer style="position: fixed; bottom: 0pt; left: 0pt; cursor: pointer; border-style: solid; border-color: rgb(153, 153, 153);
|
|
82
|
+
data-is-bullet-footer ondblclick="this.parentNode.removeChild(this);" style="position: fixed; bottom: 0pt; left: 0pt; cursor: pointer; border-style: solid; border-color: rgb(153, 153, 153);
|
|
73
83
|
-moz-border-top-colors: none; -moz-border-right-colors: none; -moz-border-bottom-colors: none;
|
|
74
84
|
-moz-border-left-colors: none; -moz-border-image: none; border-width: 2pt 2pt 0px 0px;
|
|
75
85
|
padding: 5px; border-radius: 0pt 10pt 0pt 0px; background: none repeat scroll 0% 0% rgba(200, 200, 200, 0.8);
|
data/lib/bullet/version.rb
CHANGED
|
@@ -5,9 +5,9 @@ module Bullet
|
|
|
5
5
|
describe NPlusOneQuery do
|
|
6
6
|
subject { NPlusOneQuery.new([["caller1", "caller2"]], Post, [:comments, :votes], "path") }
|
|
7
7
|
|
|
8
|
-
it { expect(subject.body_with_caller).to eq(" Post => [:comments, :votes]\n Add to your finder: :
|
|
9
|
-
it { expect([
|
|
10
|
-
it { expect(subject.body).to eq(" Post => [:comments, :votes]\n Add to your finder: :
|
|
8
|
+
it { expect(subject.body_with_caller).to eq(" Post => [:comments, :votes]\n Add to your finder: :includes => [:comments, :votes]\nN+1 Query method call stack\n caller1\n caller2\n") }
|
|
9
|
+
it { expect([subject.body_with_caller, subject.body_with_caller]).to eq([ " Post => [:comments, :votes]\n Add to your finder: :includes => [:comments, :votes]\nN+1 Query method call stack\n caller1\n caller2\n", " Post => [:comments, :votes]\n Add to your finder: :includes => [:comments, :votes]\nN+1 Query method call stack\n caller1\n caller2\n" ]) }
|
|
10
|
+
it { expect(subject.body).to eq(" Post => [:comments, :votes]\n Add to your finder: :includes => [:comments, :votes]") }
|
|
11
11
|
it { expect(subject.title).to eq("N+1 Query in path") }
|
|
12
12
|
end
|
|
13
13
|
end
|
|
@@ -5,7 +5,7 @@ module Bullet
|
|
|
5
5
|
describe UnusedEagerLoading do
|
|
6
6
|
subject { UnusedEagerLoading.new(Post, [:comments, :votes], "path") }
|
|
7
7
|
|
|
8
|
-
it { expect(subject.body).to eq(" Post => [:comments, :votes]\n Remove from your finder: :
|
|
8
|
+
it { expect(subject.body).to eq(" Post => [:comments, :votes]\n Remove from your finder: :includes => [:comments, :votes]") }
|
|
9
9
|
it { expect(subject.title).to eq("Unused Eager Loading in path") }
|
|
10
10
|
end
|
|
11
11
|
end
|
data/spec/bullet/rack_spec.rb
CHANGED
|
@@ -70,7 +70,7 @@ module Bullet
|
|
|
70
70
|
expect(Bullet).to receive(:perform_out_of_channel_notifications)
|
|
71
71
|
status, headers, response = middleware.call([200, {"Content-Type" => "text/html"}])
|
|
72
72
|
expect(headers["Content-Length"]).to eq("56")
|
|
73
|
-
expect(response).to eq(["<html><head></head><body></body></html
|
|
73
|
+
expect(response).to eq(["<html><head></head><body><bullet></bullet></body></html>"])
|
|
74
74
|
end
|
|
75
75
|
|
|
76
76
|
it "should set the right Content-Length if response body contains accents" do
|
|
@@ -219,6 +219,20 @@ if !mongoid? && active_record4?
|
|
|
219
219
|
|
|
220
220
|
expect(Bullet::Detector::Association).to be_completely_preloading_associations
|
|
221
221
|
end
|
|
222
|
+
|
|
223
|
+
it "should not detect unused preload with category => posts" do
|
|
224
|
+
category = Category.first
|
|
225
|
+
category.draft_post.destroy!
|
|
226
|
+
post = category.draft_post
|
|
227
|
+
post.update_attributes!(link: true)
|
|
228
|
+
Bullet::Detector::UnusedEagerLoading.check_unused_preload_associations
|
|
229
|
+
expect(Bullet::Detector::Association).not_to be_has_unused_preload_associations
|
|
230
|
+
|
|
231
|
+
expect(Bullet::Detector::Association).to be_completely_preloading_associations
|
|
232
|
+
|
|
233
|
+
Support::SqliteSeed.setup_db
|
|
234
|
+
Support::SqliteSeed.seed_db
|
|
235
|
+
end
|
|
222
236
|
end
|
|
223
237
|
|
|
224
238
|
context "category => posts => writer" do
|
|
@@ -313,7 +327,7 @@ if !mongoid? && active_record4?
|
|
|
313
327
|
expect(Bullet::Detector::Association).to be_completely_preloading_associations
|
|
314
328
|
end
|
|
315
329
|
|
|
316
|
-
it "should detect unused preload with
|
|
330
|
+
it "should detect unused preload with comment => post" do
|
|
317
331
|
Comment.includes(:post).map(&:name)
|
|
318
332
|
Bullet::Detector::UnusedEagerLoading.check_unused_preload_associations
|
|
319
333
|
expect(Bullet::Detector::Association).to be_unused_preload_associations_for(Comment, :post)
|
|
@@ -515,6 +529,17 @@ if !mongoid? && active_record4?
|
|
|
515
529
|
end
|
|
516
530
|
end
|
|
517
531
|
|
|
532
|
+
describe Bullet::Detector::Association, "has_one => has_many" do
|
|
533
|
+
it "should not detect preload association" do
|
|
534
|
+
user = User.first
|
|
535
|
+
user.submission.replies.map(&:name)
|
|
536
|
+
Bullet::Detector::UnusedEagerLoading.check_unused_preload_associations
|
|
537
|
+
expect(Bullet::Detector::Association).not_to be_has_unused_preload_associations
|
|
538
|
+
|
|
539
|
+
expect(Bullet::Detector::Association).to be_completely_preloading_associations
|
|
540
|
+
end
|
|
541
|
+
end
|
|
542
|
+
|
|
518
543
|
describe Bullet::Detector::Association, "call one association that in possible objects" do
|
|
519
544
|
it "should not detect preload association" do
|
|
520
545
|
Post.all
|
data/spec/models/category.rb
CHANGED
data/spec/models/comment.rb
CHANGED
data/spec/models/post.rb
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
class Post < ActiveRecord::Base
|
|
2
|
-
extend Bullet::Dependency
|
|
3
|
-
|
|
4
2
|
belongs_to :category, inverse_of: :posts
|
|
5
3
|
belongs_to :writer
|
|
6
4
|
has_many :comments, inverse_of: :post
|
|
7
5
|
|
|
6
|
+
validates :category, presence: true
|
|
7
|
+
|
|
8
8
|
scope :preload_comments, -> { includes(:comments) }
|
|
9
9
|
scope :in_category_name, ->(name) { where(['categories.name = ?', name]).includes(:category) }
|
|
10
|
+
scope :draft, -> { where(active: false) }
|
|
11
|
+
|
|
12
|
+
def link=(*)
|
|
13
|
+
comments.new
|
|
14
|
+
end
|
|
10
15
|
end
|
data/spec/models/submission.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
data/spec/support/sqlite_seed.rb
CHANGED
|
@@ -14,7 +14,7 @@ module Support
|
|
|
14
14
|
category2 = Category.create(:name => 'second')
|
|
15
15
|
|
|
16
16
|
post1 = category1.posts.create(:name => 'first', :writer => writer1)
|
|
17
|
-
post1a = category1.posts.create(:name => 'like first', :writer => writer2)
|
|
17
|
+
post1a = category1.posts.create(:name => 'like first', :writer => writer2, active: false)
|
|
18
18
|
post2 = category2.posts.create(:name => 'second', :writer => writer2)
|
|
19
19
|
|
|
20
20
|
comment1 = post1.comments.create(:name => 'first', :author => writer1)
|
|
@@ -82,10 +82,13 @@ module Support
|
|
|
82
82
|
user1 = User.create(:name => 'user1', :category => category1)
|
|
83
83
|
user2 = User.create(:name => 'user2', :category => category1)
|
|
84
84
|
|
|
85
|
-
submission1 =
|
|
86
|
-
submission2 =
|
|
87
|
-
|
|
88
|
-
|
|
85
|
+
submission1 = user1.create_submission(:name => "submission1")
|
|
86
|
+
submission2 = user2.create_submission(:name => "submission2")
|
|
87
|
+
|
|
88
|
+
submission1.replies.create(:name => 'reply1')
|
|
89
|
+
submission1.replies.create(:name => 'reply2')
|
|
90
|
+
submission2.replies.create(:name => 'reply3')
|
|
91
|
+
submission2.replies.create(:name => 'reply4')
|
|
89
92
|
end
|
|
90
93
|
|
|
91
94
|
def setup_db
|
|
@@ -191,6 +194,7 @@ module Support
|
|
|
191
194
|
t.column :name, :string
|
|
192
195
|
t.column :category_id, :integer
|
|
193
196
|
t.column :writer_id, :integer
|
|
197
|
+
t.column :active, :boolean, :default => true
|
|
194
198
|
end
|
|
195
199
|
|
|
196
200
|
create_table :relationships do |t|
|
|
@@ -211,9 +215,13 @@ module Support
|
|
|
211
215
|
t.column :name, :string
|
|
212
216
|
end
|
|
213
217
|
|
|
218
|
+
create_table :replies do |t|
|
|
219
|
+
t.column :name, :string
|
|
220
|
+
t.column :submission_id, :integer
|
|
221
|
+
end
|
|
222
|
+
|
|
214
223
|
create_table :submissions do |t|
|
|
215
224
|
t.column :name, :string
|
|
216
|
-
t.column :category_id, :integer
|
|
217
225
|
t.column :user_id, :integer
|
|
218
226
|
end
|
|
219
227
|
|
data/update.sh
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
BUNDLE_GEMFILE=Gemfile.rails-4.2 bundle update
|
|
2
|
+
BUNDLE_GEMFILE=Gemfile.rails-4.1 bundle update
|
|
3
|
+
BUNDLE_GEMFILE=Gemfile.rails-4.0 bundle update
|
|
4
|
+
BUNDLE_GEMFILE=Gemfile.rails-3.2 bundle update
|
|
5
|
+
BUNDLE_GEMFILE=Gemfile.rails-3.1 bundle update
|
|
6
|
+
BUNDLE_GEMFILE=Gemfile.rails-3.0 bundle update
|
|
7
|
+
BUNDLE_GEMFILE=Gemfile.mongoid-4.0 bundle update
|
|
8
|
+
BUNDLE_GEMFILE=Gemfile.mongoid-3.1 bundle update
|
|
9
|
+
BUNDLE_GEMFILE=Gemfile.mongoid-3.0 bundle update
|
|
10
|
+
BUNDLE_GEMFILE=Gemfile.mongoid-2.8 bundle update
|
|
11
|
+
BUNDLE_GEMFILE=Gemfile.mongoid-2.7 bundle update
|
|
12
|
+
BUNDLE_GEMFILE=Gemfile.mongoid-2.6 bundle update
|
|
13
|
+
BUNDLE_GEMFILE=Gemfile.mongoid-2.5 bundle update
|
|
14
|
+
BUNDLE_GEMFILE=Gemfile.mongoid-2.4 bundle update
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bullet
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.14.
|
|
4
|
+
version: 4.14.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Richard Huang
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2015-02-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -150,6 +150,7 @@ files:
|
|
|
150
150
|
- spec/models/pet.rb
|
|
151
151
|
- spec/models/post.rb
|
|
152
152
|
- spec/models/relationship.rb
|
|
153
|
+
- spec/models/reply.rb
|
|
153
154
|
- spec/models/student.rb
|
|
154
155
|
- spec/models/submission.rb
|
|
155
156
|
- spec/models/teacher.rb
|
|
@@ -162,6 +163,7 @@ files:
|
|
|
162
163
|
- spec/support/sqlite_seed.rb
|
|
163
164
|
- tasks/bullet_tasks.rake
|
|
164
165
|
- test.sh
|
|
166
|
+
- update.sh
|
|
165
167
|
homepage: http://github.com/flyerhzm/bullet
|
|
166
168
|
licenses:
|
|
167
169
|
- MIT
|
|
@@ -182,7 +184,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
182
184
|
version: 1.3.6
|
|
183
185
|
requirements: []
|
|
184
186
|
rubyforge_project:
|
|
185
|
-
rubygems_version: 2.
|
|
187
|
+
rubygems_version: 2.4.5
|
|
186
188
|
signing_key:
|
|
187
189
|
specification_version: 4
|
|
188
190
|
summary: help to kill N+1 queries and unused eager loading.
|
|
@@ -234,6 +236,7 @@ test_files:
|
|
|
234
236
|
- spec/models/pet.rb
|
|
235
237
|
- spec/models/post.rb
|
|
236
238
|
- spec/models/relationship.rb
|
|
239
|
+
- spec/models/reply.rb
|
|
237
240
|
- spec/models/student.rb
|
|
238
241
|
- spec/models/submission.rb
|
|
239
242
|
- spec/models/teacher.rb
|