files.com 1.0.92

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 (136) hide show
  1. checksums.yaml +7 -0
  2. data/CONTRIBUTORS +4 -0
  3. data/Gemfile +12 -0
  4. data/Gemfile.lock +82 -0
  5. data/LICENSE +21 -0
  6. data/README.md +119 -0
  7. data/Rakefile +12 -0
  8. data/SECURITY.md +24 -0
  9. data/_VERSION +1 -0
  10. data/bin/files +8 -0
  11. data/bin/files-console +16 -0
  12. data/docs/account_line_item.md +41 -0
  13. data/docs/action.md +37 -0
  14. data/docs/api_key.md +202 -0
  15. data/docs/app.md +59 -0
  16. data/docs/as2_key.md +133 -0
  17. data/docs/auto.md +11 -0
  18. data/docs/automation.md +190 -0
  19. data/docs/behavior.md +208 -0
  20. data/docs/bundle.md +252 -0
  21. data/docs/bundle_download.md +35 -0
  22. data/docs/clickwrap.md +143 -0
  23. data/docs/dns_record.md +35 -0
  24. data/docs/errors.md +17 -0
  25. data/docs/file.md +204 -0
  26. data/docs/file_action.md +126 -0
  27. data/docs/file_comment.md +116 -0
  28. data/docs/file_comment_reaction.md +62 -0
  29. data/docs/file_part_upload.md +37 -0
  30. data/docs/file_utils.md +4 -0
  31. data/docs/folder.md +90 -0
  32. data/docs/group.md +153 -0
  33. data/docs/group_user.md +124 -0
  34. data/docs/history.md +171 -0
  35. data/docs/history_export.md +174 -0
  36. data/docs/image.md +13 -0
  37. data/docs/invoice.md +72 -0
  38. data/docs/invoice_line_item.md +27 -0
  39. data/docs/ip_address.md +55 -0
  40. data/docs/lock.md +98 -0
  41. data/docs/message.md +147 -0
  42. data/docs/message_comment.md +132 -0
  43. data/docs/message_comment_reaction.md +94 -0
  44. data/docs/message_reaction.md +94 -0
  45. data/docs/notification.md +177 -0
  46. data/docs/payment.md +72 -0
  47. data/docs/payment_line_item.md +19 -0
  48. data/docs/permission.md +95 -0
  49. data/docs/preview.md +19 -0
  50. data/docs/project.md +121 -0
  51. data/docs/public_ip_address.md +13 -0
  52. data/docs/public_key.md +133 -0
  53. data/docs/remote_server.md +356 -0
  54. data/docs/request.md +100 -0
  55. data/docs/session.md +78 -0
  56. data/docs/site.md +448 -0
  57. data/docs/sso_strategy.md +114 -0
  58. data/docs/status.md +21 -0
  59. data/docs/style.md +93 -0
  60. data/docs/usage_daily_snapshot.md +45 -0
  61. data/docs/usage_snapshot.md +53 -0
  62. data/docs/user.md +535 -0
  63. data/docs/user_cipher_use.md +41 -0
  64. data/docs/user_request.md +93 -0
  65. data/files.com.gemspec +22 -0
  66. data/lib/files.com.rb +184 -0
  67. data/lib/files.com/api.rb +38 -0
  68. data/lib/files.com/api_client.rb +340 -0
  69. data/lib/files.com/errors.rb +41 -0
  70. data/lib/files.com/list.rb +95 -0
  71. data/lib/files.com/models/account_line_item.rb +82 -0
  72. data/lib/files.com/models/action.rb +77 -0
  73. data/lib/files.com/models/api_key.rb +270 -0
  74. data/lib/files.com/models/app.rb +106 -0
  75. data/lib/files.com/models/as2_key.rb +179 -0
  76. data/lib/files.com/models/auto.rb +17 -0
  77. data/lib/files.com/models/automation.rb +304 -0
  78. data/lib/files.com/models/behavior.rb +266 -0
  79. data/lib/files.com/models/bundle.rb +371 -0
  80. data/lib/files.com/models/bundle_download.rb +49 -0
  81. data/lib/files.com/models/clickwrap.rb +197 -0
  82. data/lib/files.com/models/dir.rb +3 -0
  83. data/lib/files.com/models/dns_record.rb +51 -0
  84. data/lib/files.com/models/errors.rb +22 -0
  85. data/lib/files.com/models/file.rb +968 -0
  86. data/lib/files.com/models/file_action.rb +126 -0
  87. data/lib/files.com/models/file_comment.rb +146 -0
  88. data/lib/files.com/models/file_comment_reaction.rb +100 -0
  89. data/lib/files.com/models/file_part_upload.rb +82 -0
  90. data/lib/files.com/models/file_utils.rb +118 -0
  91. data/lib/files.com/models/folder.rb +357 -0
  92. data/lib/files.com/models/group.rb +208 -0
  93. data/lib/files.com/models/group_user.rb +171 -0
  94. data/lib/files.com/models/history.rb +228 -0
  95. data/lib/files.com/models/history_export.rb +353 -0
  96. data/lib/files.com/models/image.rb +22 -0
  97. data/lib/files.com/models/invoice.rb +117 -0
  98. data/lib/files.com/models/invoice_line_item.rb +57 -0
  99. data/lib/files.com/models/ip_address.rb +66 -0
  100. data/lib/files.com/models/lock.rb +173 -0
  101. data/lib/files.com/models/message.rb +201 -0
  102. data/lib/files.com/models/message_comment.rb +165 -0
  103. data/lib/files.com/models/message_comment_reaction.rb +128 -0
  104. data/lib/files.com/models/message_reaction.rb +128 -0
  105. data/lib/files.com/models/notification.rb +263 -0
  106. data/lib/files.com/models/payment.rb +117 -0
  107. data/lib/files.com/models/payment_line_item.rb +37 -0
  108. data/lib/files.com/models/permission.rb +172 -0
  109. data/lib/files.com/models/preview.rb +37 -0
  110. data/lib/files.com/models/project.rb +140 -0
  111. data/lib/files.com/models/public_ip_address.rb +22 -0
  112. data/lib/files.com/models/public_key.rb +179 -0
  113. data/lib/files.com/models/remote_server.rb +680 -0
  114. data/lib/files.com/models/request.rb +179 -0
  115. data/lib/files.com/models/session.rb +247 -0
  116. data/lib/files.com/models/site.rb +733 -0
  117. data/lib/files.com/models/sso_strategy.rb +227 -0
  118. data/lib/files.com/models/status.rb +37 -0
  119. data/lib/files.com/models/style.rb +131 -0
  120. data/lib/files.com/models/usage_daily_snapshot.rb +66 -0
  121. data/lib/files.com/models/usage_snapshot.rb +96 -0
  122. data/lib/files.com/models/user.rb +876 -0
  123. data/lib/files.com/models/user_cipher_use.rb +63 -0
  124. data/lib/files.com/models/user_request.rb +127 -0
  125. data/lib/files.com/response.rb +25 -0
  126. data/lib/files.com/sizable_io.rb +32 -0
  127. data/lib/files.com/system_profiler.rb +56 -0
  128. data/lib/files.com/util.rb +106 -0
  129. data/lib/files.com/version.rb +5 -0
  130. data/spec/list_spec.rb +214 -0
  131. data/spec/models/file_spec.rb +68 -0
  132. data/spec/models/folder_spec.rb +40 -0
  133. data/spec/spec_helper.rb +36 -0
  134. data/test.sh +8 -0
  135. data/test/test.rb +75 -0
  136. metadata +235 -0
