carrierwave-upyun 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NjA0MzI2NThlYzM0YjUyM2MxOTU5NDRiZjkyYzZlZjJmN2JkZGM5Yg==
5
+ data.tar.gz: !binary |-
6
+ ZDQyZGE2YTk1YTlkMjViYzcyMTkxMmY5ZTc0Njg3NjY1NThiNGQ1ZQ==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ YzdiMDExMjA0YjcxMGY2MTQ5Zjc4NzVhMmRmMWQxYTE3OGU5ZDViZGVhMWFh
10
+ YzBhMjBmNTIwMTNjZTAxZTY0ZmY3MTI2ZTVhMWQwOWYwMmI0Yjg3Zjg0ZDhm
11
+ Yjc3ODNlMmUzZTRkZThkMzgxYmRiMmY2NTEyY2EzNzY3YTU1ZjE=
12
+ data.tar.gz: !binary |-
13
+ ZWM2ZWE0NGI5MjZhMWM3YTg3Y2U0MjQzMTdmOGYzNTk1Y2M4ODUyMTRiYjQ5
14
+ NjAxZjdiYTBmODVmYzNhODdkN2JkYTAxZmFhYWEwODZkN2NhMDQxZmNjMWY4
15
+ YzM3YzJjNjI4MDQxZTFiMGQyM2IyNjg0MzllNDQxNjZkOTMxY2M=
data/Gemfile CHANGED
@@ -1,12 +1,10 @@
1
- source :rubygems
2
- gem "rake"
1
+ source "http://ruby.taobao.org/"
2
+
3
+ gemspec
3
4
 
4
5
  group :test do
5
- gem 'rails', '3.0.0'
6
- gem 'sqlite3-ruby', :require => 'sqlite3'
7
- gem 'carrierwave'
6
+ gem "rails", "~> 3.2.13"
7
+ gem 'sqlite3'
8
8
  gem 'mini_magick'
9
- gem 'rest-client'
10
9
  gem 'rspec','~> 2.6.0'
11
- gem 'mocha','0.10.0'
12
10
  end
@@ -1,73 +1,85 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ carrierwave-upyun (0.1.6)
5
+ carrierwave (>= 0.5.7)
6
+ rest-client (>= 1.6.7)
7
+
1
8
  GEM
2
- remote: http://rubygems.org/
9
+ remote: http://ruby.taobao.org/
3
10
  specs:
4
- abstract (1.0.0)
5
- actionmailer (3.0.0)
6
- actionpack (= 3.0.0)
7
- mail (~> 2.2.5)
8
- actionpack (3.0.0)
9
- activemodel (= 3.0.0)
10
- activesupport (= 3.0.0)
11
- builder (~> 2.1.2)
12
- erubis (~> 2.6.6)
13
- i18n (~> 0.4.1)
14
- rack (~> 1.2.1)
15
- rack-mount (~> 0.6.12)
16
- rack-test (~> 0.5.4)
17
- tzinfo (~> 0.3.23)
18
- activemodel (3.0.0)
19
- activesupport (= 3.0.0)
20
- builder (~> 2.1.2)
21
- i18n (~> 0.4.1)
22
- activerecord (3.0.0)
23
- activemodel (= 3.0.0)
24
- activesupport (= 3.0.0)
25
- arel (~> 1.0.0)
26
- tzinfo (~> 0.3.23)
27
- activeresource (3.0.0)
28
- activemodel (= 3.0.0)
29
- activesupport (= 3.0.0)
30
- activesupport (3.0.0)
31
- arel (1.0.1)
32
- activesupport (~> 3.0.0)
33
- builder (2.1.2)
34
- carrierwave (0.5.7)
35
- activesupport (~> 3.0)
11
+ actionmailer (3.2.13)
12
+ actionpack (= 3.2.13)
13
+ mail (~> 2.5.3)
14
+ actionpack (3.2.13)
15
+ activemodel (= 3.2.13)
16
+ activesupport (= 3.2.13)
17
+ builder (~> 3.0.0)
18
+ erubis (~> 2.7.0)
19
+ journey (~> 1.0.4)
20
+ rack (~> 1.4.5)
21
+ rack-cache (~> 1.2)
22
+ rack-test (~> 0.6.1)
23
+ sprockets (~> 2.2.1)
24
+ activemodel (3.2.13)
25
+ activesupport (= 3.2.13)
26
+ builder (~> 3.0.0)
27
+ activerecord (3.2.13)
28
+ activemodel (= 3.2.13)
29
+ activesupport (= 3.2.13)
30
+ arel (~> 3.0.2)
31
+ tzinfo (~> 0.3.29)
32
+ activeresource (3.2.13)
33
+ activemodel (= 3.2.13)
34
+ activesupport (= 3.2.13)
35
+ activesupport (3.2.13)
36
+ i18n (= 0.6.1)
37
+ multi_json (~> 1.0)
38
+ arel (3.0.2)
39
+ builder (3.0.4)
40
+ carrierwave (0.8.0)
41
+ activemodel (>= 3.2.0)
42
+ activesupport (>= 3.2.0)
36
43
  diff-lcs (1.1.3)
