s3_meta_sync 0.4.1 → 0.4.2

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: edb6d1dc57f85fef0460036cf18f1df63e232b6b
4
- data.tar.gz: 4d6af32ae754e74e35fb422ca4e4484e606877b9
3
+ metadata.gz: 8ceaef9f69b6086aa41a91dcace544edd6854d81
4
+ data.tar.gz: aae6b965be96ecb24486b3ff49daef5146fa8b0a
5
5
  SHA512:
6
- metadata.gz: a24e1133a839b8d8bf4a9a6d2daee8424f4a571649ae0b026d2ccd51a62e6746c5cedd968c3e4b7d022c94713968a8894989ec7e830b257814dd677650370bd3
7
- data.tar.gz: 0a6be6d291a061d7d156e3640c1475067495fec34eefdffe0def1fa6137a9dc0ff1ec94dead58b99f57bac393ff504db890d1fb2adf532c241d6ed9df1fa633e
6
+ metadata.gz: 210869b7b243c91ef66750024edabff48643e03bf0fa487baa3345957ca33cceac43feb965dd2339019f9f4c718c6bea3144f368b51911b1e8095c242f2e0228
7
+ data.tar.gz: dc0c3e89c49f7b58cc78d45079a6f50e73ac8651619867c1e4ef8a1ad673a21e9c6f896a2a3d6fc8ba64414c41f0855025bb92e1230deffa324db97b014342bd
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -62,8 +62,7 @@ module S3MetaSync
62
62
  def download(source, destination)
63
63
  raise if @config[:zip]
64
64
  remote_meta = download_meta(source)
65
- generate_meta(destination)
66
- local_files = read_meta(destination)[:files]
65
+ local_files = meta_data(destination)[:files]
67
66
  download = remote_meta[:files].select { |path, md5| local_files[path] != md5 }.map(&:first)
68
67
  delete = local_files.keys - remote_meta[:files].keys
69
68
 
@@ -71,14 +70,16 @@ module S3MetaSync
71
70
 
72
71
  unless download.empty? && delete.empty?
73
72
  Dir.mktmpdir do |staging_area|
73
+ FileUtils.mkdir_p(destination)
74
74
  copy_content(destination, staging_area)
75
75
  download_files(source, staging_area, download, remote_meta[:zip])
76
76
  delete_local_files(staging_area, delete)
77
- download_file(source, META_FILE, staging_area, false)
78
- verify_integrity!(staging_area, destination, remote_meta[:files])
79
77
  delete_empty_folders(staging_area)
78
+ store_meta(staging_area, remote_meta)
79
+
80
+ verify_integrity!(staging_area, destination, remote_meta[:files])
80
81
  self.class.swap_in_directory(destination, staging_area)
81
- FileUtils.mkdir(staging_area)
82
+ FileUtils.mkdir(staging_area) # mktmpdir tries to remove this directory
82
83
  end
83
84
  end
84
85
  end
@@ -159,13 +160,17 @@ module S3MetaSync
159
160
  end
160
161
 
161
162
  def generate_meta(source)
163
+ store_meta(source, meta_data(source))
164
+ end
165
+
166
+ def store_meta(source, meta)
162
167
  file = "#{source}/#{META_FILE}"
163
168
  FileUtils.mkdir_p(File.dirname(file))
164
- File.write(file, meta_data(source).to_yaml)
169
+ File.write(file, meta.to_yaml)
165
170
  end
166
171
 
167
172
  def meta_data(source)
168
- return {} unless File.directory?(source)
173
+ return {files: {}} unless File.directory?(source)
169
174
  files = Dir.chdir(source) do
170
175
  files = Dir["**/*"].select { |f| File.file?(f) }
171
176
  Hash[files.map { |file| [file, Digest::MD5.file(file).to_s] }]
@@ -1,3 +1,3 @@
1
1
  module S3MetaSync
2
- VERSION = "0.4.1"
2
+ VERSION = "0.4.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: s3_meta_sync
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Grosser
metadata.gz.sig CHANGED
@@ -1,3 +1 @@
1
- ��,�WM��A��ɫ
2
- 5_i�nS�af���b �P�p�Ʈ�a�i����r�Q�5oh/ ʸw��繚�w� �ė�޾R�E��~�>VAfcXm��
3
- �S�G/� j`=��r�����X�������o�ҡ)��V8H@�m�ു͵
1
+ 5����jL_`������5