carrierwave-qiniu 1.2.1 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1f8f66a9de516d766326b6b71a4458118c1c7a65efb8d658db6a1d3461211afa
4
- data.tar.gz: 287a017867010ed5c08e090716b5b42c22d46e74f90deb0365d523c982f0cd0a
3
+ metadata.gz: 8cbd13740c5daba706d4ec42e685f737a24d943ef4174e4e1b2cc8655f38bbc8
4
+ data.tar.gz: 2ed7b2ff0a935b405a37146dc702a8878c8da3ccd908a471976b9d1b46b67261
5
5
  SHA512:
6
- metadata.gz: '08df3bb2b5aaeecc01e642da1626d43b915850403550573af8e0a5f9c722ad93da768e77a011c260fe84b7f5d79f6d1e1ef6554ba4b5db22434d3114452acdd2'
7
- data.tar.gz: b9231fd84b073877b26deffc7fe495386510af8aac24e945153f481831aa90c6aeae571215e5bd6e6f6470c842fde2d3b4535745fb6cf541337431508e54c239
6
+ metadata.gz: 33bc0e6f25857c631f5e2ac59894495d75a0c0ba4015fbc86f3875e00e179631ca1425336e3ce92a07cfe7a70a3e2f98766a281b0a56f3efd4751e87e9f9bbaf
7
+ data.tar.gz: b13d6fe48838cd66a2366699290ddd936a5453cf013a5e9de7d6be4e6fb89dfbf5896a0458c71f466aee9212f22391b4504de1018d3513d50871c67401b3f26a
@@ -0,0 +1,4 @@
1
+ qiniu_access_key=your-qiniu_access_key
2
+ qiniu_secret_key=your-qiniu_secret_key
3
+ qiniu_bucket=your-qiniu_bucket_name
4
+ qiniu_bucket_domain=your-qiniu_bucket_domain
data/.gitignore CHANGED
@@ -5,6 +5,7 @@
5
5
  .yardoc
6
6
  .env
7
7
  .env.*
8
+ !.env.sample
8
9
  InstalledFiles
9
10
  _yardoc
10
11
  coverage
@@ -0,0 +1,21 @@
1
+ example_id | status | run_time |
2
+ ----------------------------------------- | ------ | --------------- |
3
+ ./spec/carrierwave_qiniu_spec.rb[1:1] | passed | 0.00122 seconds |
4
+ ./spec/carrierwave_qiniu_spec.rb[1:2:1] | passed | 1.09 seconds |
5
+ ./spec/carrierwave_qiniu_spec.rb[1:2:2] | passed | 2.6 seconds |
6
+ ./spec/carrierwave_qiniu_spec.rb[1:2:3] | passed | 1.25 seconds |
7
+ ./spec/carrierwave_qiniu_spec.rb[1:2:4] | passed | 2.5 seconds |
8
+ ./spec/carrierwave_qiniu_spec.rb[1:2:5] | passed | 1.77 seconds |
9
+ ./spec/carrierwave_qiniu_spec.rb[1:2:6:1] | passed | 0.51601 seconds |
10
+ ./spec/carrierwave_qiniu_spec.rb[1:2:6:2] | passed | 0.46774 seconds |
11
+ ./spec/carrierwave_qiniu_spec.rb[1:2:6:3] | passed | 0.45134 seconds |
12
+ ./spec/carrierwave_qiniu_spec.rb[1:3:1:1] | passed | 0.36893 seconds |
13
+ ./spec/carrierwave_qiniu_spec.rb[1:3:1:2] | passed | 0.40568 seconds |
14
+ ./spec/carrierwave_qiniu_spec.rb[1:3:2:1] | passed | 0.38115 seconds |
15
+ ./spec/carrierwave_qiniu_spec.rb[1:3:2:2] | passed | 0.38565 seconds |
16
+ ./spec/carrierwave_qiniu_spec.rb[1:3:2:3] | passed | 0.36964 seconds |
17
+ ./spec/carrierwave_qiniu_spec.rb[1:3:3:1] | passed | 0.41991 seconds |
18
+ ./spec/carrierwave_qiniu_spec.rb[1:3:4:1] | passed | 0.41857 seconds |
19
+ ./spec/carrierwave_qiniu_spec.rb[1:3:4:2] | passed | 0.37235 seconds |
20
+ ./spec/carrierwave_qiniu_spec.rb[1:3:4:3] | passed | 0.38322 seconds |
21
+ ./spec/carrierwave_qiniu_spec.rb[1:3:4:4] | passed | 0.37941 seconds |
@@ -0,0 +1 @@
1
+ ruby-2.7.0
@@ -1,6 +1,10 @@
1
1
 