37
- erubis (2.6.6)
38
- abstract (>= 1.0.0)
39
- i18n (0.4.2)
40
- mail (2.2.19)
41
- activesupport (>= 2.3.6)
44
+ erubis (2.7.0)
45
+ hike (1.2.2)
46
+ i18n (0.6.1)
47
+ journey (1.0.4)
48
+ json (1.7.7)
49
+ mail (2.5.3)
42
50
  i18n (>= 0.4.0)
43
51
  mime-types (~> 1.16)
44
52
  treetop (~> 1.4.8)
45
- metaclass (0.0.1)
46
- mime-types (1.17.2)
53
+ mime-types (1.23)
47
54
  mini_magick (3.3)
48
55
  subexec (~> 0.1.0)
49
- mocha (0.10.0)
50
- metaclass (~> 0.0.1)
56
+ multi_json (1.7.2)
51
57
  polyglot (0.3.3)
52
- rack (1.2.4)
53
- rack-mount (0.6.14)
54
- rack (>= 1.0.0)
55
- rack-test (0.5.7)
58
+ rack (1.4.5)
59
+ rack-cache (1.2)
60
+ rack (>= 0.4)
61
+ rack-ssl (1.3.3)
62
+ rack
63
+ rack-test (0.6.2)
56
64
  rack (>= 1.0)
57
- rails (3.0.0)
58
- actionmailer (= 3.0.0)
59
- actionpack (= 3.0.0)
60
- activerecord (= 3.0.0)
61
- activeresource (= 3.0.0)
62
- activesupport (= 3.0.0)
63
- bundler (~> 1.0.0)
64
- railties (= 3.0.0)
65
- railties (3.0.0)
66
- actionpack (= 3.0.0)
67
- activesupport (= 3.0.0)
68
- rake (>= 0.8.4)
69
- thor (~> 0.14.0)
70
- rake (0.9.2.2)
65
+ rails (3.2.13)
66
+ actionmailer (= 3.2.13)
67
+ actionpack (= 3.2.13)
68
+ activerecord (= 3.2.13)
69
+ activeresource (= 3.2.13)
70
+ activesupport (= 3.2.13)
71
+ bundler (~> 1.0)
72
+ railties (= 3.2.13)
73
+ railties (3.2.13)
74
+ actionpack (= 3.2.13)
75
+ activesupport (= 3.2.13)
76
+ rack-ssl (~> 1.3.2)
77
+ rake (>= 0.8.7)
78
+ rdoc (~> 3.4)
79
+ thor (>= 0.14.6, < 2.0)
80
+ rake (0.9.6)
81
+ rdoc (3.12.2)
82
+ json (~> 1.4)
71
83
  rest-client (1.6.7)
72
84
  mime-types (>= 1.16)
73
85
  rspec (2.6.0)
@@ -78,25 +90,26 @@ GEM
78
90
  rspec-expectations (2.6.0)
79
91
  diff-lcs (~> 1.1.2)
