azure-storage-file 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,377 @@
1
+ # frozen_string_literal: true
2
+
3
+ #-------------------------------------------------------------------------
4
+ # # Copyright (c) Microsoft and contributors. All rights reserved.
5
+ #
6
+ # The MIT License(MIT)
7
+
8
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
9
+ # of this software and associated documentation files(the "Software"), to deal
10
+ # in the Software without restriction, including without limitation the rights
11
+ # to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
12
+ # copies of the Software, and to permit persons to whom the Software is
13
+ # furnished to do so, subject to the following conditions :
14
+
15
+ # The above copyright notice and this permission notice shall be included in
16
+ # all copies or substantial portions of the Software.
17
+
18
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE
21
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
+ # THE SOFTWARE.
25
+ #--------------------------------------------------------------------------
26
+ require "azure/storage/file/serialization"
27
+
28
+ module Azure::Storage::File
29
+ module Share
30
+ include Azure::Storage::Common::Service
31
+
32
+ class Share
33
+ def initialize
34
+ @properties = {}
35
+ @metadata = {}
36
+ yield self if block_given?
37
+ end
38
+
39
+ attr_accessor :name
40
+ attr_accessor :properties
41
+ attr_accessor :metadata
42
+ attr_accessor :quota
43
+ attr_accessor :usage
44
+ end
45
+
46
+ # Public: Create a new share
47
+ #
48
+ # ==== Attributes
49
+ #
50
+ # * +name+ - String. The name of the share.
51
+ # * +options+ - Hash. Optional parameters.
52
+ #
53
+ # ==== Options
54
+ #
55
+ # Accepted key/value pairs in options parameter are:
56
+ # * +:metadata+ - Hash. User defined metadata for the share (optional).
57
+ # * +:quota+ - Integer. The maximum size of the share, in gigabytes.
58
+ # Must be greater than 0, and less than or equal to 5TB (5120). (optional).
59
+ # * +:timeout+ - Integer. A timeout in seconds.
60
+ # * +:request_id+ - String. Provides a client-generated, opaque value with a 1 KB character limit that is recorded
61
+ # in the analytics logs when storage analytics logging is enabled.
62
+ #
63
+ # See https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/create-share
64
+ #
65
+ # Returns a Share
66
+ def create_share(name, options = {})
67
+ # Query
68
+ query = {}
69
+ query["timeout"] = options[:timeout].to_s if options[:timeout]
70
+
71
+ # Scheme + path
72
+ uri = share_uri(name, query)
73
+
74
+ # Headers
75
+ headers = {}
76
+ StorageService.add_metadata_to_headers(options[:metadata], headers) if options[:metadata]
77
+ headers["x-ms-share-quota"] = options[:quota].to_s if options[:quota]
78
+
79
+ # Call
80
+ response = call(:put, uri, nil, headers, options)
81
+
82
+ # result
83
+ share = Serialization.share_from_headers(response.headers)
84
+ share.name = name
85
+ share.quota = options[:quota] if options[:quota]
86
+ share.metadata = options[:metadata] if options[:metadata]
87
+ share
88
+ end
89
+
90
+ # Public: Returns all properties and metadata on the share.
91
+ #
92
+ # ==== Attributes
93
+ #
94
+ # * +name+ - String. The name of the share
95
+ # * +options+ - Hash. Optional parameters.
96
+ #
97
+ # ==== Options
98
+ #
99
+ # Accepted key/value pairs in options parameter are:
100
+ # * +:timeout+ - Integer. A timeout in seconds.
101
+ # * +:request_id+ - String. Provides a client-generated, opaque value with a 1 KB character limit that is recorded
102
+ # in the analytics logs when storage analytics logging is enabled.
103
+ # * +:location_mode+ - LocationMode. Specifies the location mode used to decide
104
+ # which location the request should be sent to.
105
+ #
106
+ # See https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/get-share-properties
107
+ #
108
+ # Returns a Share
109
+ def get_share_properties(name, options = {})
110
+ # Query
111
+ query = {}
112
+ query["timeout"] = options[:timeout].to_s if options[:timeout]
113
+
114
+ # Call
115
+ options[:request_location_mode] = Azure::Storage::Common::RequestLocationMode::PRIMARY_OR_SECONDARY
116
+ response = call(:get, share_uri(name, query, options), nil, {}, options)
117
+
118
+ # result
119
+ share = Serialization.share_from_headers(response.headers)
120
+ share.name = name
121
+ share
122
+ end
123
+
124
+ # Public: Sets service-defined properties for the share.
125
+ #
126
+ # ==== Attributes
127
+ #
128
+ # * +name+ - String. The name of the share
129
+ # * +options+ - Hash. Optional parameters.
130
+ #
131
+ # ==== Options
132
+ #
133
+ # Accepted key/value pairs in options parameter are:
134
+ # * +:quota+ - Integer. The maximum size of the share, in gigabytes.
135
+ # Must be greater than 0, and less than or equal to 5TB (5120). (optional).
136
+ # * +:timeout+ - Integer. A timeout in seconds.
137
+ # * +:request_id+ - String. Provides a client-generated, opaque value with a 1 KB character limit that is recorded
138
+ # in the analytics logs when storage analytics logging is enabled.
139
+ #
140
+ # See https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/set-share-properties
141
+ #
142
+ # Returns nil on success
143
+ def set_share_properties(name, options = {})
144
+ # Query
145
+ query = { "comp" => "properties" }
146
+ query["timeout"] = options[:timeout].to_s if options[:timeout]
147
+
148
+ # Headers
149
+ headers = {}
150
+ headers["x-ms-share-quota"] = options[:quota].to_s if options[:quota]
151
+
152
+ # Call
153
+ call(:put, share_uri(name, query), nil, headers, options)
154
+
155
+ # Result
156
+ nil
157
+ end
158
+
159
+ # Public: Returns only user-defined metadata for the specified share.
160
+ #
161
+ # ==== Attributes
162
+ #
163
+ # * +name+ - String. The name of the share
164
+ # * +options+ - Hash. Optional parameters.
165
+ #
166
+ # ==== Options
167
+ #
168
+ # Accepted key/value pairs in options parameter are:
169
+ # * +:timeout+ - Integer. A timeout in seconds.
170
+ # * +:request_id+ - String. Provides a client-generated, opaque value with a 1 KB character limit that is recorded
171
+ # in the analytics logs when storage analytics logging is enabled.
172
+ # * +:location_mode+ - LocationMode. Specifies the location mode used to decide
173
+ # which location the request should be sent to.
174
+ #
175
+ # See https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/get-share-metadata
176
+ #
177
+ # Returns a Share
178
+ def get_share_metadata(name, options = {})
179
+ # Query
180
+ query = { "comp" => "metadata" }
181
+ query["timeout"] = options[:timeout].to_s if options[:timeout]
182
+
183
+ # Call
184
+ options[:request_location_mode] = Azure::Storage::Common::RequestLocationMode::PRIMARY_OR_SECONDARY
185
+ response = call(:get, share_uri(name, query, options), nil, {}, options)
186
+
187
+ # result
188
+ share = Serialization.share_from_headers(response.headers)
189
+ share.name = name
190
+ share
191
+ end
192
+
193
+ # Public: Sets custom metadata for the share.
194
+ #
195
+ # ==== Attributes
196
+ #
197
+ # * +name+ - String. The name of the share
198
+ # * +metadata+ - Hash. A Hash of the metadata values
199
+ # * +options+ - Hash. Optional parameters.
200
+ #
201
+ # ==== Options
202
+ #
203
+ # Accepted key/value pairs in options parameter are:
204
+ # * +:timeout+ - Integer. A timeout in seconds.
205
+ # * +:request_id+ - String. Provides a client-generated, opaque value with a 1 KB character limit that is recorded
206
+ # in the analytics logs when storage analytics logging is enabled.
207
+ #
208
+ # See https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/set-share-metadata
209
+ #
210
+ # Returns nil on success
211
+ def set_share_metadata(name, metadata, options = {})
212
+ # Query
213
+ query = { "comp" => "metadata" }
214
+ query["timeout"] = options[:timeout].to_s if options[:timeout]
215
+
216
+ # Headers
217
+ headers = {}
218
+ StorageService.add_metadata_to_headers(metadata, headers) if metadata
219
+
220
+ # Call
221
+ call(:put, share_uri(name, query), nil, headers, options)
222
+
223
+ # Result
224
+ nil
225
+ end
226
+
227
+ # Public: Deletes a share.
228
+ #
229
+ # ==== Attributes
230
+ #
231
+ # * +name+ - String. The name of the share.
232
+ # * +options+ - Hash. Optional parameters.
233
+ #
234
+ # ==== Options
235
+ #
236
+ # Accepted key/value pairs in options parameter are:
237
+ # * +:timeout+ - Integer. A timeout in seconds.
238
+ # * +:request_id+ - String. Provides a client-generated, opaque value with a 1 KB character limit that is recorded
239
+ # in the analytics logs when storage analytics logging is enabled.
240
+ #
241
+ # See https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/delete-share
242
+ #
243
+ # Returns nil on success
244
+ def delete_share(name, options = {})
245
+ # Query
246
+ query = {}
247
+ query["timeout"] = options[:timeout].to_s if options[:timeout]
248
+
249
+ # Call
250
+ call(:delete, share_uri(name, query), nil, {}, options)
251
+
252
+ # result
253
+ nil
254
+ end
255
+
256
+ # Public: Gets the information about stored access policies for the share.
257
+ #
258
+ # ==== Attributes
259
+ #
260
+ # * +name+ - String. The name of the share
261
+ # * +options+ - Hash. Optional parameters.
262
+ #
263
+ # ==== Options
264
+ #
265
+ # Accepted key/value pairs in options parameter are:
266
+ # * +:timeout+ - Integer. A timeout in seconds.
267
+ # * +:request_id+ - String. Provides a client-generated, opaque value with a 1 KB character limit that is recorded
268
+ # in the analytics logs when storage analytics logging is enabled.
269
+ # * +:location_mode+ - LocationMode. Specifies the location mode used to decide
270
+ # which location the request should be sent to.
271
+ #
272
+ # See https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/get-share-acl
273
+ #
274
+ # Returns a tuple of (share, signed_identifiers)
275
+ # share - A Azure::Storage::File::Share::Share instance
276
+ # signed_identifiers - A list of Azure::Storage::Service::SignedIdentifier instances
277
+ #
278
+ def get_share_acl(name, options = {})
279
+ # Query
280
+ query = { "comp" => "acl" }
281
+ query["timeout"] = options[:timeout].to_s if options[:timeout]
282
+
283
+ # Call
284
+ options[:request_location_mode] = Azure::Storage::Common::RequestLocationMode::PRIMARY_OR_SECONDARY
285
+ response = call(:get, share_uri(name, query, options), nil, {}, options)
286
+
287
+ # Result
288
+ share = Serialization.share_from_headers(response.headers)
289
+ share.name = name
290
+
291
+ signed_identifiers = nil
292
+ signed_identifiers = Serialization.signed_identifiers_from_xml(response.body) if response.body != nil && response.body.length > 0
293
+
294
+ return share, signed_identifiers
295
+ end
296
+
297
+ # Public: Sets stored access policies the share.
298
+ #
299
+ # ==== Attributes
300
+ #
301
+ # * +name+ - String. The name of the share
302
+ # * +options+ - Hash. Optional parameters.
303
+ #
304
+ # ==== Options
305
+ #
306
+ # Accepted key/value pairs in options parameter are:
307
+ # * +:signed_identifiers+ - Array. A list of Azure::Storage::Service::SignedIdentifier instances.
308
+ # * +:timeout+ - Integer. A timeout in seconds.
309
+ # * +:request_id+ - String. Provides a client-generated, opaque value with a 1 KB character limit that is recorded
310
+ # in the analytics logs when storage analytics logging is enabled.
311
+ #
312
+ # See https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/set-share-acl
313
+ #
314
+ # Returns a tuple of (share, signed_identifiers)
315
+ # * +share+ - A Azure::Storage::File::Share::Share instance
316
+ # * +signed_identifiers+ - A list of Azure::Storage::Service::SignedIdentifier instances
317
+ #
318
+ def set_share_acl(name, options = {})
319
+ # Query
320
+ query = { "comp" => "acl" }
321
+ query["timeout"] = options[:timeout].to_s if options[:timeout]
322
+
323
+ # Scheme + path
324
+ uri = share_uri(name, query)
325
+
326
+ # Headers + body
327
+ headers = {}
328
+
329
+ signed_identifiers = options[:signed_identifiers] ? options[:signed_identifiers] : nil
330
+ body = signed_identifiers ? Serialization.signed_identifiers_to_xml(signed_identifiers) : nil
331
+
332
+ # Call
333
+ response = call(:put, uri, body, headers, options)
334
+
335
+ # Result
336
+ share = Serialization.share_from_headers(response.headers)
337
+ share.name = name
338
+
339
+ return share, signed_identifiers || []
340
+ end
341
+
342
+ # Public: Retrieves statistics related to the share.
343
+ #
344
+ # ==== Attributes
345
+ #
346
+ # * +name+ - String. The name of the share
347
+ # * +options+ - Hash. Optional parameters.
348
+ #
349
+ # ==== Options
350
+ #
351
+ # Accepted key/value pairs in options parameter are:
352
+ # * +:timeout+ - Integer. A timeout in seconds.
353
+ # * +:request_id+ - String. Provides a client-generated, opaque value with a 1 KB character limit that is recorded
354
+ # in the analytics logs when storage analytics logging is enabled.
355
+ # * +:location_mode+ - LocationMode. Specifies the location mode used to decide
356
+ # which location the request should be sent to.
357
+ #
358
+ # See https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/get-share-stats
359
+ #
360
+ # Returns a Share
361
+ def get_share_stats(name, options = {})
362
+ # Query
363
+ query = { "comp" => "stats" }
364
+ query["timeout"] = options[:timeout].to_s if options[:timeout]
365
+
366
+ # Call
367
+ options[:request_location_mode] = Azure::Storage::Common::RequestLocationMode::PRIMARY_OR_SECONDARY
368
+ response = call(:get, share_uri(name, query, options), nil, {}, options)
369
+
370
+ # result
371
+ share = Serialization.share_from_headers(response.headers)
372
+ share.name = name
373
+ share.usage = Serialization.share_stats_from_xml(response.body)
374
+ share
375
+ end
376
+ end
377
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ #-------------------------------------------------------------------------
4
+ # # Copyright (c) Microsoft and contributors. All rights reserved.
5
+ #
6
+ # The MIT License(MIT)
7
+
8
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
9
+ # of this software and associated documentation files(the "Software"), to deal
10
+ # in the Software without restriction, including without limitation the rights
11
+ # to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
12
+ # copies of the Software, and to permit persons to whom the Software is
13
+ # furnished to do so, subject to the following conditions :
14
+
15
+ # The above copyright notice and this permission notice shall be included in
16
+ # all copies or substantial portions of the Software.
17
+
18
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE
21
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
+ # THE SOFTWARE.
25
+ #--------------------------------------------------------------------------
26
+
27
+ module Azure
28
+ module Storage
29
+ module File
30
+ class Version
31
+ # Fields represent the parts defined in http://semver.org/
32
+ MAJOR = 1 unless defined? MAJOR
33
+ MINOR = 0 unless defined? MINOR
34
+ UPDATE = 0 unless defined? UPDATE
35
+
36
+ class << self
37
+ # @return [String]
38
+ def to_s
39
+ [MAJOR, MINOR, UPDATE].compact.join(".")
40
+ end
41
+
42
+ def to_uas
43
+ [MAJOR, MINOR, UPDATE].join(".")
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
metadata ADDED
@@ -0,0 +1,204 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: azure-storage-file
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Microsoft Corporation
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-01-12 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: azure-core
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.1.13
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.1.13
27
+ - !ruby/object:Gem::Dependency
28
+ name: azure-storage-common
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: nokogiri
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.6'
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 1.6.8
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - "~>"
56
+ - !ruby/object:Gem::Version
57
+ version: '1.6'
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 1.6.8
61
+ - !ruby/object:Gem::Dependency
62
+ name: dotenv
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '2.0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '2.0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: minitest
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '5'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '5'
89
+ - !ruby/object:Gem::Dependency
90
+ name: minitest-reporters
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '1'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '1'
103
+ - !ruby/object:Gem::Dependency
104
+ name: mocha
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '1.0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '1.0'
117
+ - !ruby/object:Gem::Dependency
118
+ name: rake
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '10.0'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '10.0'
131
+ - !ruby/object:Gem::Dependency
132
+ name: timecop
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '0.7'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '0.7'
145
+ - !ruby/object:Gem::Dependency
146
+ name: yard
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '0.9'
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ version: 0.9.11
155
+ type: :development
156
+ prerelease: false
157
+ version_requirements: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - "~>"
160
+ - !ruby/object:Gem::Version
161
+ version: '0.9'
162
+ - - ">="
163
+ - !ruby/object:Gem::Version
164
+ version: 0.9.11
165
+ description: Microsoft Azure Storage File Client Library for Ruby
166
+ email: ascl@microsoft.com
167
+ executables: []
168
+ extensions: []
169
+ extra_rdoc_files: []
170
+ files:
171
+ - file/lib/azure/storage/file.rb
172
+ - file/lib/azure/storage/file/autoload.rb
173
+ - file/lib/azure/storage/file/default.rb
174
+ - file/lib/azure/storage/file/directory.rb
175
+ - file/lib/azure/storage/file/file.rb
176
+ - file/lib/azure/storage/file/file_service.rb
177
+ - file/lib/azure/storage/file/serialization.rb
178
+ - file/lib/azure/storage/file/share.rb
179
+ - file/lib/azure/storage/file/version.rb
180
+ homepage: http://github.com/azure/azure-storage-ruby
181
+ licenses:
182
+ - MIT
183
+ metadata: {}
184
+ post_install_message:
185
+ rdoc_options: []
186
+ require_paths:
187
+ - lib
188
+ required_ruby_version: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - ">="
191
+ - !ruby/object:Gem::Version
192
+ version: 1.9.3
193
+ required_rubygems_version: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - ">="
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
198
+ requirements: []
199
+ rubyforge_project:
200
+ rubygems_version: 2.5.1
201
+ signing_key:
202
+ specification_version: 4
203
+ summary: Official Ruby client library to consume Azure Storage File service
204
+ test_files: []