2
2
  ## CHANGE LOG
3
3
 
4
+ ### v1.2.2
5
+
6
+ - 重构
7
+
4
8
  ### v1.2.1
5
9
 
6
10
  - Implement of cache* method for carrierwave 2.0
data/Gemfile CHANGED
@@ -4,13 +4,15 @@ source "https://gems.ruby-china.com"
4
4
  # Specify your gem's dependencies in carrierwave-qiniu.gemspec
5
5
  gemspec
6
6
 
7
+ gem "rake", "~> 12.0"
8
+ gem "rspec", "~> 3.0"
9
+
7
10
  group :test do
8
11
  gem "rails", "~> 6.0.0"
9
12
  gem "sqlite3"
10
13
  gem "carrierwave", ">= 1"
11
14
  gem "mini_magick"
12
15
  gem "qiniu", "~> 6.9"
13
- gem "rspec"
14
16
  gem "mocha"
15
17
  gem "dotenv"
16
18
  end
@@ -1,71 +1,71 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- carrierwave-qiniu (1.2.0)
4
+ carrierwave-qiniu (1.2.2)
5
5
  carrierwave (>= 1)
6
6
  qiniu (~> 6.9, >= 6.9.0)
7
7
 
8
8
  GEM
9
9
  remote: https://gems.ruby-china.com/
10
10
  specs:
11
- actioncable (6.0.0)
12
- actionpack (= 6.0.0)
11
+ actioncable (6.0.2.1)
12
+ actionpack (= 6.0.2.1)
13
13
  nio4r (~> 2.0)
14
14
  websocket-driver (>= 0.6.1)
15
- actionmailbox (6.0.0)
16
- actionpack (= 6.0.0)
17
- activejob (= 6.0.0)
18
- activerecord (= 6.0.0)
19
- activestorage (= 6.0.0)
20
- activesupport (= 6.0.0)
15
+ actionmailbox (6.0.2.1)
16
+ actionpack (= 6.0.2.1)
17
+ activejob (= 6.0.2.1)
18
+ activerecord (= 6.0.2.1)
19
+ activestorage (= 6.0.2.1)
20
+ activesupport (= 6.0.2.1)
21
21
  mail (>= 2.7.1)
22
- actionmailer (6.0.0)
23
- actionpack (= 6.0.0)
24
- actionview (= 6.0.0)
25
- activejob (= 6.0.0)
22
+ actionmailer (6.0.2.1)
23
+ actionpack (= 6.0.2.1)
24
+ actionview (= 6.0.2.1)
25
+ activejob (= 6.0.2.1)
26
26
  mail (~> 2.5, >= 2.5.4)
27
27
  rails-dom-testing (~> 2.0)
28
- actionpack (6.0.0)
29
- actionview (= 6.0.0)
30
- activesupport (= 6.0.0)
31
- rack (~> 2.0)
28
+ actionpack (6.0.2.1)
29
+ actionview (= 6.0.2.1)
30
+ activesupport (= 6.0.2.1)
31
+ rack (~> 2.0, >= 2.0.8)
32
32
  rack-test (>= 0.6.3)
