carrierwave-mongoid 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -4,5 +4,6 @@ pkg/*
4
4
  .bundle
5
5
  spec/public
6
6
  .rvmrc
7
+ .ruby-version
7
8
  Gemfile.lock
8
9
  log/*
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # CarrierWave for 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)
2
2
 
3
3
  This gem adds support for Mongoid and MongoDB's GridFS to
4
4
  [CarrierWave](https://github.com/jnicklas/carrierwave/)
@@ -72,23 +72,27 @@ end
72
72
 
73
73
  ## Version differences
74
74
 
75
- ### 0.3.x
75
+ | Version | Notes |
76
+ |----------|---------------------------------------------------------------------------------|
77
+ | ~> 0.4.0 | ([compare][compare-0.4], [dependencies][deps-0.4]) |
78
+ | ~> 0.3.0 | ([compare][compare-0.3], [dependencies][deps-0.3]) Mongoid >= 3.0 |
79
+ | ~> 0.2.0 | ([compare][compare-0.2], [dependencies][deps-0.2]) Rails >= 3.2, Mongoid ~> 2.0 |
80
+ | ~> 0.1.0 | ([compare][compare-0.1], [dependencies][deps-0.1]) Rails <= 3.1 |
76
81
 
77
- carrierwave-mongoid ~> 0.3.0 is only compatible with Mongoid 3.0 or higher.
82
+ [compare-0.4]: https://github.com/jnicklas/carrierwave-mongoid/compare/v0.3.1...v0.4.0
83
+ [compare-0.3]: https://github.com/jnicklas/carrierwave-mongoid/compare/v0.2.1...v0.3.1
84
+ [compare-0.2]: https://github.com/jnicklas/carrierwave-mongoid/compare/v0.1.7...v0.2.2
85
+ [compare-0.1]: https://github.com/jnicklas/carrierwave-mongoid/compare/v0.1.1...v0.1.7
78
86
 
79
- ### 0.2.x
80
-
81
- carrierwave-mongoid ~> 0.2.0 is only compatible with Rails 3.2 or higher.
82
-
83
- ### 0.1.x
84
-
85
- carrierwave-mongoid ~> 0.1.1 depends on carrierwave ~> 0.5.7. This version of
86
- carrierwave is only compatible with Rails 3.1 or earlier.
87
+ [deps-0.4]: https://rubygems.org/gems/carrierwave-mongoid/versions/0.4.0
88
+ [deps-0.3]: https://rubygems.org/gems/carrierwave-mongoid/versions/0.3.1
89
+ [deps-0.2]: https://rubygems.org/gems/carrierwave-mongoid/versions/0.2.2
90
+ [deps-0.1]: https://rubygems.org/gems/carrierwave-mongoid/versions/0.1.7
87
91
 
88
92
  ### Changes from earlier versions of CarrierWave <= 0.5.6
89
93
 
90
94
  CarrierWave used to have built-in Mongoid support. This gem replaces that
91
- support and only only supports Mongoid ~> 2.1
95
+ support and only supports Mongoid ~> 2.1
92
96
 
93
97
  You can use `upload_identifier` to retrieve the original name of the uploaded file.
94
98
 
@@ -11,6 +11,7 @@ Gem::Specification.new do |s|
11
11
  s.homepage = "https://github.com/jnicklas/carrierwave-mongoid"
12
12
  s.summary = %q{Mongoid support for CarrierWave}
13
13
  s.description = %q{Mongoid support for CarrierWave}
14
+ s.license = "MIT"
14
15
 
15
16
  s.rubyforge_project = "carrierwave-mongoid"
16
17
 
@@ -39,6 +39,10 @@ module CarrierWave
39
39
  super
40
40
  end
41
41
 
42
+ def remove_#{column}!
43
+ super unless paranoid? && flagged_for_destroy?
44
+ end
45
+
42
46
  # Overrides Mongoid's default dirty behavior to instead work more like
43
47
  # ActiveRecord's. Mongoid doesn't deem an attribute as changed unless
44
48
  # the new value is different than the original. Given that CarrierWave
@@ -1,5 +1,5 @@
1
1
  module Carrierwave
2
2
  module Mongoid
3
- VERSION = "0.4.0"
3
+ VERSION = "0.5.0"
4
4
  end
5
5
  end
@@ -75,7 +75,7 @@ module CarrierWave
75
75
  def grid
76
76
  self.class.grid
77
77
  end
78
- end
78
+ end # File
79
79
 
80
80
  ##
81
81
  # Store the file in MongoDB's GridFS GridStore
@@ -109,6 +109,6 @@ module CarrierWave
109
109
  CarrierWave::Storage::GridFS::File.new(uploader, uploader.store_path(identifier))
110
110
  end
111
111
 
112
- end # File
112
+ end # GridFS
113
113
  end # Storage
114
114
  end # CarrierWave
data/spec/mongoid_spec.rb CHANGED
@@ -766,6 +766,33 @@ describe CarrierWave::Mongoid do
766
766
  end
767
767
  end
768
768
 
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
776
+
777
+ @doc = @class.new(image: stub_file("old.jpeg"))
778
+ @doc.save.should be_true
779
+ end
780
+
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
787
+
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
793
+ end
794
+ end
795
+
769
796
  context "JSON serialization with multiple uploaders" do
770
797
  before do
771
798
  @class = reset_mongo_class
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: carrierwave-mongoid
3
3
  version: !ruby/object:Gem::Version
4
+ version: 0.5.0
4
5
  prerelease:
5
- version: 0.4.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Jonas Nicklas
@@ -10,120 +10,120 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-01-18 00:00:00.000000000 Z
13
+ date: 2013-02-18 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- type: :runtime
17
- version_requirements: !ruby/object:Gem::Requirement
18
- none: false
19
- requirements:
20
- - - ~>
21
- - !ruby/object:Gem::Version
22
- version: 0.8.0
23
16
  name: carrierwave
24
- prerelease: false
25
17
  requirement: !ruby/object:Gem::Requirement
26
18
  none: false
27
19
  requirements:
28
20
  - - ~>
29
21
  - !ruby/object:Gem::Version
30
22
  version: 0.8.0
31
- - !ruby/object:Gem::Dependency
32
23
  type: :runtime
24
+ prerelease: false
33
25
  version_requirements: !ruby/object:Gem::Requirement
34
26
  none: false
35
27
  requirements:
36
28
  - - ~>
37
29
  - !ruby/object:Gem::Version
38
- version: '3.0'
30
+ version: 0.8.0
31
+ - !ruby/object:Gem::Dependency
39
32
  name: mongoid
40
- prerelease: false
41
33
  requirement: !ruby/object:Gem::Requirement
42
34
  none: false
43
35
  requirements:
44
36
  - - ~>
45
37
  - !ruby/object:Gem::Version
46
38
  version: '3.0'
47
- - !ruby/object:Gem::Dependency
48
39
  type: :runtime
40
+ prerelease: false
49
41
  version_requirements: !ruby/object:Gem::Requirement
50
42
  none: false
51
43
  requirements:
52
44
  - - ~>
53
45
  - !ruby/object:Gem::Version
54
- version: '1.3'
46
+ version: '3.0'
47
+ - !ruby/object:Gem::Dependency
55
48
  name: mongoid-grid_fs
56
- prerelease: false
57
49
  requirement: !ruby/object:Gem::Requirement
58
50
  none: false
59
51
  requirements:
60
52
  - - ~>
61
53
  - !ruby/object:Gem::Version
62
54
  version: '1.3'
63
- - !ruby/object:Gem::Dependency
64
- type: :development
55
+ type: :runtime
56
+ prerelease: false
65
57
  version_requirements: !ruby/object:Gem::Requirement
66
58
  none: false
67
59
  requirements:
68
60
  - - ~>
69
61
  - !ruby/object:Gem::Version
70
- version: '2.6'
62
+ version: '1.3'
63
+ - !ruby/object:Gem::Dependency
71
64
  name: rspec
72
- prerelease: false
73
65
  requirement: !ruby/object:Gem::Requirement
74
66
  none: false
75
67
  requirements:
76
68
  - - ~>
77
69
  - !ruby/object:Gem::Version
78
70
  version: '2.6'
79
- - !ruby/object:Gem::Dependency
80
71
  type: :development
72
+ prerelease: false
81
73
  version_requirements: !ruby/object:Gem::Requirement
82
74
  none: false
83
75
  requirements:
84
76
  - - ~>
85
77
  - !ruby/object:Gem::Version
86
- version: '10.0'
78
+ version: '2.6'
79
+ - !ruby/object:Gem::Dependency
87
80
  name: rake
88
- prerelease: false
89
81
  requirement: !ruby/object:Gem::Requirement
90
82
  none: false
91
83
  requirements:
92
84
  - - ~>
93
85
  - !ruby/object:Gem::Version
94
86
  version: '10.0'
95
- - !ruby/object:Gem::Dependency
96
87
  type: :development
88
+ prerelease: false
97
89
  version_requirements: !ruby/object:Gem::Requirement
98
90
  none: false
99
91
  requirements:
100
- - - ! '>='
92
+ - - ~>
101
93
  - !ruby/object:Gem::Version
102
- version: '0'
94
+ version: '10.0'
95
+ - !ruby/object:Gem::Dependency
103
96
  name: mini_magick
104
- prerelease: false
105
97
  requirement: !ruby/object:Gem::Requirement
106
98
  none: false
107
99
  requirements:
108
100
  - - ! '>='
109
101
  - !ruby/object:Gem::Version
110
102
  version: '0'
111
- - !ruby/object:Gem::Dependency
112
103
  type: :development
104
+ prerelease: false
113
105
  version_requirements: !ruby/object:Gem::Requirement
114
106
  none: false
115
107
  requirements:
116
108
  - - ! '>='
117
109
  - !ruby/object:Gem::Version
118
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
119
112
  name: pry
120
- prerelease: false
121
113
  requirement: !ruby/object:Gem::Requirement
122
114
  none: false
123
115
  requirements:
124
116
  - - ! '>='
125
117
  - !ruby/object:Gem::Version
126
118
  version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ none: false
123
+ requirements:
124
+ - - ! '>='
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
127
127
  description: Mongoid support for CarrierWave
128
128
  email:
129
129
  - jonas.nicklas@gmail.com
@@ -153,7 +153,8 @@ files:
153
153
  - spec/spec_helper.rb
154
154
  - spec/storage/grid_fs_spec.rb
155
155
  homepage: https://github.com/jnicklas/carrierwave-mongoid
156
- licenses: []
156
+ licenses:
157
+ - MIT
157
158
  post_install_message:
158
159
  rdoc_options: []
159
160
  require_paths:
@@ -163,19 +164,19 @@ required_ruby_version: !ruby/object:Gem::Requirement
163
164
  requirements:
164
165
  - - ! '>='
165
166
  - !ruby/object:Gem::Version
167
+ version: '0'
166
168
  segments:
167
169
  - 0
168
- hash: 1628915259136896481
169
- version: '0'
170
+ hash: 1710824902897794014
170
171
  required_rubygems_version: !ruby/object:Gem::Requirement
171
172
  none: false
172
173
  requirements:
173
174
  - - ! '>='
174
175
  - !ruby/object:Gem::Version
176
+ version: '0'
175
177
  segments:
176
178
  - 0
177
- hash: 1628915259136896481
178
- version: '0'
179
+ hash: 1710824902897794014
179
180
  requirements: []
180
181
  rubyforge_project: carrierwave-mongoid
181
182
  rubygems_version: 1.8.23