zupload 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +7 -0
  2. data/bin/zupload +5 -0
  3. data/lib/QNConfig.rb +8 -0
  4. data/lib/ZUpload.rb +58 -0
  5. metadata +61 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 5e8ef086774c8289ac079f2ad129641978a133b4
4
+ data.tar.gz: ebd40ec1596e49fb62ea367a8d5f5afabb6a6f7c
5
+ SHA512:
6
+ metadata.gz: 14bd35c0a7c54ef180230b4ead7906c1529d699ea84d5be313a35e7ed016c73e5374b51d6ddef186acbad55c8e1107d49ea398a0aae524e2dfc59aaac751ec42
7
+ data.tar.gz: 41824814d46b7d696aaafacd80736837d9bf546a458ea69a846b985f243cbe97d170358fefcbaa9475beb88d90902712770ebb80aea5601b968f8923872f7d6c
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'ZUpload'
4
+
5
+ ZUpload.new.up ARGV
@@ -0,0 +1,8 @@
1
+ module QNConfig
2
+ AccessKey = ENV['QNAccessKey']
3
+ SecretKey = ENV['QNSecretKey']
4
+ BucketKey = ENV['QNBucketKey']
5
+ ValidExtension = ENV['QNValidExtension']
6
+ RemoteUrl = ENV['QNRemoteUrl']
7
+ end
8
+
@@ -0,0 +1,58 @@
1
+ require 'qiniu'
2
+ require 'QNConfig'
3
+
4
+ class ZUpload
5
+ def initialize
6
+ @matchExtension = { dir: "/*.#{QNConfig::ValidExtension}",
7
+ rdir: "/**/*.#{QNConfig::ValidExtension}",
8
+ file: "" }
9
+ end
10
+
11
+ def up args
12
+ Qiniu.establish_connection! access_key: QNConfig::AccessKey, secret_key: QNConfig::SecretKey
13
+ filePath = handleParams args
14
+ Dir.glob(filePath).each do |file_name|
15
+ ZUpload.new.upload file_name
16
+ end
17
+ end
18
+
19
+ def upload fileName
20
+ put_policy = Qiniu::Auth::PutPolicy.new(
21
+ QNConfig::BucketKey,
22
+ fileName,
23
+ 3600
24
+ )
25
+
26
+ uptoken = Qiniu::Auth.generate_uptoken(put_policy)
27
+
28
+ _, result, _ = Qiniu::Storage.upload_with_token_2(
29
+ uptoken,
30
+ fileName,
31
+ fileName,
32
+ nil,
33
+ { bucket: QNConfig::BucketKey }
34
+ )
35
+ puts QNConfig::RemoteUrl + result['key']
36
+ end
37
+
38
+ private
39
+
40
+ def handleParams args
41
+ case args.count
42
+ when 0
43
+ return '.' + @matchExtension[:dir]
44
+ when 1
45
+ return removeLastSlash(args[0]) + @matchExtension[:dir]
46
+ when 2
47
+ argument = { '-f' => :file, '-r' => :rdir }
48
+ return removeLastSlash(args[1]) + @matchExtension[argument[args[0]]]
49
+ else
50
+ exit(0)
51
+ end
52
+ end
53
+
54
+ def removeLastSlash str
55
+ str&.chomp('/') || ''
56
+ end
57
+
58
+ end
metadata ADDED
@@ -0,0 +1,61 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: zupload
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Zkun
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-07-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: qiniu
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 6.8.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 6.8.0
27
+ description:
28
+ email: zhukun615090@outlook.com
29
+ executables:
30
+ - zupload
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - bin/zupload
35
+ - lib/QNConfig.rb
36
+ - lib/ZUpload.rb
37
+ homepage:
38
+ licenses:
39
+ - MIT
40
+ metadata: {}
41
+ post_install_message:
42
+ rdoc_options: []
43
+ require_paths:
44
+ - lib
45
+ required_ruby_version: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
50
+ required_rubygems_version: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ requirements: []
56
+ rubyforge_project:
57
+ rubygems_version: 2.5.1
58
+ signing_key:
59
+ specification_version: 4
60
+ summary: a util update image file to qiniu
61
+ test_files: []