@@ -0,0 +1,17 @@
1
+ # Errors
2
+
3
+ ## Example Errors Object
4
+
5
+ ```
6
+ {
7
+ "fields": [
8
+
9
+ ],
10
+ "messages": [
11
+
12
+ ]
13
+ }
14
+ ```
15
+
16
+ * `fields` (array): A list of fields where errors occur
17
+ * `messages` (array): A list of error messages
@@ -0,0 +1,204 @@
1
+ # File
2
+
3
+ The Files::File object emulates a Ruby File object and can be used in
4
+ may places where a Ruby File object can be used.
5
+
6
+ ## Example File Object
7
+
8
+ ```
9
+ {
10
+ "id": 1,
11
+ "path": "path/file.txt",
12
+ "display_name": "file.txt",
13
+ "type": "file",
14
+ "size": 1024,
15
+ "mtime": "2000-01-01T01:00:00Z",
16
+ "provided_mtime": "2000-01-01T01:00:00Z",
17
+ "crc32": "70976923",
18
+ "md5": "17c54824e9931a4688ca032d03f6663c",
19
+ "mime_type": "application/octet-stream",
20
+ "region": "us-east-1",
21
+ "permissions": "rpw",
22
+ "subfolders_locked?": true,
23
+ "download_uri": "https://mysite.files.com/...",
24
+ "priority_color": "red",
25
+ "preview_id": 1,
26
+ "preview": ""
27
+ }
28
+ ```
29
+
30
+ * `id` (int64): File/Folder ID
31
+ * `path` (string): File/Folder path This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
32
+ * `display_name` (string): File/Folder display name
33
+ * `type` (string): Type: `directory` or `file`.
34
+ * `size` (int64): File/Folder size
35
+ * `mtime` (date-time): File last modified date/time, according to the server. This is the timestamp of the last Files.com operation of the file, regardless of what modified timestamp was sent.
36
+ * `provided_mtime` (date-time): File last modified date/time, according to the client who set it. Files.com allows desktop, FTP, SFTP, and WebDAV clients to set modified at times. This allows Desktop<->Cloud syncing to preserve modified at times.
37
+ * `crc32` (string): File CRC32 checksum. This is sometimes delayed, so if you get a blank response, wait and try again.
38
+ * `md5` (string): File MD5 checksum. This is sometimes delayed, so if you get a blank response, wait and try again.
39
+ * `mime_type` (string): MIME Type. This is determined by the filename extension and is not stored separately internally.
40
+ * `region` (string): Region location
41
+ * `permissions` (string): A short string representing the current user's permissions. Can be `r`,`w`,`p`, or any combination
42
+ * `subfolders_locked?` (boolean): Are subfolders locked and unable to be modified?
43
+ * `download_uri` (string): Link to download file. Provided only in response to a download request.
44
+ * `priority_color` (string): Bookmark/priority color of file/folder
45
+ * `preview_id` (int64): File preview ID
46
+ * `preview`: File preview
47
+ * `action` (string): The action to perform. Can be `append`, `attachment`, `end`, `upload`, `put`, or may not exist
48
+ * `length` (int64): Length of file.
49
+ * `mkdir_parents` (boolean): Create parent directories if they do not exist?
50
+ * `part` (int64): Part if uploading a part.
51
+ * `parts` (int64): How many parts to fetch?
52
+ * `ref` (string):
53
+ * `restart` (int64): File byte offset to restart from.
54
+ * `structure` (string): If copying folder, copy just the structure?
55
+ * `with_rename` (boolean): Allow file rename instead of overwrite?
56
+
57
+
58
+ ---
59
+
60
+ ## Download file
61
+
62
+ ```
63
+ Files::File.download(path,
64
+ with_previews: true,
65
+ with_priority_color: true
66
+ )
67
+ ```
68
+
69
+ ### Parameters
70
+
71
+ * `path` (string): Required - Path to operate on.
72
+ * `action` (string): Can be blank, `redirect` or `stat`. If set to `stat`, we will return file information but without a download URL, and without logging a download. If set to `redirect` we will serve a 302 redirect directly to the file. This is used for integrations with Zapier, and is not recommended for most integrations.
73
+ * `preview_size` (string): Request a preview size. Can be `small` (default), `large`, `xlarge`, or `pdf`.
74
+ * `with_previews` (boolean): Include file preview information?
75
+ * `with_priority_color` (boolean): Include file priority color information?
76
+
77
+
78
+ ---
79
+
80
+ ## Upload file
81
+
82
+ ```
83
+ Files::File.create(path,
84
+ length: 1,
85
+ mkdir_parents: true,
86
+ part: 1,
87
+ parts: 1,
88
+ provided_mtime: "2000-01-01T01:00:00Z",
89
+ restart: 1,
90
+ size: 1,
91
+ with_rename: true
92
+ )
93
+ ```
94
+
95
+ ### Parameters
96
+
97
+ * `path` (string): Required - Path to operate on.
98
+ * `action` (string): The action to perform. Can be `append`, `attachment`, `end`, `upload`, `put`, or may not exist
99
+ * `etags[etag]` (array(string)): etag identifier.
100
+ * `etags[part]` (array(int64)): Part number.
101
+ * `length` (int64): Length of file.
102
+ * `mkdir_parents` (boolean): Create parent directories if they do not exist?
103
+ * `part` (int64): Part if uploading a part.
104
+ * `parts` (int64): How many parts to fetch?
105
+ * `provided_mtime` (string): User provided modification time.
106
+ * `ref` (string):
107
+ * `restart` (int64): File byte offset to restart from.
108
+ * `size` (int64): Size of file.
109
+ * `structure` (string): If copying folder, copy just the structure?
110
+ * `with_rename` (boolean): Allow file rename instead of overwrite?
111
+
112
+
113
+ ---
114
+
115
+ ## Update file/folder metadata
116
+
117
+ ```
118
+ Files::File.update(path,
119
+ provided_mtime: "2000-01-01T01:00:00Z",
120
+ priority_color: "red"
121
+ )
122
+ ```
123
+
124
+ ### Parameters
125
+
126
+ * `path` (string): Required - Path to operate on.
127
+ * `provided_mtime` (string): Modified time of file.
128
+ * `priority_color` (string): Priority/Bookmark color of file.
129
+
130
+
131
+ ---
132
+
133
+ ## Delete file/folder
134
+
135
+ ```
136
+ Files::File.delete(path,
137
+ recursive: true
138
+ )
139
+ ```
140
+
141
+ ### Parameters
142
+
143
+ * `path` (string): Required - Path to operate on.
144
+ * `recursive` (boolean): If true, will recursively delete folers. Otherwise, will error on non-empty folders. For legacy reasons, this parameter may also be provided as the HTTP header `Depth: Infinity`
145
+
146
+
147
+ ---
148
+
149
+ ## Download file
150
+
151
+ ```
152
+ file = Files::File.list_for(path).first
153
+
154
+ file.download(
155
+ with_previews: true,
156
+ with_priority_color: true
157
+ )
158
+ ```
159
+
160
+ ### Parameters
161
+
162
+ * `path` (string): Required - Path to operate on.
163
+ * `action` (string): Can be blank, `redirect` or `stat`. If set to `stat`, we will return file information but without a download URL, and without logging a download. If set to `redirect` we will serve a 302 redirect directly to the file. This is used for integrations with Zapier, and is not recommended for most integrations.
164
+ * `preview_size` (string): Request a preview size. Can be `small` (default), `large`, `xlarge`, or `pdf`.
165
+ * `with_previews` (boolean): Include file preview information?
166
+ * `with_priority_color` (boolean): Include file priority color information?
167
+
168
+
169
+ ---
170
+
171
+ ## Update file/folder metadata
172
+
173
+ ```
174
+ file = Files::File.list_for(path).first
175
+
176
+ file.update(
177
+ provided_mtime: "2000-01-01T01:00:00Z",
178
+ priority_color: "red"
179
+ )
180
+ ```
181
+
182
+ ### Parameters
183
+
184
+ * `path` (string): Required - Path to operate on.
185
+ * `provided_mtime` (string): Modified time of file.
186
+ * `priority_color` (string): Priority/Bookmark color of file.
187
+
188
+
189
+ ---
190
+
191
+ ## Delete file/folder
192
+
193
+ ```
194
+ file = Files::File.list_for(path).first
195
+
196
+ file.delete(
197
+ recursive: true
198
+ )
199
+ ```
200
+
201
+ ### Parameters
202
+
203
+ * `path` (string): Required - Path to operate on.
204
+ * `recursive` (boolean): If true, will recursively delete folers. Otherwise, will error on non-empty folders. For legacy reasons, this parameter may also be provided as the HTTP header `Depth: Infinity`
@@ -0,0 +1,126 @@
1
+
2
+
3
+ ---
4
+
5
+ ## Copy file/folder
6
+
7
+ ```
8
+ Files::FileAction.copy(path,
9
+ destination: "destination",
10
+ structure: true
11
+ )
12
+ ```
13
+
14
+ ### Parameters
15
+
16
+ * `path` (string): Required - Path to operate on.
17
+ * `destination` (string): Required - Copy destination path.
18
+ * `structure` (boolean): Copy structure only?
19
+
20
+
21
+ ---
22
+
23
+ ## Move file/folder
24
+
25
+ ```
26
+ Files::FileAction.move(path,
27
+ destination: "destination"
28
+ )
29
+ ```
30
+
31
+ ### Parameters
32
+
33
+ * `path` (string): Required - Path to operate on.
34
+ * `destination` (string): Required - Move destination path.
35
+
36
+
37
+ ---
38
+
39
+ ## Begin file upload
40
+
41
+ ```
42
+ Files::FileAction.begin_upload(path,
43
+ mkdir_parents: true,
44
+ part: 1,
45
+ parts: 1,
46
+ ref: "upload-1",
47
+ restart: 1,
48
+ with_rename: true
49
+ )
50
+ ```
51
+
52
+ ### Parameters
53
+
54
+ * `path` (string): Required - Path to operate on.
55
+ * `mkdir_parents` (boolean): Create parent directories if they do not exist?
56
+ * `part` (int64): Part if uploading a part.
57
+ * `parts` (int64): How many parts to fetch?
58
+ * `ref` (string):
59
+ * `restart` (int64): File byte offset to restart from.
60
+ * `with_rename` (boolean): Allow file rename instead of overwrite?
61
+
62
+
63
+ ---
64
+
65
+ ## Copy file/folder
66
+
67
+ ```
68
+ file_action = Files::FileAction.list_for(path).first
69
+
70
+ file_action.copy(
71
+ destination: "destination",
72
+ structure: true
73
+ )
74
+ ```
75
+
76
+ ### Parameters
77
+
78
+ * `path` (string): Required - Path to operate on.
79
+ * `destination` (string): Required - Copy destination path.
80
+ * `structure` (boolean): Copy structure only?
81
+
82
+
83
+ ---
84
+
85
+ ## Move file/folder
86
+
87
+ ```
88
+ file_action = Files::FileAction.list_for(path).first
89
+
90
+ file_action.move(
91
+ destination: "destination"
92
+ )
93
+ ```
94
+
95
+ ### Parameters
96
+
97
+ * `path` (string): Required - Path to operate on.
98
+ * `destination` (string): Required - Move destination path.
99
+
100
+
101
+ ---
102
+
103
+ ## Begin file upload
104
+
105
+ ```
106
+ file_action = Files::FileAction.list_for(path).first
107
+
108
+ file_action.begin_upload(
109
+ mkdir_parents: true,
110
+ part: 1,
111
+ parts: 1,
112
+ ref: "upload-1",
113
+ restart: 1,
114
+ with_rename: true
115
+ )
116
+ ```
117
+
118
+ ### Parameters
119
+
120
+ * `path` (string): Required - Path to operate on.
121
+ * `mkdir_parents` (boolean): Create parent directories if they do not exist?
122
+ * `part` (int64): Part if uploading a part.
123
+ * `parts` (int64): How many parts to fetch?
124
+ * `ref` (string):
125
+ * `restart` (int64): File byte offset to restart from.
126
+ * `with_rename` (boolean): Allow file rename instead of overwrite?
@@ -0,0 +1,116 @@
1
+ # FileComment
2
+
3
+ ## Example FileComment Object
4
+
5
+ ```
6
+ {
7
+ "id": 1,
8
+ "body": "What a great file!",
9
+ "reactions": [
10
+
11
+ ]
12
+ }
13
+ ```
14
+
15
+ * `id` (int64): File Comment ID
16
+ * `body` (string): Comment body.
17
+ * `reactions` (array): Reactions to this comment.
18
+ * `path` (string): File path.
19
+
20
+
21
+ ---
22
+
23
+ ## List File Comments by path
24
+
25
+ ```
26
+ Files::FileComment.list_for(path,
27
+ page: 1,
28
+ per_page: 1
29
+ )
30
+ ```
31
+
32
+ ### Parameters
33
+
34
+ * `page` (int64): Current page number.
35
+ * `per_page` (int64): Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
36
+ * `action` (string): Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
37
+ * `path` (string): Required - Path to operate on.
38
+
39
+
40
+ ---
41
+
42
+ ## Create File Comment
43
+
44
+ ```
45
+ Files::FileComment.create(
46
+ body: "body",
47
+ path: "path"
48
+ )
49
+ ```
50
+
51
+ ### Parameters
52
+
53
+ * `body` (string): Required - Comment body.
54
+ * `path` (string): Required - File path.
55
+
56
+
57
+ ---
58
+
59
+ ## Update File Comment
60
+
61
+ ```
62
+ Files::FileComment.update(id,
63
+ body: "body"
64
+ )
65
+ ```
66
+
67
+ ### Parameters
68
+
69
+ * `id` (int64): Required - File Comment ID.
70
+ * `body` (string): Required - Comment body.
71
+
72
+
73
+ ---
74
+
75
+ ## Delete File Comment
76
+
77
+ ```
78
+ Files::FileComment.delete(id)
79
+ ```
80
+
81
+ ### Parameters
82
+
83
+ * `id` (int64): Required - File Comment ID.
84
+
85
+
86
+ ---
87
+
88
+ ## Update File Comment
89
+
90
+ ```
91
+ file_comment = Files::FileComment.list_for(path).first
92
+
93
+ file_comment.update(
94
+ body: "body"
95
+ )
96
+ ```
97
+
98
+ ### Parameters
99
+
100
+ * `id` (int64): Required - File Comment ID.
101
+ * `body` (string): Required - Comment body.
102
+
103
+
104
+ ---
105
+
106
+ ## Delete File Comment
107
+
108
+ ```
109
+ file_comment = Files::FileComment.list_for(path).first
110
+
111
+ file_comment.delete
112
+ ```
113
+
114
+ ### Parameters
115
+
116
+ * `id` (int64): Required - File Comment ID.