80
92
  rspec-mocks (2.6.0)
81
- sqlite3 (1.3.4)
82
- sqlite3-ruby (1.3.3)
83
- sqlite3 (>= 1.3.3)
93
+ sprockets (2.2.2)
94
+ hike (~> 1.2)
95
+ multi_json (~> 1.0)
96
+ rack (~> 1.0)
97
+ tilt (~> 1.1, != 1.3.0)
98
+ sqlite3 (1.3.7)
84
99
  subexec (0.1.0)
85
- thor (0.14.6)
86
- treetop (1.4.10)
100
+ thor (0.18.1)
101
+ tilt (1.3.7)
102
+ treetop (1.4.12)
87
103
  polyglot
88
104
  polyglot (>= 0.3.1)
89
- tzinfo (0.3.30)
105
+ tzinfo (0.3.37)
90
106
 
91
107
  PLATFORMS
92
108
  ruby
93
109
 
94
110
  DEPENDENCIES
95
- carrierwave
111
+ carrierwave-upyun!
96
112
  mini_magick
97
- mocha (= 0.10.0)
98
- rails (= 3.0.0)
99
- rake
100
- rest-client
113
+ rails (~> 3.2.13)
101
114
  rspec (~> 2.6.0)
102
- sqlite3-ruby
115
+ sqlite3
data/README.md CHANGED
@@ -21,7 +21,9 @@ CarrierWave.configure do |config|
21
21
  config.upyun_username = "xxxxxx"
22
22
  config.upyun_password = 'xxxxxx'
23
23
  config.upyun_bucket = "my_bucket"
24
- config.upyun_bucket_domain = "my_bucket.files.example.com"
24
+ # upyun_bucket_domain 以后将会弃用,请改用 upyun_bucket_host
25
+ # config.upyun_bucket_domain = "my_bucket.files.example.com"
26
+ config.upyun_bucket_host = "http://my_bucket.files.example.com"
25
27
  end
26
28
  ```
27
29
 
@@ -40,7 +42,7 @@ class AvatarUploader < CarrierWave::Uploader::Base
40
42
  storage :upyun
41
43
 
42
44
  self.upyun_bucket = "avatars"
43
- self.upyun_bucket_domain = "avatars.files.example.com"
45
+ self.upyun_bucket_host = "https://avatars.files.example.com"
44
46
  end
45
47
  ```
46
48
 
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "carrierwave-upyun"
6
- s.version = "0.1.6"
6
+ s.version = "0.1.7"
7
7
  s.platform = Gem::Platform::RUBY
8
8
  s.authors = ["Nowa Zhu"]
9
9
  s.email = ["nowazhu@gmail.com"]
@@ -18,5 +18,4 @@ Gem::Specification.new do |s|
18
18
  s.add_dependency "carrierwave", [">= 0.5.7"]
19
19
  s.add_dependency "rest-client", [">= 1.6.7"]
20
20
  s.add_development_dependency "rspec", ["~> 2.6"]
21
- s.add_development_dependency "rake", ["~> 0.9"]
22
21
  end
@@ -1,5 +1,6 @@
1
1
  # encoding: utf-8
2
2
  require 'carrierwave'
3
+
3
4
  begin
4
5
  require 'rest_client'
5
6
  RestClient.log = nil
@@ -16,39 +17,48 @@ module CarrierWave
16
17
  # config.upyun_username = "xxxxxx"
17
18
  # config.upyun_password = "xxxxxx"
18
19
  # config.upyun_bucket = "my_bucket"
19
- # config.upyun_bucket_domain = "https://my_bucket.files.example.com"
20
+ # config.upyun_bucket_host = "https://my_bucket.files.example.com"
20
21
  # config.upyun_api_host = "http://v0.api.upyun.com"
21
22
  # end
22
23
  #
23
24
  #
24
25
  class UpYun < Abstract
25
-
26
26
  class Connection
