carrierwave-mongoid 0.3.0 → 0.3.1

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,10 @@
1
+ services: mongodb
2
+
3
+ notifications:
4
+ email: false
5
+
6
+ language: ruby
7
+ rvm:
8
+ - 1.9.3
9
+ - jruby-19mode
10
+ - rbx-19mode
data/Gemfile CHANGED
@@ -1,4 +1,8 @@
1
1
  source "http://rubygems.org"
2
2
 
3
+ group :development, :test do
4
+ gem 'json', :platforms => [:jruby]
5
+ end
6
+
3
7
  # Specify your gem's dependencies in carrierwave-mongoid.gemspec
4
8
  gemspec
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # CarrierWave for Mongoid
1
+ # CarrierWave for 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/)
@@ -64,7 +64,6 @@ like this:
64
64
 
65
65
  ```ruby
66
66
  CarrierWave.configure do |config|
67
- config.grid_fs_connection = Mongoid.database
68
67
  config.storage = :grid_fs
69
68
  config.root = Rails.root.join('tmp')
70
69
  config.cache_dir = "uploads"
@@ -73,6 +72,10 @@ end
73
72
 
74
73
  ## Version differences
75
74
 
75
+ ### 0.3.x
76
+
77
+ carrierwave-mongoid ~> 0.3.0 is only compatible with Mongoid 3.0 or higher.
78
+
76
79
  ### 0.2.x
77
80
 
78
81
  carrierwave-mongoid ~> 0.2.0 is only compatible with Rails 3.2 or higher.
@@ -63,9 +63,13 @@ module CarrierWave
63
63
 
64
64
  def serializable_hash(options=nil)
65
65
  hash = {}
66
+
67
+ except = options && options[:except] && Array.wrap(options[:except]).map(&:to_s)
68
+ only = options && options[:only] && Array.wrap(options[:only]).map(&:to_s)
69
+
66
70
  self.class.uploaders.each do |column, uploader|
67
- if (!options[:only] && !options[:except]) || (options[:only] && options[:only].include?(column)) || (options[:except] && !options[:except].include?(column))
68
- hash[column.to_s] = _mounter(:#{column}).uploader.serializable_hash
71
+ if (!only && !except) || (only && only.include?(column.to_s)) || (except && !except.include?(column.to_s))
72
+ hash[column.to_s] = _mounter(column.to_sym).uploader.serializable_hash
69
73
  end
70
74
  end
71
75
  super(options).merge(hash)
@@ -1,5 +1,5 @@
1
1
  module Carrierwave
2
2
  module Mongoid
3
- VERSION = "0.3.0"
3
+ VERSION = "0.3.1"
4
4
  end
5
5
  end
@@ -20,6 +20,7 @@ def define_mongo_class(class_name, &block)
20
20
  end
21
21
 
22
22
  class MongoUploader < CarrierWave::Uploader::Base; end
23
+ class AnotherMongoUploader < CarrierWave::Uploader::Base; end
23
24
 
24
25
  class IntegrityErrorUploader < CarrierWave::Uploader::Base
25
26
  process :monkey
@@ -765,4 +766,25 @@ describe CarrierWave::Mongoid do
765
766
  end
766
767
  end
767
768
 
769
+ context "JSON serialization with multiple uploaders" do
770
+ before do
771
+ @class = reset_mongo_class
772
+ @class.send(:mount_uploader, :textfile,AnotherMongoUploader)
773
+ @event = @class.new
774
+ @event.image = stub_file('old.jpeg')
775
+ @event.textfile = stub_file('old.txt')
776
+ end
777
+
778
+ it "serializes the correct values" do
779
+ @event.serializable_hash["image"]["url"].should match(/old\.jpeg$/)
780
+ @event.serializable_hash["textfile"]["url"].should match(/old\.txt$/)
781
+ end
782
+
783
+ it "should have JSON for each uploader" do
784
+ parsed = JSON.parse(@event.to_json)
785
+ parsed["image"]["url"].should match(/old\.jpeg$/)
786
+ parsed["textfile"]["url"].should match(/old\.txt$/)
787
+ end
788
+ end
789
+
768
790
  end
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.3.1
4
5
  prerelease:
5
- version: 0.3.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: 2012-12-16 00:00:00.000000000 Z
13
+ date: 2013-01-17 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.7.1
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.7.1
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.7.1
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
@@ -132,6 +132,7 @@ extensions: []
132
132
  extra_rdoc_files: []
133
133
  files:
134
134
  - .gitignore
135
+ - .travis.yml
135
136
  - Gemfile
136
137
  - LICENSE
137
138
  - README.md
@@ -162,19 +163,19 @@ required_ruby_version: !ruby/object:Gem::Requirement
162
163
  requirements:
163
164
  - - ! '>='
164
165
  - !ruby/object:Gem::Version
166
+ version: '0'
165
167
  segments:
166
168
  - 0
167
- hash: 177635873472418624
168
- version: '0'
169
+ hash: -2540774415107593561
169
170
  required_rubygems_version: !ruby/object:Gem::Requirement
170
171
  none: false
171
172
  requirements:
172
173
  - - ! '>='
173
174
  - !ruby/object:Gem::Version
175
+ version: '0'
174
176
  segments:
175
177
  - 0
176
- hash: 177635873472418624
177
- version: '0'
178
+ hash: -2540774415107593561
178
179
  requirements: []
179
180
  rubyforge_project: carrierwave-mongoid
180
181
  rubygems_version: 1.8.23