bind_url 0.1.2 → 0.1.2.3

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: 3df07d5e6ad08b71410d75f82560393c5e5407dd8249e6371aa6a9f472468910
4
- data.tar.gz: bf442fc2c423e58f789228827a73793e83157bfa4403940eb4660ff11379f922
3
+ metadata.gz: 5380d0327f1061faa419691ca007d3a2ae8821bf25ae722100c6c3b01f3a3151
4
+ data.tar.gz: 56120440bc5cb99020a5a4ace0748cccf01aa893386c2e363fff28f3ee554612
5
5
  SHA512:
6
- metadata.gz: 245e2b1ab0a23dc7e35c29e9050b2b7966eda3030f410579022e1c2cbf23101a891a6479b50734e5d3afa9e1c77ac338d67d8a56d4ded8022d196e9414f97fc1
7
- data.tar.gz: aa448cce429ac8671f8a91fe423475c287cbb29394b748f648b84eccf76e8565d596b60e97570f6bad6480136f00aa3f67042ef2b9658f094c1e813885f5c7a8
6
+ metadata.gz: 7cfbcab6e3e88f17158ff399b419607bae7f2c35126786e83cbc7db981c03548634cb3994f9b5f86acf878c13a9249c9b699d10a69aec3e453436a4e895b7417
7
+ data.tar.gz: a46c6d75595c94b972cd101a6618f84388cb7f1f2febc6761ea5d7f13cbd7d0663e817a82d525fde4d59f05738290134a863864dc4f81eb5f0bcfd699f3a50a8
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bind_url (0.1.2)
4
+ bind_url (0.1.2.3)
5
5
  activesupport (>= 4.0)
6
6
  aliyun-sdk (> 0.7.0)
7
7
  mimemagic (>= 0.3.0)
@@ -20,6 +20,9 @@ GEM
20
20
  aliyun-sdk (0.8.0)
21
21
  nokogiri (~> 1.6)
22
22
  rest-client (~> 2.0)
23
+ benchmark-malloc (0.2.0)
24
+ benchmark-perf (0.6.0)
25
+ benchmark-trend (0.4.0)
23
26
  coderay (1.1.3)
24
27
  concurrent-ruby (1.1.9)
25
28
  diff-lcs (1.4.4)
@@ -56,6 +59,11 @@ GEM
56
59
  rspec-core (~> 3.10.0)
57
60
  rspec-expectations (~> 3.10.0)
58
61
  rspec-mocks (~> 3.10.0)
62
+ rspec-benchmark (0.6.0)
63
+ benchmark-malloc (~> 0.2)
64
+ benchmark-perf (~> 0.6)
65
+ benchmark-trend (~> 0.4)
66
+ rspec (>= 3.0)
59
67
  rspec-core (3.10.1)
60
68
  rspec-support (~> 3.10.0)
61
69
  rspec-expectations (3.10.1)
@@ -80,6 +88,7 @@ DEPENDENCIES
80
88
  pry
81
89
  rake (~> 12.0)
82
90
  rspec (~> 3.0)
91
+ rspec-benchmark (~> 0.6.0)
83
92
 
84
93
  BUNDLED WITH
85
94
  2.1.4
data/bind_url.gemspec CHANGED
@@ -29,4 +29,5 @@ Gem::Specification.new do |spec|
29
29
  spec.add_dependency "rack", ">= 2.0"
30
30
  spec.add_dependency "rest-client", "> 2.0"
31
31
  spec.add_development_dependency "pry"
32
+ spec.add_development_dependency "rspec-benchmark", "~> 0.6.0"
32
33
  end
@@ -23,11 +23,8 @@ module BindUrl
23
23
 
24
24
  def gen_url(v, parameters = {})
25
25
  parameters = parameters.map { |key, value| [key.to_s, value.to_s] }.to_h
26
- uri = URI(self.class.oss_bucket.object_url(File.join(store_dir, v).gsub(%r{^/}, ""), self.private, 7200, parameters))
27
- host_uri = URI(self.class.storage_config.host)
28
- uri.scheme = host_uri.scheme
29
- uri.host = host_uri.host
30
- uri.to_s
26
+ path = self.class.oss_bucket.object_url(File.join(store_dir, v).delete_prefix('/'), self.private, 28800, parameters).delete_prefix(self.class.oss_bucket.bucket_url.delete_suffix('/'))
27
+ self.class.storage_config.host.delete_suffix('/') + path
31
28
  end
32
29
 
33
30
  def upload_via_url(url)
@@ -40,7 +37,7 @@ module BindUrl
40
37
  self.class.oss_bucket.put_object(
41
38
  File.join(store_dir, filename),
42
39
  file: file.path,
43
- content_type: Rack::Mime::MIME_TYPES[extname] || MimeMagic.by_magic(file).type,
40
+ content_type: Rack::Mime::MIME_TYPES[extname] || MimeMagic.by_magic(file)&.type || "application/octet-stream",
44
41
  acl: self.private ? "private" : "default",
45
42
  )
46
43
  filename
@@ -50,7 +47,8 @@ module BindUrl
50
47
 
51
48
  def download_as_tmp_file(url)
52
49
  res = RestClient.get(url)
53
- file = Tempfile.new(["", Rack::Mime::MIME_TYPES.invert[res.headers[:content_type]]])
50
+ ext = Pathname.new(URI(url).path).extname.presence || Rack::Mime::MIME_TYPES.invert[res.headers[:content_type]]
51
+ file = Tempfile.new(["", ext])
54
52
  file.binmode
55
53
  file.write(res.body)
56
54
  file.flush
@@ -1,3 +1,3 @@
1
1
  module BindUrl
2
- VERSION = "0.1.2".freeze
2
+ VERSION = "0.1.2.3".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bind_url
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - xuxiangyang
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-12-17 00:00:00.000000000 Z
11
+ date: 2022-03-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rspec-benchmark
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 0.6.0
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 0.6.0
97
111
  description: rails column bind url with oss
98
112
  email:
99
113
  - xxy@xuxiangyang.com