files.com 1.1.768 → 1.1.769

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.
Files changed (137) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +47 -7
  4. data/_VERSION +1 -1
  5. data/docs/file.md +37 -0
  6. data/lib/files.com/api.rb +9 -4
  7. data/lib/files.com/api_client.rb +181 -55
  8. data/lib/files.com/list.rb +98 -66
  9. data/lib/files.com/models/action_log.rb +2 -2
  10. data/lib/files.com/models/action_notification_export.rb +3 -3
  11. data/lib/files.com/models/action_notification_export_result.rb +2 -2
  12. data/lib/files.com/models/ai_assistant_personality.rb +10 -8
  13. data/lib/files.com/models/ai_task.rb +10 -8
  14. data/lib/files.com/models/api_key.rb +12 -10
  15. data/lib/files.com/models/api_request_log.rb +2 -2
  16. data/lib/files.com/models/app.rb +2 -2
  17. data/lib/files.com/models/as2_incoming_message.rb +2 -2
  18. data/lib/files.com/models/as2_outgoing_message.rb +2 -2
  19. data/lib/files.com/models/as2_partner.rb +10 -8
  20. data/lib/files.com/models/as2_station.rb +10 -8
  21. data/lib/files.com/models/automation.rb +12 -10
  22. data/lib/files.com/models/automation_log.rb +2 -2
  23. data/lib/files.com/models/automation_run.rb +6 -6
  24. data/lib/files.com/models/bandwidth_snapshot.rb +2 -2
  25. data/lib/files.com/models/behavior.rb +12 -10
  26. data/lib/files.com/models/bundle.rb +10 -8
  27. data/lib/files.com/models/bundle_action.rb +2 -2
  28. data/lib/files.com/models/bundle_download.rb +2 -2
  29. data/lib/files.com/models/bundle_notification.rb +10 -8
  30. data/lib/files.com/models/bundle_recipient.rb +4 -4
  31. data/lib/files.com/models/bundle_registration.rb +2 -2
  32. data/lib/files.com/models/chat_session.rb +3 -3
  33. data/lib/files.com/models/child_site_management_policy.rb +10 -8
  34. data/lib/files.com/models/clickwrap.rb +10 -8
  35. data/lib/files.com/models/custom_domain.rb +11 -9
  36. data/lib/files.com/models/desktop_configuration_profile.rb +10 -8
  37. data/lib/files.com/models/dns_record.rb +2 -2
  38. data/lib/files.com/models/email_incoming_message.rb +2 -2
  39. data/lib/files.com/models/email_log.rb +2 -2
  40. data/lib/files.com/models/event_channel.rb +10 -8
  41. data/lib/files.com/models/event_delivery_attempt.rb +3 -3
  42. data/lib/files.com/models/event_record.rb +3 -3
  43. data/lib/files.com/models/event_subscription.rb +10 -8
  44. data/lib/files.com/models/event_target.rb +10 -8
  45. data/lib/files.com/models/exavault_api_request_log.rb +2 -2
  46. data/lib/files.com/models/expectation.rb +11 -9
  47. data/lib/files.com/models/expectation_evaluation.rb +3 -3
  48. data/lib/files.com/models/expectation_incident.rb +6 -6
  49. data/lib/files.com/models/external_event.rb +5 -5
  50. data/lib/files.com/models/file.rb +23 -15
  51. data/lib/files.com/models/file_comment.rb +9 -7
  52. data/lib/files.com/models/file_comment_reaction.rb +2 -2
  53. data/lib/files.com/models/file_migration.rb +1 -1
  54. data/lib/files.com/models/file_migration_log.rb +2 -2
  55. data/lib/files.com/models/folder.rb +3 -3
  56. data/lib/files.com/models/form_field_set.rb +10 -8
  57. data/lib/files.com/models/ftp_action_log.rb +2 -2
  58. data/lib/files.com/models/gpg_key.rb +10 -8
  59. data/lib/files.com/models/group.rb +10 -8
  60. data/lib/files.com/models/group_user.rb +9 -7
  61. data/lib/files.com/models/history.rb +10 -10
  62. data/lib/files.com/models/history_export.rb +3 -3
  63. data/lib/files.com/models/history_export_result.rb +2 -2
  64. data/lib/files.com/models/holiday_calendar.rb +10 -8
  65. data/lib/files.com/models/holiday_region.rb +2 -2
  66. data/lib/files.com/models/inbound_s3_log.rb +2 -2
  67. data/lib/files.com/models/inbox_recipient.rb +4 -4
  68. data/lib/files.com/models/inbox_registration.rb +2 -2
  69. data/lib/files.com/models/inbox_upload.rb +2 -2
  70. data/lib/files.com/models/integration_centric_profile.rb +10 -8
  71. data/lib/files.com/models/invoice.rb +3 -3
  72. data/lib/files.com/models/ip_address.rb +8 -8
  73. data/lib/files.com/models/key_lifecycle_rule.rb +10 -8
  74. data/lib/files.com/models/lock.rb +3 -3
  75. data/lib/files.com/models/metadata_category.rb +12 -10
  76. data/lib/files.com/models/notification.rb +10 -8
  77. data/lib/files.com/models/outbound_connection_log.rb +2 -2
  78. data/lib/files.com/models/partner.rb +10 -8
  79. data/lib/files.com/models/partner_channel.rb +10 -8
  80. data/lib/files.com/models/partner_channel_template.rb +10 -8
  81. data/lib/files.com/models/partner_site_request.rb +4 -4
  82. data/lib/files.com/models/payment.rb +3 -3
  83. data/lib/files.com/models/pending_work_event.rb +3 -3
  84. data/lib/files.com/models/permission.rb +4 -4
  85. data/lib/files.com/models/public_hosting_request_log.rb +2 -2
  86. data/lib/files.com/models/public_key.rb +10 -8
  87. data/lib/files.com/models/remote_bandwidth_snapshot.rb +2 -2
  88. data/lib/files.com/models/remote_mount_backend.rb +10 -8
  89. data/lib/files.com/models/remote_server.rb +13 -11
  90. data/lib/files.com/models/remote_server_credential.rb +10 -8
  91. data/lib/files.com/models/request.rb +6 -6
  92. data/lib/files.com/models/restore.rb +4 -4
  93. data/lib/files.com/models/schedule.rb +10 -8
  94. data/lib/files.com/models/scheduled_export.rb +10 -8
  95. data/lib/files.com/models/scim_log.rb +3 -3
  96. data/lib/files.com/models/secret.rb +10 -8
  97. data/lib/files.com/models/session.rb +2 -2
  98. data/lib/files.com/models/settings_change.rb +2 -2
  99. data/lib/files.com/models/sftp_action_log.rb +2 -2
  100. data/lib/files.com/models/sftp_host_key.rb +10 -8
  101. data/lib/files.com/models/share_group.rb +10 -8
  102. data/lib/files.com/models/siem_http_destination.rb +10 -8
  103. data/lib/files.com/models/siem_http_destination_event.rb +3 -3
  104. data/lib/files.com/models/site.rb +3 -3
  105. data/lib/files.com/models/site_subdomain_redirect.rb +3 -3
  106. data/lib/files.com/models/snapshot.rb +10 -8
  107. data/lib/files.com/models/sso_event.rb +3 -3
  108. data/lib/files.com/models/sso_strategy.rb +3 -3
  109. data/lib/files.com/models/style.rb +6 -5
  110. data/lib/files.com/models/sync.rb +10 -8
  111. data/lib/files.com/models/sync_log.rb +2 -2
  112. data/lib/files.com/models/sync_run.rb +3 -3
  113. data/lib/files.com/models/usage_daily_snapshot.rb +2 -2
  114. data/lib/files.com/models/usage_snapshot.rb +2 -2
  115. data/lib/files.com/models/user.rb +10 -8
  116. data/lib/files.com/models/user_additional_email_recipient.rb +10 -8
  117. data/lib/files.com/models/user_cipher_use.rb +2 -2
  118. data/lib/files.com/models/user_lifecycle_rule.rb +10 -8
  119. data/lib/files.com/models/user_request.rb +5 -5
  120. data/lib/files.com/models/user_security_event.rb +3 -3
  121. data/lib/files.com/models/user_sftp_client_use.rb +2 -2
  122. data/lib/files.com/models/web_dav_action_log.rb +2 -2
  123. data/lib/files.com/models/webhook_test.rb +2 -2
  124. data/lib/files.com/models/workspace.rb +10 -8
  125. data/lib/files.com/response.rb +24 -0
  126. data/lib/files.com/sizable_io.rb +65 -4
  127. data/lib/files.com/version.rb +1 -1
  128. data/lib/files.com.rb +23 -1
  129. data/spec/language_spec.rb +20 -10
  130. data/spec/lib/api_client_spec.rb +173 -18
  131. data/spec/list_spec.rb +203 -187
  132. data/spec/models/file_transfer_spec.rb +346 -0
  133. data/spec/models/persistence_spec.rb +167 -0
  134. data/spec/spec_helper.rb +122 -6
  135. data/spec/support/stubbed_api.rb +14 -0
  136. data/spec/support/transfer_server.rb +60 -0
  137. metadata +5 -1
