s3diff 0.1.0 → 0.1.1

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
  SHA1:
3
- metadata.gz: 9214fc3b3d1057f64f54293b48168c5df0edf2c5
4
- data.tar.gz: 0464c764900078951eca13de55458dc636bc7bc7
3
+ metadata.gz: 2e40ffd6ec8145f05a3ded8e43eb042381898f81
4
+ data.tar.gz: e95b2172ceca0bc40cd249f02787e74a074ebcad
5
5
  SHA512:
6
- metadata.gz: d9c6e195752d3e88af9b7d63c939a7f21c5254021f7da052af69e1ba1a7a3d1edcad16488e89fd2c9051019d6e1ca22ca9a06640ccb3728b692b25e4ac2943f0
7
- data.tar.gz: 7136697d46c01d2796333d70b5019ca2565476095d50494345b9bdf2173d8505e4ffd53a565394e16d8102faf61af57cafd2d262c5672c84d94af0425c846032
6
+ metadata.gz: dab1c303df16276ad546c60cb6f55af8343d341ac167e61e7d7688185aafad3b84e26c60275191cf81572d5020c09be58847867a4e74ed62db22346b2ae4e483
7
+ data.tar.gz: fb4bb3c096a6961e167debd1f24ced1905d2dbf91c09ba16170f2022ab002c5c23de1a05023e1228a5685e635f0119a3dab38a11ed565664ee3adfcabb8f1caf
@@ -8,8 +8,16 @@ module S3diff
8
8
  @file2 = file_object(file2)
9
9
  end
10
10
 
11
+ def both_exist?
12
+ @both_exist ||= begin
13
+ puts "#{@file1.original_path} is not exist." unless @file1.exist?
14
+ puts "#{@file2.original_path} is not exist." unless @file2.exist?
15
+ @file1.exist? && @file2.exist?
16
+ end
17
+ end
18
+
11
19
  def same_etag?
12
- @file1.etag == @file2.etag
20
+ both_exist? && @file1.etag == @file2.etag
13
21
  end
14
22
 
15
23
  def same?
@@ -7,15 +7,35 @@ module S3diff
7
7
  end
8
8
 
9
9
  def etag
10
- Digest::MD5.file(@file_path).to_s
10
+ Digest::MD5.file(@file_path).to_s if exist?
11
11
  end
12
12
 
13
13
  def size
14
- File.size(@file_path)
14
+ File.size(@file_path) if exist?
15
15
  end
16
16
 
17
17
  def path
18
+ if exist?
19
+ original_path
20
+ else
21
+ cache_file.path
22
+ end
23
+ end
24
+
25
+ def original_path
18
26
  @file_path
19
27
  end
28
+
29
+ def exist?
30
+ File.exist?(@file_path)
31
+ end
32
+
33
+ private
34
+
35
+ def cache_file
36
+ @cache_file ||= begin
37
+ Tempfile.new("")
38
+ end
39
+ end
20
40
  end
21
41
  end
@@ -1,4 +1,5 @@
1
1
  require "tempfile"
2
+ require "ostruct"
2
3
 
3
4
  module S3diff
4
5
  class S3File
@@ -8,27 +9,39 @@ module S3diff
8
9
  end
9
10
 
10
11
  def etag
11
- head.etag.delete(%("))
12
+ head.etag.delete(%(")) if exist?
12
13
  end
13
14
 
14
15
  def size
15
- head.content_length
16
+ head.content_length if exist?
16
17
  end
17
18
 
18
19
  def path
19
20
  cache_file.path
20
21
  end
21
22
 
23
+ def original_path
24
+ @uri
25
+ end
26
+
27
+ def exist?
28
+ !head.nil?
29
+ end
30
+
22
31
  private
23
32
 
24
33
  def head
25
- @head ||= @s3c.head_object(@uri)
34
+ @head ||= begin
35
+ @s3c.head_object(@uri)
36
+ rescue Aws::S3::Errors::NotFound
37
+ nil
38
+ end
26
39
  end
27
40
 
28
41
  def cache_file
29
42
  @cache_file ||= begin
30
43
  f = Tempfile.new("")
31
- @s3c.get_object(@uri, f)
44
+ @s3c.get_object(@uri, f) if exist?
32
45
  f.flush
33
46
  f
34
47
  end
@@ -1,3 +1,3 @@
1
1
  module S3diff
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: s3diff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - masa21kik