carrierwave-mongoid 0.6.1 → 0.6.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2c4cb70605ad487c0a0bc63a1e56a13aa35972e7
4
- data.tar.gz: 290b467324f4e499eceba2a1ee28a7dff4e4cf36
3
+ metadata.gz: 213d8790d4c5ce59989b25b2a7cf381c32999565
4
+ data.tar.gz: 4bf5807ca58f0508eca2abb2fb732cb40ea181ea
5
5
  SHA512:
6
- metadata.gz: 550171721afa4e19fa32c87ac862cb80511738111440e0a88c413dc1fbcf83c10a808b5d170a3bf9a2ea22e3e592998cf78a964a7a32cd4988d29c975359f4aa
7
- data.tar.gz: 1151676161af15142e4302ee52ac7ea42e164a8b801ddbbb35634ff7e4e82e1ab4c8628a365450b8a240045a0bb2b3ab570f4355025a4f636875a4cc55903c08
6
+ metadata.gz: 7f0b95117e0a82f6a39d406ccbe97cc026ab73de9536c39e0b48b2a72d683dfb4301b1d3895326291fe11045dcc4cc0550d5b0a33b2ea66cd87d9b76f3b3bc8f
7
+ data.tar.gz: d351d3ff807fdbdddabcf0e7f49c188a0b9fe11615003523a7832e145d75e9be7a9fb214a11f323d03996aa91e729fe9d4f733969de83208a63079e65bb58e17
data/README.md CHANGED
@@ -24,6 +24,13 @@ Or, in Rails you can add it to your Gemfile:
24
24
  gem 'carrierwave-mongoid', :require => 'carrierwave/mongoid'