33
33
  rails-dom-testing (~> 2.0)
34
34
  rails-html-sanitizer (~> 1.0, >= 1.2.0)
35
- actiontext (6.0.0)
36
- actionpack (= 6.0.0)
37
- activerecord (= 6.0.0)
38
- activestorage (= 6.0.0)
39
- activesupport (= 6.0.0)
35
+ actiontext (6.0.2.1)
36
+ actionpack (= 6.0.2.1)
37
+ activerecord (= 6.0.2.1)
38
+ activestorage (= 6.0.2.1)
39
+ activesupport (= 6.0.2.1)
40
40
  nokogiri (>= 1.8.5)
41
- actionview (6.0.0)
42
- activesupport (= 6.0.0)
41
+ actionview (6.0.2.1)
42
+ activesupport (= 6.0.2.1)
43
43
  builder (~> 3.1)
44
44
  erubi (~> 1.4)
45
45
  rails-dom-testing (~> 2.0)
46
46
  rails-html-sanitizer (~> 1.1, >= 1.2.0)
47
- activejob (6.0.0)
48
- activesupport (= 6.0.0)
47
+ activejob (6.0.2.1)
48
+ activesupport (= 6.0.2.1)
49
49
  globalid (>= 0.3.6)
50
- activemodel (6.0.0)
51
- activesupport (= 6.0.0)
52
- activerecord (6.0.0)
53
- activemodel (= 6.0.0)
54
- activesupport (= 6.0.0)
55
- activestorage (6.0.0)
56
- actionpack (= 6.0.0)
57
- activejob (= 6.0.0)
58
- activerecord (= 6.0.0)
50
+ activemodel (6.0.2.1)
51
+ activesupport (= 6.0.2.1)
52
+ activerecord (6.0.2.1)
53
+ activemodel (= 6.0.2.1)
54
+ activesupport (= 6.0.2.1)
55
+ activestorage (6.0.2.1)
56
+ actionpack (= 6.0.2.1)
57
+ activejob (= 6.0.2.1)
58
+ activerecord (= 6.0.2.1)
59
59
  marcel (~> 0.3.1)
60
- activesupport (6.0.0)
60
+ activesupport (6.0.2.1)
61
61
  concurrent-ruby (~> 1.0, >= 1.0.2)
62
62
  i18n (>= 0.7, < 2)
63
63
  minitest (~> 5.1)
64
64
  tzinfo (~> 1.1)
65
- zeitwerk (~> 2.1, >= 2.1.8)
65
+ zeitwerk (~> 2.2)
66
66
  addressable (2.7.0)
67
67
  public_suffix (>= 2.0.2, < 5.0)
68
- builder (3.2.3)
68
+ builder (3.2.4)
69
69
  carrierwave (2.0.2)
70
70
  activemodel (>= 5.0.0)
71
71
  activesupport (>= 5.0.0)
@@ -74,12 +74,12 @@ GEM
74
74
  mimemagic (>= 0.3.0)
75
75
  mini_mime (>= 0.1.3)
76
76
  concurrent-ruby (1.1.5)
77
- crass (1.0.4)
77
+ crass (1.0.6)
78
78
  diff-lcs (1.3)
79
79
  domain_name (0.5.20190701)
80
80
  unf (>= 0.0.5, < 1.0.0)
81
81
  dotenv (2.7.5)
82
- erubi (1.8.0)
82
+ erubi (1.9.0)
83
83
  ffi (1.12.1)
84
84
  globalid (0.4.2)
85
85
  activesupport (>= 4.2.0)
@@ -91,59 +91,57 @@ GEM
91
91
  image_processing (1.10.3)
92
92
  mini_magick (>= 4.9.5, < 5)
93
93
  ruby-vips (>= 2.0.17, < 3)
94
- loofah (2.2.3)
94
+ loofah (2.4.0)
95
95
  crass (~> 1.0.2)