27
- def initialize(options={})
27
+ attr_reader :upyun_bucket
28
+ cattr_reader :shared_connections
29
+ @@shared_connections = {}
30
+
31
+ def self.find_or_initialize(bucket, options)
32
+ @@shared_connections[bucket.to_sym] ||= new(bucket, options)
33
+ end
34
+
35
+ def initialize(bucket, options = {})
36
+ @upyun_bucket = bucket
28
37
  @upyun_username = options[:upyun_username]
29
38
  @upyun_password = options[:upyun_password]
30
- @upyun_bucket = options[:upyun_bucket]
31
- @connection_options = options[:connection_options] || {}
39
+
32
40
  @host = options[:api_host] || 'http://v0.api.upyun.com'
33
- @@http ||= RestClient::Resource.new("#{@host}/#{@upyun_bucket}",
34
- :user => @upyun_username,
35
- :password => @upyun_password)
41
+ end
42
+ private_class_method :new
43
+
44
+ def rest_client
45
+ @rest_client ||= RestClient::Resource.new("#{@host}/#{@upyun_bucket}", :user => @upyun_username, :password => @upyun_password)
36
46
  end
37
47
 
38
48
  def put(path, payload, headers = {})
39
- @@http["#{escaped(path)}"].put(payload, headers)
49
+ rest_client[escaped(path)].put(payload, headers)
40
50
  end
41
51
 
42
52
  def get(path, headers = {})
43
- @@http["#{escaped(path)}"].get(headers)
53
+ rest_client[escaped(path)].get(headers)
44
54
  end
45
55
 
46
56
  def delete(path, headers = {})
47
- @@http["#{escaped(path)}"].delete(headers)
57
+ rest_client[escaped(path)].delete(headers)
48
58
  end
49
59
 
50
60
  def post(path, payload, headers = {})
51
- @@http["#{escaped(path)}"].post(payload, headers)
61
+ rest_client[escaped(path)].post(payload, headers)
52
62
  end
53
63
 
54
64
  def escaped(path)
@@ -75,6 +85,14 @@ module CarrierWave
75
85
  @path
76
86
  end
77
87
 
88
+ def content_type
89
+ @content_type || ""
90
+ end
91
+
92
+ def content_type=(new_content_type)
93
+ @content_type = new_content_type
94
+ end
95
+
78
96
  ##
79
97
  # Reads the contents of the file from Cloud Files
80
98
  #
@@ -83,7 +101,7 @@ module CarrierWave
83
101
  # [String] contents of the file
84
102
  #
85
103
  def read
86
- object = uy_connection.get(@path)
104
+ object = upyun_connection.get(@path)
87
105
  @headers = object.headers
88
106
  object.net_http_res.body
89
107
  end
@@ -93,7 +111,7 @@ module CarrierWave
93
111
  #
94
112
  def delete
95
113
  begin
96
- uy_connection.delete(@path)
114
+ upyun_connection.delete(@path)
97
115
  true
98
116
  rescue Exception => e
99
117
  # If the file's not there, don't panic
@@ -110,8 +128,17 @@ module CarrierWave
110
128
  # [String] file's url
111
129
  #
112
130
  def url
131
+ if @uploader.upyun_bucket_host
132
+ return [@uploader.upyun_bucket_host, @path].join("/")
133
+ end
134
+
113
135
  if @uploader.upyun_bucket_domain
114
- "http://" + @uploader.upyun_bucket_domain + '/' + @path
136
+ puts "DEPRECATION: upyun_bucket_domain config is deprecated, please use upyun_bucket_host to insead."
137
+ if @uploader.upyun_bucket_domain.match(/^http/)
138
+ [@uploader.upyun_bucket_domain, @path].join("/")
139
+ else
140
+ ["http://",@uploader.upyun_bucket_domain, @path].join("/")
141
+ end
115
142
  else
116
143
  nil
117
144
  end
@@ -133,7 +160,7 @@ module CarrierWave
133
160
  # boolean
134
161
  #
135
162
  def store(data,headers={})
136
- uy_connection.put(@path, data, {'Expect' => '', 'Mkdir' => 'true'}.merge(headers))
163
+ upyun_connection.put(@path, data, {'Expect' => '', 'Mkdir' => 'true'}.merge(headers))
137
164
  true
