carrierwave-mongoid 0.5.0 → 0.6.0

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.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ YWNhYTI4NzQ3MTI0YzFlMmVlYzI0ZDFkZWU0MGM1NmNhNzUxN2M1NA==
5
+ data.tar.gz: !binary |-
6
+ OGU0YWEyZTZjMDlmNzdmNDJhYmQyY2YzZDg2NGMzYzA2NzZhMWFkZg==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ OTEwM2FjYzRhYTA3NWUwMmE5NThiZTc3MDgwMGY3NGIzOGQ3Y2NmNzhmOTQ5
10
+ OWVjYTgwNzc1NTk3ZjEyM2QxYzNlNTA2ODgyNmYzMmFmYTdlM2E5ZWJhOTdm
11
+ OTBkNWVjNTZhNmYyZWRhMmE0NmM0M2RiNDk1MTM1NTJlYWM0MGM=
12
+ data.tar.gz: !binary |-
13
+ MTYyOWFlODkwMGFjYWM1NjhmMDdlNDBhNjQ4MTcxNmM3Mzk3ZDFjM2FiNWI3
14
+ ZDU5YzdlZDVkNzIzNDBiNTA3ZDBjOTMzMDQ0OTAzODExNDI1NWVjNjFjNzM3
15
+ ZTY0YTFkNzc0YTA4ZGM0YjM4YTViNWEyNTllYjY1YjU3MTRlMzc=
data/.gitignore CHANGED
@@ -6,4 +6,5 @@ spec/public
6
6
  .rvmrc
7
7
  .ruby-version
8
8
  Gemfile.lock