96
96
  nokogiri (>= 1.5.9)
97
97
  mail (2.7.1)
98
98
  mini_mime (>= 0.1.1)
99
99
  marcel (0.3.3)
100
100
  mimemagic (~> 0.3.2)
101
- metaclass (0.0.4)
102
101
  method_source (0.9.2)
103
102
  mime-types (3.3.1)
104
103
  mime-types-data (~> 3.2015)
105
104
  mime-types-data (3.2019.1009)
106
105
  mimemagic (0.3.3)
107
- mini_magick (4.9.5)
106
+ mini_magick (4.10.1)
108
107
  mini_mime (1.0.2)
109
108
  mini_portile2 (2.4.0)
110
109
  minitest (5.14.0)
111
- mocha (1.9.0)
112
- metaclass (~> 0.0.1)
110
+ mocha (1.11.2)
113
111
  netrc (0.11.0)
114
- nio4r (2.5.1)
115
- nokogiri (1.10.4)
112
+ nio4r (2.5.2)
113
+ nokogiri (1.10.7)
116
114
  mini_portile2 (~> 2.4.0)
117
115
  public_suffix (4.0.3)
118
116
  qiniu (6.9.0)
119
117
  mime-types (~> 3.1)
120
118
  rest-client (~> 2.0)
121
- rack (2.0.7)
119
+ rack (2.1.1)
122
120
  rack-test (1.1.0)
123
121
  rack (>= 1.0, < 3)
124
- rails (6.0.0)
125
- actioncable (= 6.0.0)
126
- actionmailbox (= 6.0.0)
127
- actionmailer (= 6.0.0)
128
- actionpack (= 6.0.0)
129
- actiontext (= 6.0.0)
130
- actionview (= 6.0.0)
131
- activejob (= 6.0.0)
132
- activemodel (= 6.0.0)
133
- activerecord (= 6.0.0)
134
- activestorage (= 6.0.0)
135
- activesupport (= 6.0.0)
122
+ rails (6.0.2.1)
123
+ actioncable (= 6.0.2.1)
124
+ actionmailbox (= 6.0.2.1)
125
+ actionmailer (= 6.0.2.1)
126
+ actionpack (= 6.0.2.1)
127
+ actiontext (= 6.0.2.1)
128
+ actionview (= 6.0.2.1)
129
+ activejob (= 6.0.2.1)
130
+ activemodel (= 6.0.2.1)
131
+ activerecord (= 6.0.2.1)
132
+ activestorage (= 6.0.2.1)
133
+ activesupport (= 6.0.2.1)
136
134
  bundler (>= 1.3.0)
137
- railties (= 6.0.0)
135
+ railties (= 6.0.2.1)
138
136
  sprockets-rails (>= 2.0.0)
139
137
  rails-dom-testing (2.0.3)
140
138
  activesupport (>= 4.2.0)
141
139
  nokogiri (>= 1.6)
142
- rails-html-sanitizer (1.2.0)
143
- loofah (~> 2.2, >= 2.2.2)
144
- railties (6.0.0)
145
- actionpack (= 6.0.0)
146
- activesupport (= 6.0.0)
140
+ rails-html-sanitizer (1.3.0)
141
+ loofah (~> 2.3)
142
+ railties (6.0.2.1)
143
+ actionpack (= 6.0.2.1)
144
+ activesupport (= 6.0.2.1)
147
145
  method_source
148
146
  rake (>= 0.8.7)
149
147
  thor (>= 0.20.3, < 2.0)
@@ -153,30 +151,30 @@ GEM
153
151
  http-cookie (>= 1.0.2, < 2.0)
154
152
  mime-types (>= 1.16, < 4.0)
155
153
  netrc (~> 0.8)