138
165
  end
139
166
 
@@ -141,7 +168,7 @@ module CarrierWave
141
168
 
142
169
  def headers
143
170
  @headers ||= begin
144
- uy_connection.get(@path).headers
171
+ upyun_connection.get(@path).headers
145
172
  rescue Excon::Errors::NotFound # Don't die, just return no headers
146
173
  {}
147
174
  end
@@ -151,19 +178,16 @@ module CarrierWave
151
178
  @base.connection
152
179
  end
153
180
 
154
- def uy_connection
155
- if @uy_connection
156
- @uy_connection
157
- else
158
- config = {:upyun_username => @uploader.upyun_username,
159
- :upyun_password => @uploader.upyun_password,
160
- :upyun_bucket => @uploader.upyun_bucket
161
- }
162
- config[:api_host] = @uploader.upyun_api_host if @uploader.respond_to?(:upyun_api_host)
163
- @uy_connection ||= CarrierWave::Storage::UpYun::Connection.new(config)
181
+ def upyun_connection
182
+ conn_options = {
183
+ :upyun_username => @uploader.upyun_username,
184
+ :upyun_password => @uploader.upyun_password
185
+ }
186
+ if @uploader.respond_to?(:upyun_api_host)
187
+ conn_options[:api_host] = @uploader.upyun_api_host
164
188
  end
189
+ CarrierWave::Storage::UpYun::Connection.find_or_initialize @uploader.upyun_bucket, conn_options
165
190
  end
166
-
167
191
  end
168
192
 
169
193
  ##
@@ -198,7 +222,6 @@ module CarrierWave
198
222
  CarrierWave::Storage::UpYun::File.new(uploader, self, uploader.store_path(identifier))
199
223
  end
200
224
 
201
-
202
225
  end # CloudFiles
203
226
  end # Storage
204
227
  end # CarrierWave
@@ -8,6 +8,7 @@ module CarrierWave
8
8
  add_config :upyun_bucket
9
9
  add_config :upyun_api_host
10
10
  add_config :upyun_bucket_domain
11
+ add_config :upyun_bucket_host
11
12
  end
12
13
  end
13
14
 
@@ -25,12 +25,12 @@ ActiveRecord::Migration.verbose = false
25
25
  # 测试的时候需要修改这个地方
26
26
  CarrierWave.configure do |config|
27
27
  config.storage = :upyun
28
- config.upyun_username = "rspec"
29
- config.upyun_password = 'spec123'
30
- config.upyun_bucket = "rspec"
31
- config.upyun_bucket_domain = "rspec.b0.upaiyun.com"
28
+ config.upyun_username = ENV['upyun_username'] || "rspec"
29
+ config.upyun_password = ENV['upyun_password'] || 'spec123'
30
+ config.upyun_bucket = ENV['upyun_bucket'] || "rspec"
31
+ config.upyun_bucket_domain = ENV['upyun_bucket_domain'] || "rspec.b0.upaiyun.com"
32
32
  end
33
33
 
34
34
  def load_file(fname)
35
35
  File.open([Rails.root,fname].join("/"))
36
- end
36
+ end
@@ -1,6 +1,8 @@
1
1
  require File.dirname(__FILE__) + '/spec_helper'
2
2
 
3
3
  require "open-uri"
4
+ require "sqlite3"
5
+
4
6
  ActiveRecord::Base.establish_connection(:adapter => 'sqlite3', :database => ':memory:')
5
7
 
6
8
  describe "Upload" do
@@ -11,20 +13,20 @@ describe "Upload" do
11
13
  end
12
14
  end
13
15
  end
14
-
16
+
15
17
  def drop_db
16
18
  ActiveRecord::Base.connection.tables.each do |table|
17
19
  ActiveRecord::Base.connection.drop_table(table)
18
20
  end
19
21
  end
20
-
22
+
21
23
  class PhotoUploader < CarrierWave::Uploader::Base
22
24
  include CarrierWave::MiniMagick
23
25
 
24
26
  version :small do
