carrierwave-mongoid 0.3.0 → 0.3.1

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