carrierwave-mongoid 0.1.7 → 0.2.0
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.
- data/README.md +26 -7
- data/carrierwave-mongoid.gemspec +1 -1
- data/lib/carrierwave/mongoid.rb +27 -0
- data/lib/carrierwave/mongoid/version.rb +1 -1
- data/spec/mongoid_spec.rb +25 -0
- metadata +17 -17
data/README.md
CHANGED
@@ -48,17 +48,36 @@ CarrierWave.configure do |config|
|
|
48
48
|
end
|
49
49
|
```
|
50
50
|
|
51
|
-
##
|
51
|
+
## Version differences
|
52
52
|
|
53
|
-
|
53
|
+
### 0.2.0
|
54
54
|
|
55
|
-
|
55
|
+
carrierwave-mongoid ~> 0.2.0 is only compatible with Rails 3.2 or higher.
|
56
|
+
|
57
|
+
### 0.1.x
|
58
|
+
|
59
|
+
carrierwave-mongoid ~> 0.1.1 depends on carrierwave ~> 0.5.7. This version of
|
60
|
+
carrierwave is only compatible with Rails 3.1 or earlier.
|
56
61
|
|
57
|
-
|
62
|
+
### Changes from earlier versions of CarrierWave <= 0.5.6
|
63
|
+
|
64
|
+
CarrierWave used to have built-in Mongoid support. This gem replaces that
|
65
|
+
support and only only supports Mongoid ~> 2.1
|
66
|
+
|
67
|
+
You can use `upload_identifier` to retrieve the original name of the uploaded file.
|
58
68
|
|
59
|
-
|
60
|
-
|
61
|
-
|
69
|
+
In the earlier version, the mount_uploader-method for mongoid had been defined
|
70
|
+
in lib/carrierwave/orm/mongoid. This code has been moved to
|
71
|
+
carrierwave/mongoid. If you update from earlier versions, don't forget to adjust
|
72
|
+
your require accordingly in your carrierwave-initializer.
|
73
|
+
|
74
|
+
The default mount column used to be the name of the upload column plus
|
75
|
+
`_filename`. Now it is simply the name of the column. Most of the time, the
|
76
|
+
column was called `upload`, so it would have been mounted to `upload_filename`.
|
77
|
+
If you'd like to avoid a database migration, simply use the `:mount_on` option
|
78
|
+
to specify the field name explicitly. Therefore, you only have to add a
|
79
|
+
`_filename` to your column name. For example, if your column is called
|
80
|
+
`:upload`:
|
62
81
|
|
63
82
|
```ruby
|
64
83
|
class Dokument
|
data/carrierwave-mongoid.gemspec
CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
20
20
|
s.require_paths = ["lib"]
|
21
21
|
|
22
|
-
s.add_dependency "carrierwave", ["~> 0.
|
22
|
+
s.add_dependency "carrierwave", ["~> 0.6.1"]
|
23
23
|
s.add_dependency "mongoid", ["~> 2.1"]
|
24
24
|
s.add_development_dependency "rspec", ["~> 2.6"]
|
25
25
|
s.add_development_dependency "bson_ext", ["~> 1.3"]
|
data/lib/carrierwave/mongoid.rb
CHANGED
@@ -59,9 +59,36 @@ module CarrierWave
|
|
59
59
|
self.class.find(to_key.first)
|
60
60
|
end
|
61
61
|
end
|
62
|
+
|
63
|
+
def serializable_hash(options=nil)
|
64
|
+
hash = {}
|
65
|
+
self.class.uploaders.each do |column, uploader|
|
66
|
+
hash[column.to_s] = _mounter(:#{column}).uploader.serializable_hash
|
67
|
+
end
|
68
|
+
super(options).merge(hash)
|
69
|
+
end
|
62
70
|
RUBY
|
63
71
|
end
|
64
72
|
end # Mongoid
|
65
73
|
end # CarrierWave
|
66
74
|
|
75
|
+
CarrierWave::Storage.autoload :GridFS, 'carrierwave/storage/grid_fs'
|
76
|
+
|
77
|
+
class CarrierWave::Uploader::Base
|
78
|
+
add_config :grid_fs_connection
|
79
|
+
add_config :grid_fs_database
|
80
|
+
add_config :grid_fs_host
|
81
|
+
add_config :grid_fs_port
|
82
|
+
add_config :grid_fs_username
|
83
|
+
add_config :grid_fs_password
|
84
|
+
add_config :grid_fs_access_url
|
85
|
+
|
86
|
+
configure do |config|
|
87
|
+
config.storage_engines[:grid_fs] = "CarrierWave::Storage::GridFS"
|
88
|
+
config.grid_fs_database = "carrierwave"
|
89
|
+
config.grid_fs_host = "localhost"
|
90
|
+
config.grid_fs_port = 27017
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
67
94
|
Mongoid::Document::ClassMethods.send(:include, CarrierWave::Mongoid)
|
data/spec/mongoid_spec.rb
CHANGED
@@ -97,6 +97,31 @@ describe CarrierWave::Mongoid do
|
|
97
97
|
@doc.image.current_path.should == public_path('uploads/test.jpg')
|
98
98
|
end
|
99
99
|
|
100
|
+
it "should return valid JSON when to_json is called when image is nil" do
|
101
|
+
@doc[:image] = nil
|
102
|
+
hash = JSON.parse(@doc.to_json)
|
103
|
+
hash.keys.should include("image")
|
104
|
+
hash["image"].keys.should include("url")
|
105
|
+
hash["image"]["url"].should be_nil
|
106
|
+
end
|
107
|
+
|
108
|
+
it "should return valid JSON when to_json is called when image is present" do
|
109
|
+
@doc[:image] = 'test.jpeg'
|
110
|
+
@doc.save!
|
111
|
+
@doc.reload
|
112
|
+
|
113
|
+
JSON.parse(@doc.to_json)["image"].should == {"url" => "/uploads/test.jpeg"}
|
114
|
+
end
|
115
|
+
|
116
|
+
it "should return valid JSON when to_json is called on a collection containing uploader from a model" do
|
117
|
+
@doc[:image] = 'test.jpeg'
|
118
|
+
@doc.save!
|
119
|
+
@doc.reload
|
120
|
+
|
121
|
+
JSON.parse({:data => @doc.image}.to_json).should == {"data"=>{"image"=>{"url"=>"/uploads/test.jpeg"}}}
|
122
|
+
end
|
123
|
+
|
124
|
+
|
100
125
|
end
|
101
126
|
|
102
127
|
end
|
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.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,22 +10,22 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-04-
|
13
|
+
date: 2012-04-13 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: carrierwave
|
17
|
-
requirement: &
|
17
|
+
requirement: &70329431625080 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ~>
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 0.
|
22
|
+
version: 0.6.1
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *70329431625080
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: mongoid
|
28
|
-
requirement: &
|
28
|
+
requirement: &70329431624400 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '2.1'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *70329431624400
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: rspec
|
39
|
-
requirement: &
|
39
|
+
requirement: &70329431623900 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ~>
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: '2.6'
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *70329431623900
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: bson_ext
|
50
|
-
requirement: &
|
50
|
+
requirement: &70329431623420 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ~>
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: '1.3'
|
56
56
|
type: :development
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *70329431623420
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: rake
|
61
|
-
requirement: &
|
61
|
+
requirement: &70329431622880 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ~>
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: '0.9'
|
67
67
|
type: :development
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *70329431622880
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: mini_magick
|
72
|
-
requirement: &
|
72
|
+
requirement: &70329431622380 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ! '>='
|
@@ -77,7 +77,7 @@ dependencies:
|
|
77
77
|
version: '0'
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *70329431622380
|
81
81
|
description: Mongoid support for CarrierWave
|
82
82
|
email:
|
83
83
|
- jonas.nicklas@gmail.com
|
@@ -119,7 +119,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
119
119
|
version: '0'
|
120
120
|
segments:
|
121
121
|
- 0
|
122
|
-
hash:
|
122
|
+
hash: 1522479817545957250
|
123
123
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
124
124
|
none: false
|
125
125
|
requirements:
|
@@ -128,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
128
128
|
version: '0'
|
129
129
|
segments:
|
130
130
|
- 0
|
131
|
-
hash:
|
131
|
+
hash: 1522479817545957250
|
132
132
|
requirements: []
|
133
133
|
rubyforge_project: carrierwave-mongoid
|
134
134
|
rubygems_version: 1.8.11
|