25
27
  process :resize_to_fill => [120, 120]
26
28
  end
27
-
29
+
28
30
  def store_dir
29
31
  "photos"
30
32
  end
@@ -33,16 +35,16 @@ describe "Upload" do
33
35
  class Photo < ActiveRecord::Base
34
36
  mount_uploader :image, PhotoUploader
35
37
  end
36
-
37
-
38
+
39
+
38
40
  before :all do
39
41
  setup_db
40
42
  end
41
-
43
+
42
44
  after :all do
43
45
  drop_db
44
46
  end
45
-
47
+
46
48
  context "Upload Image" do
47
49
  it "does upload image" do
48
50
  f = load_file("foo.jpg")
@@ -55,4 +57,24 @@ describe "Upload" do
55
57
  open(@photo.image.small.url).should_not == nil
56
58
  end
57
59
  end
60
+
61
+ context "Connection" do
62
+ it "create shared connection" do
63
+ expect {
64
+ CarrierWave::Storage::UpYun::Connection.find_or_initialize 'bucket0', :upyun_username => "foo"
65
+ CarrierWave::Storage::UpYun::Connection.find_or_initialize 'bucket0', :upyun_username => "foo"
66
+ CarrierWave::Storage::UpYun::Connection.find_or_initialize 'bucket1', :upyun_username => "foo"
67
+ }.to change{ CarrierWave::Storage::UpYun::Connection.shared_connections.size }.by(2)
68
+ end
69
+
70
+ it "create only one instance for same buckets" do
71
+ CarrierWave::Storage::UpYun::Connection.find_or_initialize 'bucket999', :upyun_username => "foo"
72
+ CarrierWave::Storage::UpYun::Connection.find_or_initialize 'bucket999', :upyun_username => "foo"
73
+ instances = []
74
+ ObjectSpace.each_object(CarrierWave::Storage::UpYun::Connection) do |conn|
75
+ instances << conn if conn.upyun_bucket == 'bucket999'
76
+ end
77
+ instances.should have(1).item
78
+ end
79
+ end
58
80
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: carrierwave-upyun
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
5
- prerelease:
4
+ version: 0.1.7
6
5
  platform: ruby
7
6
  authors:
8
7
  - Nowa Zhu
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-08-28 00:00:00.000000000 Z
11
+ date: 2014-05-29 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: carrierwave
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ! '>='
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rest-client
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ! '>='
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ! '>='
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rspec
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,27 +48,10 @@ dependencies:
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
61
54
  version: '2.6'
62
- - !ruby/object:Gem::Dependency
63
- name: rake
64
- requirement: !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ~>
68
- - !ruby/object:Gem::Version
69
- version: '0.9'
70
- type: :development
71
- prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ~>
76
- - !ruby/object:Gem::Version
77
- version: '0.9'
78
55
  description: UpYun Storage support for CarrierWave
79
56
  email:
80
57
  - nowazhu@gmail.com
@@ -97,27 +74,26 @@ files:
97
74
  - spec/upload_spec.rb
98
75
  homepage: https://github.com/nowa/carrierwave-upyun
99
76
  licenses: []
77
+ metadata: {}
100
78
  post_install_message:
101
79
  rdoc_options: []
102
80
  require_paths:
103
81
  - lib
104
82
  required_ruby_version: !ruby/object:Gem::Requirement
105
- none: false
106
83
  requirements:
107
84
  - - ! '>='
108
85
  - !ruby/object:Gem::Version
109
86
  version: '0'
110
87
  required_rubygems_version: !ruby/object:Gem::Requirement
111
- none: false
112
88
  requirements:
113
89
  - - ! '>='
114
90
  - !ruby/object:Gem::Version
115
91
  version: '0'
116
92
  requirements: []
117
93
  rubyforge_project:
118
- rubygems_version: 1.8.24
94
+ rubygems_version: 2.2.2
119
95
  signing_key:
120
- specification_version: 3
96
+ specification_version: 4
121
97
  summary: UpYun Storage support for CarrierWave
122
98
  test_files:
123
99
  - spec/foo.gif