156
- rspec (3.8.0)
157
- rspec-core (~> 3.8.0)
158
- rspec-expectations (~> 3.8.0)
159
- rspec-mocks (~> 3.8.0)
160
- rspec-core (3.8.2)
161
- rspec-support (~> 3.8.0)
162
- rspec-expectations (3.8.4)
154
+ rspec (3.9.0)
155
+ rspec-core (~> 3.9.0)
156
+ rspec-expectations (~> 3.9.0)
157
+ rspec-mocks (~> 3.9.0)
158
+ rspec-core (3.9.1)
159
+ rspec-support (~> 3.9.1)
160
+ rspec-expectations (3.9.0)
163
161
  diff-lcs (>= 1.2.0, < 2.0)
164
- rspec-support (~> 3.8.0)
165
- rspec-mocks (3.8.1)
162
+ rspec-support (~> 3.9.0)
163
+ rspec-mocks (3.9.1)
166
164
  diff-lcs (>= 1.2.0, < 2.0)
167
- rspec-support (~> 3.8.0)
168
- rspec-support (3.8.2)
165
+ rspec-support (~> 3.9.0)
166
+ rspec-support (3.9.2)
169
167
  ruby-vips (2.0.17)
170
168
  ffi (~> 1.9)
171
- sprockets (3.7.2)
169
+ sprockets (4.0.0)
172
170
  concurrent-ruby (~> 1.0)
173
171
  rack (> 1, < 3)
174
172
  sprockets-rails (3.2.1)
175
173
  actionpack (>= 4.0)
176
174
  activesupport (>= 4.0)
177
175
  sprockets (>= 3.0.0)
178
- sqlite3 (1.4.1)
179
- thor (0.20.3)
176
+ sqlite3 (1.4.2)
177
+ thor (1.0.1)
180
178
  thread_safe (0.3.6)
181
179
  tzinfo (1.2.6)
182
180
  thread_safe (~> 0.1)
@@ -199,7 +197,8 @@ DEPENDENCIES
199
197
  mocha
200
198
  qiniu (~> 6.9)
201
199
  rails (~> 6.0.0)
202
- rspec
200
+ rake (~> 12.0)
201
+ rspec (~> 3.0)
203
202
  sqlite3
204
203
 
205
204
  BUNDLED WITH
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2020 Marble Wu
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Carrierwave::Qiniu
2
2
 