25
25
  ```
26
26
 
27
+ Note: If using Rails 4, you'll need to make sure `mongoind-grid_fs` is `>= 1.9.0`.
28
+ If in doubt, run `bundle update mongoind-grid_fs`
29
+
30
+ ```ruby
31
+ gem 'mongoid-grid_fs', github: 'ahoward/mongoid-grid_fs'
32
+ ```
33
+
27
34
  ## Getting Started
28
35
 
29
36
  Follow the "Getting Started" directions in the main
@@ -153,14 +160,14 @@ match '/uploads/grid/user/avatar/:id/:filename' => 'gridfs#thumb_avatar', constr
153
160
  | ~> 0.2.0 | ([compare][compare-0.2], [dependencies][deps-0.2]) Rails >= 3.2, Mongoid ~> 2.0 |
154
161
  | ~> 0.1.0 | ([compare][compare-0.1], [dependencies][deps-0.1]) Rails <= 3.1 |
155
162
 
156
- [compare-0.6]: https://github.com/carrierwaveuploader/carrierwave-mongoid/compare/v0.5.0...v0.6.1
163
+ [compare-0.6]: https://github.com/carrierwaveuploader/carrierwave-mongoid/compare/v0.5.0...v0.6.2
157
164
  [compare-0.5]: https://github.com/carrierwaveuploader/carrierwave-mongoid/compare/v0.4.0...v0.5.0
158
165
  [compare-0.4]: https://github.com/carrierwaveuploader/carrierwave-mongoid/compare/v0.3.1...v0.4.0
159
166
  [compare-0.3]: https://github.com/carrierwaveuploader/carrierwave-mongoid/compare/v0.2.1...v0.3.1
160
167
  [compare-0.2]: https://github.com/carrierwaveuploader/carrierwave-mongoid/compare/v0.1.7...v0.2.2
161
168
  [compare-0.1]: https://github.com/carrierwaveuploader/carrierwave-mongoid/compare/v0.1.1...v0.1.7
162
169
 
163
- [deps-0.6]: https://rubygems.org/gems/carrierwave-mongoid/versions/0.6.1
170
+ [deps-0.6]: https://rubygems.org/gems/carrierwave-mongoid/versions/0.6.2
164
171
  [deps-0.5]: https://rubygems.org/gems/carrierwave-mongoid/versions/0.5.0
165
172
  [deps-0.4]: https://rubygems.org/gems/carrierwave-mongoid/versions/0.4.0
166
173
  [deps-0.3]: https://rubygems.org/gems/carrierwave-mongoid/versions/0.3.1
@@ -57,6 +57,14 @@ module CarrierWave
57
57
  changed_attributes.has_key?("#{column}")
58
58
  end
59
59
 
60
+ # The default Mongoid attribute_will_change! method is not enough
61
+ # when we want to upload a new file in an existing embedded document.
62
+ # The custom version of that method forces the callbacks to be
63
+ # ran and so does the upload.
64
+ def #{column}_will_change!
65
+ changed_attributes["#{column}"] = '_new_'
66
+ end
67
+
60
68
  def find_previous_model_for_#{column}
61
69
  if self.embedded?
62
70
  ancestors = [[ self.metadata.key, self._parent ]].tap { |x| x.unshift([ x.first.last.metadata.key, x.first.last._parent ]) while x.first.last.embedded? }
@@ -1,5 +1,5 @@
1
1
  module Carrierwave
2
2
  module Mongoid
3
- VERSION = "0.6.1"
3
+ VERSION = "0.6.2"
4
4
  end
5
5
  end
@@ -569,6 +569,7 @@ describe CarrierWave::Mongoid do
569
569
 
570
570
  @class.class_eval do
571
571
  embeds_many :mongo_locations, cascade_callbacks: true
572
+ accepts_nested_attributes_for :mongo_locations
572
573
  end
573
574
 
574
575
  @doc = @class.new
@@ -592,6 +593,12 @@ describe CarrierWave::Mongoid do
592
593
  doc.mongo_locations.first[:image].should == 'test.jpeg'
593
594
  end
594
595
 
596
+ it "changes the file" do
597
+ @doc.update_attributes mongo_locations_attributes: { '0' => { _id: @embedded_doc._id, image: stub_file('test.jpeg') } }
598
+ @doc.reload
599
+ @doc.mongo_locations.first[:image].should == 'test.jpeg'
600
+ end
601
+
595
602
  describe 'with double embedded documents' do
596
603
 
597
604
  before do
@@ -666,6 +673,38 @@ describe CarrierWave::Mongoid do
666
673
  include_examples "double embedded documents"
667
674
  end
668
675
  end
676
+
677
+ describe 'with embedded documents and nested attributes' do
678
+ before do
679
+ @embedded_doc_class = define_mongo_class('MongoLocation') do
680
+ include Mongoid::Document
681
+ mount_uploader :image, @uploader
682
+ embedded_in :mongo_user
683
+ end
684
+
685
+ @class.class_eval do
686
+ embeds_many :mongo_locations, cascade_callbacks: true
687
+ accepts_nested_attributes_for :mongo_locations
688
+ end
689
+
690
+ @doc = @class.new(mongo_locations_attributes: [{image: stub_file("old.jpeg")}])
691
+ @doc.save.should be_true
692
+ @embedded_doc = @doc.mongo_locations.first
693
+ end
694
+
695
+ it "should set the image on a save" do
696
+ @doc.reload
697
+ @doc.mongo_locations.first.image.path.should match(/old\.jpeg$/)
698
+ @embedded_doc.image.path.should match(/old\.jpeg$/)
699
+ end
700
+
701
+ it "should update the image on update_attributes" do
702
+ @doc.update_attributes(mongo_locations_attributes: [{id: @embedded_doc.id, image: stub_file("new.jpeg")}]).should be_true
703
+ @doc.reload
704
+ @doc.mongo_locations.first.image.path.should match(/new\.jpeg$/)
705
+ @embedded_doc.image.path.should match(/new\.jpeg$/)
706
+ end
707
+ end
669
708
  end
670
709
 
671
710
  describe '#mount_uploader removing old files with versions' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: carrierwave-mongoid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonas Nicklas
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-07-10 00:00:00.000000000 Z
12
+ date: 2013-08-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: carrierwave