my-s3-client 0.1.2 → 1.0.3

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
  SHA256:
3
- metadata.gz: 4bbe6c5a5eea5b78a9297d79812960fbe5384124d51aede4997b475030107f8d
4
- data.tar.gz: 55594a04338afb17baaf015ae44f9dd805616f77834ef5879dad9f3798383cf1
3
+ metadata.gz: 2d6b099fd9cd6a4d3966086972fae5aed31a67a8960c5e1f4770da8d04110f8a
4
+ data.tar.gz: 27ddcecec640991eafb1fb3c68443572940f27bf3739902008e03786c1bbe8b0
5
5
  SHA512:
6
- metadata.gz: 695874d3a9fefca91e610c1e69ddf9b3d57b3cc033439e0a17fcbb1450147bb228ac005bf08e37e5d352057bed83cca9cf49d7bb05107e499805c0d3463b9ffa
7
- data.tar.gz: d05eb0344a257826d3de2e8b30027f3f36da1cfa1bd0822a18ac6831e783594ede7a3d4af041165e556e8b8c008d61b6d70bd5a89ad3d3c800d277b9ba65f6d1
6
+ metadata.gz: 86bd674a691a4ff1663b150dfa8625399b3439d81ced11ca0d52bd1abecb5e79f23a0f0315ca385dc9575492defac9c12f2c190dca3eec6b0a117801bd98bb09
7
+ data.tar.gz: 7961125afb22b46c763020393e5d68f9b9cecc6e70028911a549c9fe95712941fe9a5793a0071f0115f17c120dbd9eaf0d1dbf6ef97a7ead8f4fd5ec004607c0
@@ -2,6 +2,6 @@
2
2
 
3
3
  module MyS3
4
4
  class Client
5
- VERSION = '0.1.2'
5
+ VERSION = '1.0.3'
6
6
  end
7
7
  end
data/lib/my_s3/client.rb CHANGED
@@ -73,7 +73,6 @@ module MyS3
73
73
  request['X-API-Key'] = api_key
74
74
  request['Content-Type'] = "multipart/form-data; boundary=#{boundary}"
75
75
  request.body = build_my_s3_multipart(boundary, relative_path, filename, file_path)
76
-
77
76
  response = http_request(uri, request)
78
77
  json = parse_json(response.body)
79
78
  return json if response.is_a?(Net::HTTPSuccess) && json['success']
@@ -108,8 +107,8 @@ module MyS3
108
107
  sanitized.split('/').each do |segment|
109
108
  begin
110
109
  create_folder(path: current, folder_name: segment)
111
- rescue Error => e
112
- raise unless e.message =~ /already exists/i
110
+ rescue Error
111
+ raise unless folder_exists_in_path?(current, segment)
113
112
  end
114
113
  current = current.empty? ? segment : [current, segment].join('/')
115
114
  end
@@ -218,5 +217,13 @@ module MyS3
218
217
  fragments.reject!(&:empty?)
219
218
  fragments.join('/')
220
219
  end
220
+
221
+ def folder_exists_in_path?(path, folder_name)
222
+ listing = list(path: path)
223
+ directories = listing['directories'] || []
224
+ directories.any? { |entry| entry['name'].to_s == folder_name.to_s }
225
+ rescue Error
226
+ false
227
+ end
221
228
  end
222
229
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: my-s3-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leandro D. Sardi