calevipoeg-zeus 0.1.4 → 0.1.5

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: 2ff33fd8321399b29bb46764cf8e2d84f8d5b0a0b7e2d592589718a22ccece13
4
- data.tar.gz: 9c29313d35752a2b1423bc0aee046a0a952a18b2b5ef3d1e0af7d250aaf8e7d2
3
+ metadata.gz: 48770f6ed5824ba412873a19fe7aaab01da99ab985b033c52ff019aa2b08473b
4
+ data.tar.gz: f09f8ee47247f313ea441dfcd3107c5a21ba6a675d345f4a4c858288b02f0142
5
5
  SHA512:
6
- metadata.gz: 54c626d6fbfbc1986f47eee974872976b8a89c5962d78818f199333cb081460dfefc56c217456f58d04313e778c4222f583e35841854c404119136f614ddf59d
7
- data.tar.gz: d48d3bdcdf7d9d77489290a649cad4f113d5dd9c29b8c7c995b9b35891b222ef7c725dda8e48d9c7cca9ac288d2329d4c56af6d1011ce7b7305ec8076a2d1b36
6
+ metadata.gz: 6936b0661f6e8d5a062f6101ec0ed1191b655760914e61dc28952780bcaedcc9af3819645f6e436123779384216d5e1df37c8de215aac77f912e9183bc8ac71d
7
+ data.tar.gz: 7014adc858cb7553098733ebe610deb73b8e3fde92d57aa472273bc80b8feb057393b37141567752c6821a3199c2324a0522f65b044dd9b99db395e0fc109335
data/README.md CHANGED
@@ -94,5 +94,5 @@ set :s3_bucket, -> do
94
94
  end
95
95
 
96
96
  invoke :'s3:upload', ["public/static"], "cdn/production/static"
97
- invoke :'s3:clean', "cdn/production/static"
97
+ invoke :'s3:clean', 'cdn/production/static', 14.days.ago
98
98
  ```
@@ -3,37 +3,28 @@ require 'aws-sdk-s3'
3
3
  set :s3_client, -> { raise }
4
4
  set :s3_bucket, -> { raise }
5
5
 
6
- namespace :aws do
7
- namespace :s3 do
8
- task :upload, %i[dirs destination] do |_t, argv|
9
- Array(argv.dirs).each do |dir|
10
- Dir.glob(Pathname.new(dir).join('**/**')).each do |file|
11
- next if File.directory?(file)
6
+ namespace :s3 do
7
+ task :upload, %i[dirs destination] do |_t, argv|
8
+ Array(argv.dirs).each do |dir|
9
+ Dir.glob(Pathname.new(dir).join('**/**')).each do |file|
10
+ next if File.directory?(file)
12
11
 
13
- path = Pathname.new(file).relative_path_from(dir)
14
- key = Pathname.new(argv.destination).join(path)
12
+ path = Pathname.new(file).relative_path_from(dir)
13
+ key = Pathname.new(argv.destination).join(path)
15
14
 
16
- io = Zeus::S3Io.new(File.open(file))
17
- io.upload(fetch(:s3_client), bucket: fetch(:s3_bucket), key: key) do |progress|
18
- puts "[#{progress}%] Uploading #{file} -> #{key}"
19
- end
15
+ io = Zeus::S3Io.new(File.open(file))
16
+ io.upload(fetch(:s3_client), bucket: fetch(:s3_bucket), key: key) do |progress|
17
+ puts "[#{progress}%] Uploading #{file} -> #{key}"
20
18
  end
21
19
  end
22
20
  end
21
+ end
22
+
23
+ task :clean, %i[prefix last_mod] => :client do |_t, argv|
24
+ Zeus::S3Iterate.new(fetch(:s3_client)).delete_if(bucket: fetch(:s3_bucket), prefix: argv.prefix) do |file|
25
+ break(false) unless argv.last_mod >= file.last_modified
23
26
 
24
- # task :clean, %i[destination] => :client do |_t, argv|
25
- # files = @s3.list_objects_v2(bucket: fetch(:s3_bucket_name), prefix: argv.destination).each_with_object([]) do |list, object|
26
- # list.contents.each do |file|
27
- # next if file.last_modified > fetch(:s3_clean_after)
28
- #
29
- # object << file
30
- # end
31
- # end
32
- #
33
- # files.each do |file|
34
- # puts "[-] removing (last mod #{file.last_modified}) #{file.key}"
35
- # @s3.delete_object(bucket: fetch(:s3_bucket_name), key: file.key)
36
- # end
37
- # end
27
+ puts "[-] removing (last mod #{file.last_modified}) #{file.key}"
28
+ end
38
29
  end
39
30
  end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Zeus
4
- VERSION = '0.1.4'
4
+ VERSION = '0.1.5'
5
5
  end
6
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: calevipoeg-zeus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aliaksandr Shylau