bind_url 0.1.2 → 0.1.2.3

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.
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