9
+ gemfiles/*.lock
9
10
  log/*
@@ -6,5 +6,13 @@ notifications:
6
6
  language: ruby
7
7
  rvm:
8
8
  - 1.9.3
9
+ - 2.0.0
9
10
  - jruby-19mode
10
11
  - rbx-19mode
12
+
13
+ gemfile:
14
+ - Gemfile
15
+ - gemfiles/carrierwave-master.gemfile
16
+ - gemfiles/mongoid-3.0.gemfile
17
+ - gemfiles/mongoid-3.1.gemfile
18
+ - gemfiles/mongoid-4.0.gemfile
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # CarrierWave for Mongoid [![Gem Version](https://badge.fury.io/rb/carrierwave-mongoid.png)](http://badge.fury.io/rb/carrierwave-mongoid) [![Build Status](https://travis-ci.org/jnicklas/carrierwave-mongoid.png?branch=master)](http://travis-ci.org/jnicklas/carrierwave-mongoid)
1
+ # CarrierWave for Mongoid [![Gem Version](https://badge.fury.io/rb/carrierwave-mongoid.png)](http://badge.fury.io/rb/carrierwave-mongoid) [![Build Status](https://travis-ci.org/jnicklas/carrierwave-mongoid.png?branch=master)](http://travis-ci.org/jnicklas/carrierwave-mongoid) [![Code Climate](https://codeclimate.com/github/jnicklas/carrierwave-mongoid.png)](https://codeclimate.com/github/jnicklas/carrierwave-mongoid)
2
2
 
3
3
  This gem adds support for Mongoid and MongoDB's GridFS to
4
4
  [CarrierWave](https://github.com/jnicklas/carrierwave/)
@@ -14,11 +14,15 @@ Install the latest release:
14
14
 
15
15
  Require it in your code:
16
16
 
17
- require 'carrierwave/mongoid'
17
+ ```ruby
18
+ require 'carrierwave/mongoid'
19
+ ```
18
20
 
19
21
  Or, in Rails you can add it to your Gemfile:
20
22
 
21
- gem 'carrierwave-mongoid', :require => 'carrierwave/mongoid'
23
+ ```ruby
24
+ gem 'carrierwave-mongoid', :require => 'carrierwave/mongoid'
25
+ ```
22
26
 
23
27
  ## Getting Started
24
28
 
@@ -28,14 +32,18 @@ Follow the "Getting Started" directions in the main
28
32
  [Suggested] Add the field to your attr_accessor list for mass assignment
29
33
  protection:
30
34
 
31
- attr_accessible :avatar, :avatar_cache
35
+ ```ruby
36
+ attr_accessible :avatar, :avatar_cache
37
+ ```
32
38
 
33
39
  Now you can cache files by assigning them to the attribute; they will
34
40
  automatically be stored when the record is saved. Ex:
35
41
 
36
- u = User.new
37
- u.avatar = File.open('somewhere')
38
- u.save!
42
+ ```ruby
43
+ u = User.new
44
+ u.avatar = File.open('somewhere')
45
+ u.save!
46
+ ```
39
47
 
40
48
  ## Using MongoDB's GridFS store
41
49
 
@@ -74,16 +82,22 @@ end
74
82
 
75
83
  | Version | Notes |
76
84
  |----------|---------------------------------------------------------------------------------|
77
- | ~> 0.4.0 | ([compare][compare-0.4], [dependencies][deps-0.4]) |
85
+ | ~> 0.6.0 | ([compare][compare-0.6], [dependencies][deps-0.6]) Mongoid 3 & 4, bug fixes |
86
+ | ~> 0.5.0 | ([compare][compare-0.5], [dependencies][deps-0.5]) Mongoid::Paranoia support |
87
+ | ~> 0.4.0 | ([compare][compare-0.4], [dependencies][deps-0.4]) Carrierwave bump |
78
88
  | ~> 0.3.0 | ([compare][compare-0.3], [dependencies][deps-0.3]) Mongoid >= 3.0 |
79
89
  | ~> 0.2.0 | ([compare][compare-0.2], [dependencies][deps-0.2]) Rails >= 3.2, Mongoid ~> 2.0 |
80
90
  | ~> 0.1.0 | ([compare][compare-0.1], [dependencies][deps-0.1]) Rails <= 3.1 |
81
91
 
92
+ [compare-0.6]: https://github.com/jnicklas/carrierwave-mongoid/compare/v0.5.0...v0.6.0
93
+ [compare-0.5]: https://github.com/jnicklas/carrierwave-mongoid/compare/v0.4.0...v0.5.0
82
94
  [compare-0.4]: https://github.com/jnicklas/carrierwave-mongoid/compare/v0.3.1...v0.4.0
83
95
  [compare-0.3]: https://github.com/jnicklas/carrierwave-mongoid/compare/v0.2.1...v0.3.1
84
96
  [compare-0.2]: https://github.com/jnicklas/carrierwave-mongoid/compare/v0.1.7...v0.2.2
85
97
  [compare-0.1]: https://github.com/jnicklas/carrierwave-mongoid/compare/v0.1.1...v0.1.7
86
98
 
99
+ [deps-0.6]: https://rubygems.org/gems/carrierwave-mongoid/versions/0.6.0
100
+ [deps-0.5]: https://rubygems.org/gems/carrierwave-mongoid/versions/0.5.0
87
101
  [deps-0.4]: https://rubygems.org/gems/carrierwave-mongoid/versions/0.4.0
88
102
  [deps-0.3]: https://rubygems.org/gems/carrierwave-mongoid/versions/0.3.1
89
103
  [deps-0.2]: https://rubygems.org/gems/carrierwave-mongoid/versions/0.2.2
@@ -21,7 +21,7 @@ Gem::Specification.new do |s|
21
21
  s.require_paths = ["lib"]
22
22
 
23
23
  s.add_dependency "carrierwave", ["~> 0.8.0"]
24
- s.add_dependency "mongoid", ["~> 3.0"]
24
+ s.add_dependency "mongoid", [">= 3.0", "< 5.0"]
25
25
  s.add_dependency "mongoid-grid_fs", ["~> 1.3"]
26
26
  s.add_development_dependency "rspec", ["~> 2.6"]
27
27
  s.add_development_dependency "rake", ["~> 10.0"]
@@ -0,0 +1,5 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "carrierwave", github: "jnicklas/carrierwave", branch: "master"
4
+
5
+ gemspec path: "../"
@@ -0,0 +1,5 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "mongoid", github: "mongoid/mongoid", branch: "3.0.0-stable"
4
+
5
+ gemspec path: "../"
@@ -0,0 +1,5 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "mongoid", github: "mongoid/mongoid", branch: "3.1.0-stable"
4
+
5
+ gemspec path: "../"
@@ -0,0 +1,6 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "mongoid-grid_fs", github: "ahoward/mongoid-grid_fs", branch: "master"
4
+ gem "mongoid", github: "mongoid/mongoid", branch: "master"
5
+
6
+ gemspec path: "../"
@@ -35,12 +35,16 @@ module CarrierWave
35
35
  class_eval <<-RUBY, __FILE__, __LINE__+1
36
36
  def #{column}=(new_file)
37
37
  column = _mounter(:#{column}).serialization_column
38
+
39
+ # mongoid won't upload a new file if there was no file previously.
40
+ write_uploader(column, '_old_') if self.persisted? && read_uploader(column).nil?
41
+
38
42
  send(:"\#{column}_will_change!")
39
43
  super
40
44
  end
41
45
 
42
46
  def remove_#{column}!
43
- super unless paranoid? && flagged_for_destroy?
47
+ super unless respond_to?(:paranoid?) && paranoid? && flagged_for_destroy?
44
48
  end
45
49
 
46
50
  # Overrides Mongoid's default dirty behavior to instead work more like
@@ -1,5 +1,5 @@
1
1
  module Carrierwave
2
2
  module Mongoid
3
- VERSION = "0.5.0"
3
+ VERSION = "0.6.0"
4
4
  end
5
5
  end
@@ -568,7 +568,7 @@ describe CarrierWave::Mongoid do
568
568
  end
569
569
 
570
570
  @class.class_eval do
571
- embeds_many :mongo_locations
571
+ embeds_many :mongo_locations, cascade_callbacks: true
572
572
  end
573
573
 
574
574
  @doc = @class.new
@@ -579,6 +579,19 @@ describe CarrierWave::Mongoid do
579
579
 
580
580
  include_examples "embedded documents"
581
581
 
582
+ it "attaches a new file to an existing document that had no file at first" do
583
+ doc = @class.new
584
+ doc.mongo_locations.build
585
+ doc.save.should be_true
586
+ doc.reload
587
+
588
+ doc.mongo_locations.first.image = stub_file('test.jpeg')
589
+ doc.save.should be_true
590
+ doc.reload
591
+
592
+ doc.mongo_locations.first[:image].should == 'test.jpeg'
593
+ end
594
+
582
595
  describe 'with double embedded documents' do
583
596
 
584
597
  before do
@@ -766,30 +779,34 @@ describe CarrierWave::Mongoid do
766
779
  end
767
780
  end
768
781
 
769
- describe "with paranoia enabled" do
770
- before do
771
- @class = reset_mongo_class
772
- @class.collection.drop
773
- @class.class_eval do
774
- include Mongoid::Paranoia
775
- end
782
+ # Mongoid::Paranoia support is only part of Mongoid 3.x. It was removed from
783
+ # Mongoid 4.x.
784
+ if defined?(Mongoid::Paranoia)
785
+ describe "with paranoia enabled" do
786
+ before do
787
+ @class = reset_mongo_class
788
+ @class.collection.drop
789
+ @class.class_eval do
790
+ include Mongoid::Paranoia
791
+ end
776
792
 
777
- @doc = @class.new(image: stub_file("old.jpeg"))
778
- @doc.save.should be_true
779
- end
793
+ @doc = @class.new(image: stub_file("old.jpeg"))
794
+ @doc.save.should be_true
795
+ end
780
796
 
781
- it "should not remove underlying image after #destroy" do
782
- @doc.destroy.should be_true
783
- @class.count.should eql(0)
784
- @class.deleted.count.should eql(1)
785
- File.exist?(public_path('uploads/old.jpeg')).should be_true
786
- end
797
+ it "should not remove underlying image after #destroy" do
798
+ @doc.destroy.should be_true
799
+ @class.count.should eql(0)
800
+ @class.deleted.count.should eql(1)
801
+ File.exist?(public_path('uploads/old.jpeg')).should be_true
802
+ end
787
803
 
788
- it "should remove underlying image after #destroy!" do
789
- @doc.destroy!.should be_true
790
- @class.count.should eql(0)
791
- @class.deleted.count.should eql(0)
792
- File.exist?(public_path('uploads/old.jpeg')).should be_false
804
+ it "should remove underlying image after #destroy!" do
805
+ @doc.destroy!.should be_true
806
+ @class.count.should eql(0)
807
+ @class.deleted.count.should eql(0)
808
+ File.exist?(public_path('uploads/old.jpeg')).should be_false
809
+ end
793
810
  end
794
811
  end
795
812
 
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: carrierwave-mongoid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
5
- prerelease:
4
+ version: 0.6.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Jonas Nicklas
@@ -10,120 +9,112 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2013-02-18 00:00:00.000000000 Z
12
+ date: 2013-05-12 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
- name: carrierwave
17
15
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
16
  requirements:
20
17
  - - ~>
21
18
  - !ruby/object:Gem::Version
22
19
  version: 0.8.0
23
- type: :runtime
24
- prerelease: false
25
20
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
21
  requirements:
28
22
  - - ~>
29
23
  - !ruby/object:Gem::Version
30
24
  version: 0.8.0
25
+ type: :runtime
26
+ prerelease: false
27
+ name: carrierwave
31
28
  - !ruby/object:Gem::Dependency
32
- name: mongoid
33
29
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
30
  requirements:
36
- - - ~>
31
+ - - ! '>='
37
32
  - !ruby/object:Gem::Version
38
33
  version: '3.0'
39
- type: :runtime
40
- prerelease: false
34
+ - - <
35
+ - !ruby/object:Gem::Version
36
+ version: '5.0'
41
37
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
38
  requirements:
44
- - - ~>
39
+ - - ! '>='
45
40
  - !ruby/object:Gem::Version
46
41
  version: '3.0'
42
+ - - <
43
+ - !ruby/object:Gem::Version
44
+ version: '5.0'
45
+ type: :runtime
46
+ prerelease: false
47
+ name: mongoid
47
48
  - !ruby/object:Gem::Dependency
48
- name: mongoid-grid_fs
49
49
  requirement: !ruby/object:Gem::Requirement
50
- none: false
51
50
  requirements:
52
51
  - - ~>
53
52
  - !ruby/object:Gem::Version
54
53
  version: '1.3'
55
- type: :runtime
56
- prerelease: false
57
54
  version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
55
  requirements:
60
56
  - - ~>
61
57
  - !ruby/object:Gem::Version
62
58
  version: '1.3'
59
+ type: :runtime
60
+ prerelease: false
61
+ name: mongoid-grid_fs
63
62
  - !ruby/object:Gem::Dependency
64
- name: rspec
65
63
  requirement: !ruby/object:Gem::Requirement
66
- none: false
67
64
  requirements:
68
65
  - - ~>
69
66
  - !ruby/object:Gem::Version
70
67
  version: '2.6'
71
- type: :development
72
- prerelease: false
73
68
  version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
69
  requirements:
76
70
  - - ~>
77
71
  - !ruby/object:Gem::Version
78
72
  version: '2.6'
73
+ type: :development
74
+ prerelease: false
75
+ name: rspec
79
76
  - !ruby/object:Gem::Dependency
80
- name: rake
81
77
  requirement: !ruby/object:Gem::Requirement
82
- none: false
83
78
  requirements:
84
79
  - - ~>
85
80
  - !ruby/object:Gem::Version
86
81
  version: '10.0'
87
- type: :development
88
- prerelease: false
89
82
  version_requirements: !ruby/object:Gem::Requirement
90
- none: false
91
83
  requirements:
92
84
  - - ~>
93
85
  - !ruby/object:Gem::Version
94
86
  version: '10.0'
87
+ type: :development
88
+ prerelease: false
89
+ name: rake
95
90
  - !ruby/object:Gem::Dependency
96
- name: mini_magick
97
91
  requirement: !ruby/object:Gem::Requirement
98
- none: false
99
92
  requirements:
100
93
  - - ! '>='
101
94
  - !ruby/object:Gem::Version
102
95
  version: '0'
103
- type: :development
104
- prerelease: false
105
96
  version_requirements: !ruby/object:Gem::Requirement
106
- none: false
107
97
  requirements:
108
98
  - - ! '>='
109
99
  - !ruby/object:Gem::Version
110
100
  version: '0'
101
+ type: :development
102
+ prerelease: false
103
+ name: mini_magick
111
104
  - !ruby/object:Gem::Dependency
112
- name: pry
113
105
  requirement: !ruby/object:Gem::Requirement
114
- none: false
115
106
  requirements:
116
107
  - - ! '>='
117
108
  - !ruby/object:Gem::Version
118
109
  version: '0'
119
- type: :development
120
- prerelease: false
121
110
  version_requirements: !ruby/object:Gem::Requirement
122
- none: false
123
111
  requirements:
124
112
  - - ! '>='
125
113
  - !ruby/object:Gem::Version
126
114
  version: '0'
115
+ type: :development
116
+ prerelease: false
117
+ name: pry
127
118
  description: Mongoid support for CarrierWave
128
119
  email:
129
120
  - jonas.nicklas@gmail.com
@@ -138,6 +129,10 @@ files:
138
129
  - README.md
139
130
  - Rakefile
140
131
  - carrierwave-mongoid.gemspec
132
+ - gemfiles/carrierwave-master.gemfile
133
+ - gemfiles/mongoid-3.0.gemfile
134
+ - gemfiles/mongoid-3.1.gemfile
135
+ - gemfiles/mongoid-4.0.gemfile
141
136
  - lib/carrierwave/mongoid.rb
142
137
  - lib/carrierwave/mongoid/version.rb
143
138
  - lib/carrierwave/storage/grid_fs.rb
@@ -155,33 +150,26 @@ files:
155
150
  homepage: https://github.com/jnicklas/carrierwave-mongoid
156
151
  licenses:
157
152
  - MIT
153
+ metadata: {}
158
154
  post_install_message:
159
155
  rdoc_options: []
160
156
  require_paths:
161
157
  - lib
162
158
  required_ruby_version: !ruby/object:Gem::Requirement
163
- none: false
164
159
  requirements:
165
160
  - - ! '>='
166
161
  - !ruby/object:Gem::Version
167
162
  version: '0'
168
- segments:
169
- - 0
170
- hash: 1710824902897794014
171
163
  required_rubygems_version: !ruby/object:Gem::Requirement
172
- none: false
173
164
  requirements:
174
165
  - - ! '>='
175
166
  - !ruby/object:Gem::Version
176
167
  version: '0'
177
- segments:
178
- - 0
179
- hash: 1710824902897794014
180
168
  requirements: []
181
169
  rubyforge_project: carrierwave-mongoid
182
- rubygems_version: 1.8.23
170
+ rubygems_version: 2.0.3
183
171
  signing_key:
184
- specification_version: 3
172
+ specification_version: 4
185
173
  summary: Mongoid support for CarrierWave
186
174
  test_files:
187
175
  - spec/fixtures/new.jpeg