s3_meta_sync 0.4.1 → 0.4.2

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