@@ -0,0 +1,60 @@
1
+ require "socket"
2
+
3
+ # A loopback HTTP server for transfer specs. It answers each connection with
4
+ # one canned response, written byte for byte, so a spec controls exactly the
5
+ # framing a storage provider sends, including bodies that end early. Every
6
+ # request it receives is recorded.
7
+ class TransferServer
8
+ Request = Struct.new(:target, :headers)
9
+
10
+ attr_reader :requests
11
+
12
+ def self.response(status, headers = {}, body = "")
13
+ head = [ "HTTP/1.1 #{status}", *headers.map { |name, value| "#{name}: #{value}" }, "Connection: close" ]
14
+ "#{head.join("\r\n")}\r\n\r\n".b + body.b
15
+ end
16
+
17
+ # The block receives each client socket once its request has been read, and
18
+ # the connection closes when the block returns.
19
+ def initialize(&respond)
20
+ @respond = respond
21
+ @requests = []
22
+ @listener = TCPServer.new("127.0.0.1", 0)
23
+ @thread = Thread.new { serve }
24
+ end
25
+
26
+ def url(target)
27
+ "http://127.0.0.1:#{@listener.addr[1]}#{target}"
28
+ end
29
+
30
+ def close
31
+ @listener.close
32
+ @thread.join
33
+ end
34
+
35
+ private
36
+
37
+ def serve
38
+ loop do
39
+ client = @listener.accept
40
+ @requests << read_request(client)
41
+ @respond.call(client)
42
+ rescue Errno::EPIPE, Errno::ECONNRESET
43
+ next # The client stopped reading, which some specs do on purpose.
44
+ ensure
45
+ client&.close
46
+ end
47
+ rescue IOError, Errno::EBADF
48
+ nil # The listener was closed.
49
+ end
50
+
51
+ def read_request(client)
52
+ target = client.gets("\r\n").split[1]
53
+ headers = {}
54
+ while (line = client.gets("\r\n")) && line != "\r\n"
55
+ name, value = line.chomp("\r\n").split(": ", 2)
56
+ headers[name.downcase] = value
57
+ end
58
+ Request.new(target, headers)
59
+ end
60
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: files.com
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.768
4
+ version: 1.1.769
5
5
  platform: ruby
6
6
  authors:
7
7
  - files.com
@@ -489,10 +489,14 @@ files:
489
489
  - spec/list_spec.rb
490
490
  - spec/models/file_download_default_path_spec.rb
491
491
  - spec/models/file_spec.rb
492
+ - spec/models/file_transfer_spec.rb
492
493
  - spec/models/file_underscore_destinations_spec.rb
493
494
  - spec/models/folder_spec.rb
495
+ - spec/models/persistence_spec.rb
494
496
  - spec/path_util_spec.rb
495
497
  - spec/spec_helper.rb
498
+ - spec/support/stubbed_api.rb
499
+ - spec/support/transfer_server.rb
496
500
  - spec/uri_spec.rb
497
501
  - spec/workspace_id_spec.rb
498
502
  - test.sh