carrierwave-mongoid 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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