3
- [![Gem Version](https://badge.fury.io/rb/carrierwave-qiniu@2x.png?1.2.1)](http://badge.fury.io/rb/carrierwave-qiniu)
3
+ [![Gem Version](https://badge.fury.io/rb/carrierwave-qiniu@2x.png?1.2.2)](http://badge.fury.io/rb/carrierwave-qiniu)
4
4
 
5
5
  This gem adds storage support for [Qiniu](http://qiniutek.com) to [Carrierwave](https://github.com/jnicklas/carrierwave)
6
6
 
@@ -10,7 +10,7 @@ example: https://github.com/huobazi/carrierwave-qiniu-example
10
10
 
11
11
  Add the following to your application's Gemfile:
12
12
 
13
- gem 'carrierwave-qiniu', '~> 1.2.1'
13
+ gem 'carrierwave-qiniu', '~> 1.2.2'
14
14
  gem 'carrierwave-i18n' # If you need to use locales other than English
15
15
 
16
16
  And then execute:
@@ -19,7 +19,7 @@ And then execute:
19
19
 
20
20
  Or install it yourself as:
21
21
 
22
- $ gem install carrierwave-qiniu -v 1.2.1
22
+ $ gem install carrierwave-qiniu -v 1.2.2
23
23
 
24
24
  ## Usage
25
25
 
@@ -64,18 +64,42 @@ class AvatarUploader < CarrierWave::Uploader::Base
64
64
  self.qiniu_callback_url = "http://<ip1>/callback;http://<ip2>/callback"
65
65
  self.qiniu_callback_body = "key=$(key)&hash=$(etag)&w=$(imageInfo.width)&h=$(imageInfo.height)" # see http://developer.qiniu.com/docs/v6/api/overview/up/response/vars.html#magicvar
66
66
  self.qiniu_persistent_notify_url = "http://<ip>/notify"
67
-
68
- # 指定预转数据处理命令
69
- # https://developer.qiniu.com/kodo/manual/1206/put-policy#2
70
- def qiniu_persistent_ops
71
- commands = []
72
-
73
- commands << "avthumb/mp4"
74
- commands << "avthumb/m3u8/noDomain/1/segtime/15/vb/440k"
75
-
76
- commands
77
- end
78
-
67
+
68
+ # 使用的队列名称,不设置代表不使用私有队列,使用公有队列
69
+ # 可以自己创建私有队列 see: https://portal.qiniu.com/dora/mps/new
70
+ self.qiniu_persistent_pipeline = "marble_persistent"
71
+
72
+ # 指定预转数据处理命令,返回由每条命令组成的数组
73
+ # See
74
+ # https://developer.qiniu.com/dora/api/1291/persistent-data-processing-pfop#
75
+ # https://developer.qiniu.com/dora/api/3686/pfop-directions-for-use
76
+ # https://developer.qiniu.com/kodo/manual/1206/put-policy#persistentOps
77
+ def qiniu_persistent_ops
78
+ commands = []
79
+
80
+ # 以预转持久化形式,将mp4视频转换为flv格式。
81
+ # https://developer.qiniu.com/dora/api/1248/audio-and-video-transcoding-avthumb
82
+ fops1 = "avthumb/flv"
83
+ saveas_key1 = ::Qiniu::Utils.urlsafe_base64_encode("#{self.qiniu_bucket}:#{store_dir}/#{self.filename}_flv.flv")
84
+ fops1 = fops1 + '|saveas/' + saveas_key1
85
+ commands << fops1
86
+
87
+ # 以预转持久化形式,将mp4视频转换为avi格式。
88
+ # https://developer.qiniu.com/dora/api/1248/audio-and-video-transcoding-avthumb
89
+ fops2 = "avthumb/avi"
90
+ saveas_key2 = ::Qiniu::Utils.urlsafe_base64_encode("#{self.qiniu_bucket}:#{store_dir}/#{self.filename}_avi.avi")
91
+ fops2 = fops2 + '|saveas/' + saveas_key2
92
+ commands << fops2
93
+
94
+ # 要进行视频截图操作。
95
+ # https://developer.qiniu.com/dora/api/1313/video-frame-thumbnails-vframe
96
+ fops3 = "vframe/jpg/offset/3/w/1280/h/720/rotate/auto"
97
+ saveas_key3 = ::Qiniu::Utils.urlsafe_base64_encode("#{self.qiniu_bucket}:#{store_dir}/#{self.filename}_screenshot.jpg")
98
+ fops3 = fops3 + '|saveas/' + saveas_key3
99
+ commands << fops3
100
+
101
+ commands
102
+ end
79
103
  end
80
104
  ```
81
105
 
@@ -126,7 +150,6 @@ end
126
150
 
127
151
  class AvatarUploader < CarrierWave::Uploader::Base
128
152
  storage :qiniu
129
-
130
153
  use_qiniu_styles
131
154
  end
132
155
 
@@ -160,7 +183,11 @@ $ rake carrierwave:qiniu:sync_styles
160
183
  ```
161
184
  You can see a example project on: https://github.com/huobazi/carrierwave-qiniu-example
162
185
 
163
- or see the spec test on https://github.com/huobazi/carrierwave-qiniu/blob/master/spec/upload_spec.rb
186
+ or see the spec test on https://github.com/huobazi/carrierwave-qiniu/blob/master/spec/carrierwave-qiniu_spec.rb
187
+
188
+ ## LICENSE
189
+
190
+ See the [LICENSE](https://github.com/huobazi/carrierwave-qiniu/blob/master/LICENSE.txt).
164
191
 
165
192
  ## Contributing
166
193