kloudless 0.2.1 → 1.0.0

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: 42bbe34d180e3416514fad0b2fefc28ffaa0804e
4
- data.tar.gz: 6074095b58159c86c87f9fb749c0721815e6a581
3
+ metadata.gz: 109e660b95c9f88306552b57c0d3509699eb0a95
4
+ data.tar.gz: 049eeb392d32e6c2813a4c7099a9c595f3971cbe
5
5
  SHA512:
6
- metadata.gz: 51dec12e2e4a7b610b5678d7696a841d358a3661df8eaec4109c2a21da158c2bb91106491659db8718c5c30131ec8a8c0b35a39d50b873a0f08f0d14f726dee6
7
- data.tar.gz: 1f0f9dea225f7e4ca64611f6bc63338af9fbcd69b89ee564df2d1025458b68fcbdddc6667dff2e135c392812431d71a6641c9e3de6e34fdfa583be6c1857f451
6
+ metadata.gz: 48e8d7383331578e2712d4f02f7476512d52530d73b376760cb67086748e08169dba64a10d9303b3710bc548c82b420965d7748978b464dc0bb5345813ed1101
7
+ data.tar.gz: d67815cb4fdf9d37c4a8efc272e6dde4aee9c47292e3321c630c8b6b6e65ca3c565547797dce6a33763cb99d266014704caf5fce0ba0f61d4dee798ad58716f8
@@ -1,8 +1,19 @@
1
- # 0.2.1
1
+ # CHANGELOG
2
+
3
+ ## 1.0.0
4
+
5
+ - The API version has been updated to `v1`. This introduces backwards
6
+ incompatible changes. Please review the
7
+ [migration guide](https://developers.kloudless.com/docs/v1/migration)
8
+ for more information on migrating from `v0` to `v1`.
9
+ - Deprecated Team endpoint removed till newer Team endpoints are introduced
10
+ in this SDK.
11
+
12
+ ## 0.2.1
2
13
 
3
14
  - Convert ID endpoint for file/folders. Listed under files. @kuinak
4
15
 
5
- # 0.2.0
16
+ ## 0.2.0
6
17
 
7
18
  - Query parameters for POST/PUT/PATCH requests.
8
19
  - Bearer Tokens instead of Account Keys.
@@ -10,6 +21,6 @@
10
21
  - Fixed gemspec warnings
11
22
  - Fixed gemspec homepage. @tyrust
12
23
 
13
- # 0.1.0
24
+ ## 0.1.0
14
25
 
15
26
  Initial release
data/README.md CHANGED
@@ -46,7 +46,7 @@ v major.minor.patch
46
46
  ```
47
47
 
48
48
  The major version tracks the version of the Kloudless API. For example, all
49
- versions that start with `v0.x.y` are compatible with Kloudless API `v0`.
49
+ versions that start with `v1.x.y` are compatible with Kloudless API `v1`.
50
50
 
51
51
  ## Release
52
52
 
@@ -3,7 +3,6 @@ require_relative "kloudless/error"
3
3
  require_relative "kloudless/http"
4
4
  require_relative "kloudless/model"
5
5
  require_relative "kloudless/account"
6
- require_relative "kloudless/team"
7
6
  require_relative "kloudless/file"
8
7
  require_relative "kloudless/multipart_upload"
9
8
  require_relative "kloudless/folder"
@@ -14,7 +13,7 @@ require "json"
14
13
  require "uri"
15
14
 
16
15
  module Kloudless
17
- API_VERSION = "v0".freeze
16
+ API_VERSION = "v1".freeze
18
17
  API_URL = "https://api.kloudless.com/#{API_VERSION}".freeze
19
18
 
20
19
  # Public: Authorize with API Key or Bearer Token. Returns nothing.
@@ -19,6 +19,10 @@ module Kloudless
19
19
  @json["page"]
20
20
  end
21
21
 
22
+ def next_page
23
+ @json["next_page"]
24
+ end
25
+
22
26
  def objects
23
27
  @json["objects"]
24
28
  end
@@ -8,60 +8,60 @@ module Kloudless
8
8
  'X-Kloudless-Metadata' => {parent_id: parent_id, name: file_name}.to_json,
9
9
  'Content-Type' => 'application/octet-stream'
10
10
  }
11
- path = "/accounts/#{account_id}/files"
11
+ path = "/accounts/#{account_id}/storage/files"
12
12
  new(http.post(path, params: params, data: data, headers: headers,
13
13
  parse_request: false))
14
14
  end
15
15
 
16
16
  def self.upload_from_url(account_id:, params: {}, **data)
17
- path = "/accounts/#{account_id}/files"
17
+ path = "/accounts/#{account_id}/storage/files"
18
18
  new(http.post(path, params: params, data: data))
19
19
  end
20
20
 
21
21
  def self.metadata(account_id:, file_id:, **params)
22
- path = "/accounts/#{account_id}/files/#{file_id}"
22
+ path = "/accounts/#{account_id}/storage/files/#{file_id}"
23
23
  new(http.get(path, params: params))
24
24
  end
25
25
 
26
26
  def self.rename(account_id:, file_id:, params: {}, **data)
27
- path = "/accounts/#{account_id}/files/#{file_id}"
27
+ path = "/accounts/#{account_id}/storage/files/#{file_id}"
28
28
  new(http.patch(path, params: params, data: data))
29
29
  end
30
30
 
31
31
  def self.update(account_id:, file_id:, data:)
32
- path = "/accounts/#{account_id}/files/#{file_id}"
32
+ path = "/accounts/#{account_id}/storage/files/#{file_id}"
33
33
  new(http.put(path, data: data, parse_request: false,
34
34
  headers: {'Content-Type' => 'application/octet-stream'}))
35
35
  end
36
36
 
37
37
  def self.download(account_id:, file_id:, **params)
38
- path = "/accounts/#{account_id}/files/#{file_id}/contents"
38
+ path = "/accounts/#{account_id}/storage/files/#{file_id}/contents"
39
39
  http.get(path, params: params, parse_response: false)
40
40
  end
41
41
 
42
42
  def self.copy(account_id:, file_id:, parent_id:, params: {}, **data)
43
- path = "/accounts/#{account_id}/files/#{file_id}/copy"
43
+ path = "/accounts/#{account_id}/storage/files/#{file_id}/copy"
44
44
  data[:parent_id] = parent_id
45
45
  new(http.post(path, params: params, data: data))
46
46
  end
47
47
 
48
48
  def self.delete(account_id:, file_id:, **params)
49
- path = "/accounts/#{account_id}/files/#{file_id}"
49
+ path = "/accounts/#{account_id}/storage/files/#{file_id}"
50
50
  new(http.delete(path, params: params))
51
51
  end
52
52
 
53
53
  def self.recent(account_ids:, **params)
54
- path = "/accounts/#{account_ids.join(',')}/recent"
54
+ path = "/accounts/#{account_ids.join(',')}/storage/recent"
55
55
  Kloudless::Collection.new(self, http.get(path, params: params))
56
56
  end
57
57
 
58
58
  def self.search(account_ids:, **params)
59
- path = "/accounts/#{account_ids.join(',')}/search"
59
+ path = "/accounts/#{account_ids.join(',')}/storage/search"
60
60
  Kloudless::Collection.new(self, http.get(path, params: params))
61
61
  end
62
62
 
63
63
  def self.convert_id(account_id:, raw_id:, type:, params: {}, **data)
64
- path = "/accounts/#{account_id}/convert_id"
64
+ path = "/accounts/#{account_id}/storage/convert_id"
65
65
  data[:raw_id] = raw_id
66
66
  data[:type] = type
67
67
  http.post(path, params: params, data: data)
@@ -3,38 +3,38 @@ module Kloudless
3
3
  class Folder < Model
4
4
  # https://developers.kloudless.com/docs#folders-create-a-folder
5
5
  def self.create(account_id:, params: {}, **data)
6
- path = "/accounts/#{account_id}/folders"
6
+ path = "/accounts/#{account_id}/storage/folders"
7
7
  new(http.post(path, params: params, data: data))
8
8
  end
9
9
 
10
10
  # https://developers.kloudless.com/docs#folders-retrieve-folder-metadata
11
11
  def self.metadata(account_id:, folder_id:, **params)
12
- path = "/accounts/#{account_id}/folders/#{folder_id}"
12
+ path = "/accounts/#{account_id}/storage/folders/#{folder_id}"
13
13
  new(http.get(path, params: params))
14
14
  end
15
15
 
16
16
  # https://developers.kloudless.com/docs#folders-retrieve-folder-contents
17
17
  def self.retrieve(account_id:, folder_id:, **params)
18
- path = "/accounts/#{account_id}/folders/#{folder_id}/contents"
18
+ path = "/accounts/#{account_id}/storage/folders/#{folder_id}/contents"
19
19
  Kloudless::Collection.new(self, http.get(path, params: params))
20
20
  end
21
21
 
22
22
  # https://developers.kloudless.com/docs#folders-rename/move-a-folder
23
23
  def self.rename(account_id:, folder_id:, params: {}, **data)
24
- path = "/accounts/#{account_id}/folders/#{folder_id}"
24
+ path = "/accounts/#{account_id}/storage/folders/#{folder_id}"
25
25
  new(http.patch(path, params: params, data: data))
26
26
  end
27
27
 
28
28
  # https://developers.kloudless.com/docs#folders-copy-a-folder
29
29
  def self.copy(account_id:, folder_id:, parent_id:, params: {}, **data)
30
- path = "/accounts/#{account_id}/folders/#{folder_id}/copy"
30
+ path = "/accounts/#{account_id}/storage/folders/#{folder_id}/copy"
31
31
  data[:parent_id] = parent_id
32
32
  new(http.post(path, params: params, data: data))
33
33
  end
34
34
 
35
35
  # https://developers.kloudless.com/docs#folders-delete-a-folder
36
36
  def self.delete(account_id:, folder_id:, **params)
37
- path = "/accounts/#{account_id}/folders/#{folder_id}"
37
+ path = "/accounts/#{account_id}/storage/folders/#{folder_id}"
38
38
  new(http.delete(path, params: params))
39
39
  end
40
40
  end
@@ -2,32 +2,32 @@ module Kloudless
2
2
  # https://developers.kloudless.com/docs#links
3
3
  class Link < Model
4
4
  def self.list(account_ids:, **params)
5
- path = "/accounts/#{account_ids.join(',')}/links"
5
+ path = "/accounts/#{account_ids.join(',')}/storage/links"
6
6
  Kloudless::Collection.new(self, http.get(path, params: params))
7
7
  end
8
8
 
9
9
  # https://developers.kloudless.com/docs#links-create-a-link
10
10
  def self.create(account_id:, file_id:, params: {}, **data)
11
11
  data[:file_id] = file_id
12
- path = "/accounts/#{account_id}/links"
12
+ path = "/accounts/#{account_id}/storage/links"
13
13
  new(http.post(path, params: params, data: data))
14
14
  end
15
15
 
16
16
  # https://developers.kloudless.com/docs#links-retrieve-a-link
17
17
  def self.retrieve(account_id:, link_id:, **params)
18
- path = "/accounts/#{account_id}/links/#{link_id}"
18
+ path = "/accounts/#{account_id}/storage/links/#{link_id}"
19
19
  new(http.get(path, params: params))
20
20
  end
21
21
 
22
22
  # https://developers.kloudless.com/docs#links-update-a-link
23
23
  def self.update(account_id:, link_id:, params: {}, **data)
24
- path = "/accounts/#{account_id}/links/#{link_id}"
24
+ path = "/accounts/#{account_id}/storage/links/#{link_id}"
25
25
  new(http.patch(path, params: params, data: data))
26
26
  end
27
27
 
28
28
  # https://developers.kloudless.com/docs#links-delete-a-link
29
29
  def self.delete(account_id:, link_id:, **params)
30
- path = "/accounts/#{account_id}/links/#{link_id}"
30
+ path = "/accounts/#{account_id}/storage/links/#{link_id}"
31
31
  new(http.delete(path, params: params))
32
32
  end
33
33
  end
@@ -1,5 +1,5 @@
1
1
  module Kloudless
2
- # Public: Base class for different API resources. e.g. Account, Team, Files.
2
+ # Public: Base class for different API resources. e.g. Account, Files, Folders.
3
3
  class Model
4
4
  def self.http
5
5
  Kloudless.http
@@ -2,18 +2,18 @@ module Kloudless
2
2
  # https://developers.kloudless.com/docs#multipart-upload
3
3
  class MultipartUpload < Model
4
4
  def self.init(account_id:, params: {}, **data)
5
- path = "/accounts/#{account_id}/multipart"
5
+ path = "/accounts/#{account_id}/storage/multipart"
6
6
  new(http.post(path, params: params, data: data))
7
7
  end
8
8
 
9
9
  def self.retrieve(account_id:, multipart_id:)
10
- path = "/accounts/#{account_id}/multipart/#{multipart_id}"
10
+ path = "/accounts/#{account_id}/storage/multipart/#{multipart_id}"
11
11
  new(http.get(path))
12
12
  end
13
13
 
14
14
  # https://developers.kloudless.com/docs#multipart-upload-upload-part
15
15
  def self.upload(account_id:, multipart_id:, data:, part_number:, **params)
16
- path = "/accounts/#{account_id}/multipart/#{multipart_id}"
16
+ path = "/accounts/#{account_id}/storage/multipart/#{multipart_id}"
17
17
  params[:part_number] = part_number
18
18
  headers = {'Content-Type' => 'application/octet-stream'}
19
19
  new(http.put(path, params: params, data: data, headers: headers,
@@ -22,13 +22,13 @@ module Kloudless
22
22
 
23
23
  # https://developers.kloudless.com/docs#multipart-upload-finalize-multipart-session
24
24
  def self.finalize(account_id:, multipart_id:, params: {}, **data)
25
- path = "/accounts/#{account_id}/multipart/#{multipart_id}/complete"
25
+ path = "/accounts/#{account_id}/storage/multipart/#{multipart_id}/complete"
26
26
  new(http.post(path, params: params, data: data))
27
27
  end
28
28
 
29
29
  # https://developers.kloudless.com/docs#multipart-upload-abort-multipart-session
30
30
  def self.abort(account_id:, multipart_id:, **params)
31
- path = "/accounts/#{account_id}/multipart/#{multipart_id}"
31
+ path = "/accounts/#{account_id}/storage/multipart/#{multipart_id}"
32
32
  new(http.delete(path, params: params))
33
33
  end
34
34
 
@@ -1,3 +1,3 @@
1
1
  module Kloudless
2
- VERSION = "0.2.1"
2
+ VERSION = "1.0.0"
3
3
  end
@@ -4,7 +4,7 @@ class Kloudless::FileTest < Minitest::Test
4
4
  def test_upload_file
5
5
  metadata = {parent_id: "parent", name: "foo.txt"}
6
6
  Kloudless.http.expect(:post, returns: {"id" => "foo"}, args: [
7
- "/accounts/1/files", data: "FILE CONTENTS",
7
+ "/accounts/1/storage/files", data: "FILE CONTENTS",
8
8
  headers: {'X-Kloudless-Metadata' => metadata.to_json,
9
9
  "Content-Type" => 'application/octet-stream'},
10
10
  params: {}, parse_request: false]) do
@@ -16,14 +16,14 @@ class Kloudless::FileTest < Minitest::Test
16
16
  end
17
17
 
18
18
  def test_retrieve_file_metadata
19
- Kloudless.http.expect(:get, returns: {"id" => "foo"}, args:["/accounts/1/files/2", params: {}]) do
19
+ Kloudless.http.expect(:get, returns: {"id" => "foo"}, args:["/accounts/1/storage/files/2", params: {}]) do
20
20
  metadata = Kloudless::File.metadata(account_id: 1, file_id: 2)
21
21
  assert_kind_of Kloudless::File, metadata # TODO: not really a type
22
22
  end
23
23
  end
24
24
 
25
25
  def test_rename_file
26
- Kloudless.http.expect(:patch, returns: {"id" => "foo"}, args:["/accounts/1/files/2", params: {}, data: {name: "new-name.txt"}]) do
26
+ Kloudless.http.expect(:patch, returns: {"id" => "foo"}, args:["/accounts/1/storage/files/2", params: {}, data: {name: "new-name.txt"}]) do
27
27
  file = Kloudless::File.rename(account_id: 1, file_id: 2, name: "new-name.txt")
28
28
  assert_kind_of Kloudless::File, file
29
29
  end
@@ -31,7 +31,7 @@ class Kloudless::FileTest < Minitest::Test
31
31
 
32
32
  def test_update
33
33
  Kloudless.http.expect(:put, returns: {"id" => "foo"}, args: [
34
- "/accounts/1/files/2", data: "FILE CONTENTS", parse_request: false,
34
+ "/accounts/1/storage/files/2", data: "FILE CONTENTS", parse_request: false,
35
35
  headers: {'Content-Type' => 'application/octet-stream'}]) do
36
36
  file = Kloudless::File.update(account_id: 1, file_id: 2, data: "FILE CONTENTS")
37
37
  assert_kind_of Kloudless::File, file
@@ -39,21 +39,21 @@ class Kloudless::FileTest < Minitest::Test
39
39
  end
40
40
 
41
41
  def test_download
42
- Kloudless.http.expect(:get, returns: "FILE CONTENTS", args:["/accounts/1/files/2/contents", params: {}, parse_response: false]) do
42
+ Kloudless.http.expect(:get, returns: "FILE CONTENTS", args:["/accounts/1/storage/files/2/contents", params: {}, parse_response: false]) do
43
43
  contents = Kloudless::File.download(account_id: 1, file_id: 2)
44
44
  assert_equal "FILE CONTENTS", contents
45
45
  end
46
46
  end
47
47
 
48
48
  def test_copy
49
- Kloudless.http.expect(:post, returns: {"id" => "foo"}, args:["/accounts/1/files/2/copy", params: {}, data: {parent_id: "parent-id"}]) do
49
+ Kloudless.http.expect(:post, returns: {"id" => "foo"}, args:["/accounts/1/storage/files/2/copy", params: {}, data: {parent_id: "parent-id"}]) do
50
50
  file = Kloudless::File.copy(account_id: 1, file_id: 2, parent_id: "parent-id")
51
51
  assert_kind_of Kloudless::File, file
52
52
  end
53
53
  end
54
54
 
55
55
  def test_delete
56
- Kloudless.http.expect(:delete, returns: {"id" => "foo"}, args:["/accounts/1/files/2", params: {permanent: true}]) do
56
+ Kloudless.http.expect(:delete, returns: {"id" => "foo"}, args:["/accounts/1/storage/files/2", params: {permanent: true}]) do
57
57
  file = Kloudless::File.delete(account_id: 1, file_id: 2, permanent: true)
58
58
  assert_kind_of Kloudless::File, file
59
59
  end
@@ -61,7 +61,7 @@ class Kloudless::FileTest < Minitest::Test
61
61
 
62
62
  def test_recent
63
63
  response = {"objects" => [{"id" => "foo"}]}
64
- Kloudless.http.expect(:get, returns: response, args:["/accounts/1,2/recent", params: {}]) do
64
+ Kloudless.http.expect(:get, returns: response, args:["/accounts/1,2/storage/recent", params: {}]) do
65
65
  files = Kloudless::File.recent(account_ids: [1,2])
66
66
  assert_kind_of Kloudless::Collection, files
67
67
  assert_kind_of Kloudless::File, files.first
@@ -70,7 +70,7 @@ class Kloudless::FileTest < Minitest::Test
70
70
 
71
71
  def test_search
72
72
  response = {"objects" => [{"id" => "foo"}]}
73
- Kloudless.http.expect(:get, returns: response, args:["/accounts/1,2/search", params: {dropbox: "foo"}]) do
73
+ Kloudless.http.expect(:get, returns: response, args:["/accounts/1,2/storage/search", params: {dropbox: "foo"}]) do
74
74
  files = Kloudless::File.search(account_ids: [1,2], dropbox: "foo")
75
75
  assert_kind_of Kloudless::Collection, files
76
76
  assert_kind_of Kloudless::File, files.first
@@ -80,7 +80,7 @@ class Kloudless::FileTest < Minitest::Test
80
80
  def test_convert_id
81
81
  response = {"id" => "foo"}
82
82
  data = {raw_id: "bar", type: "file"}
83
- Kloudless.http.expect(:post, returns: response, args:["/accounts/1/convert_id", params: {}, data: data ]) do
83
+ Kloudless.http.expect(:post, returns: response, args:["/accounts/1/storage/convert_id", params: {}, data: data ]) do
84
84
  new_id_data = Kloudless::File.convert_id(account_id: 1, raw_id: data[:raw_id], type: data[:type])
85
85
  assert_equal "foo", new_id_data["id"]
86
86
  end
@@ -2,14 +2,14 @@ require_relative "../test_helper"
2
2
 
3
3
  class Kloudless::FolderTest < Minitest::Test
4
4
  def test_create
5
- Kloudless.http.expect(:post, args: ["/accounts/1/folders", params: {}, data: {name: "foo"}]) do
5
+ Kloudless.http.expect(:post, args: ["/accounts/1/storage/folders", params: {}, data: {name: "foo"}]) do
6
6
  folder = Kloudless::Folder.create(account_id: 1, name: "foo")
7
7
  assert_kind_of Kloudless::Folder, folder
8
8
  end
9
9
  end
10
10
 
11
11
  def test_metadata
12
- Kloudless.http.expect(:get, args: ["/accounts/1/folders/2", params: {}]) do
12
+ Kloudless.http.expect(:get, args: ["/accounts/1/storage/folders/2", params: {}]) do
13
13
  folder = Kloudless::Folder.metadata(account_id: 1, folder_id: 2)
14
14
  assert_kind_of Kloudless::Folder, folder
15
15
  end
@@ -17,7 +17,7 @@ class Kloudless::FolderTest < Minitest::Test
17
17
 
18
18
  def test_retrieve
19
19
  response = {"objects" => [{"id" => "1"}]}
20
- Kloudless.http.expect(:get, returns: response, args: ["/accounts/1/folders/2/contents", params: {page_number: 1, page_size: 1}]) do
20
+ Kloudless.http.expect(:get, returns: response, args: ["/accounts/1/storage/folders/2/contents", params: {page_number: 1, page_size: 1}]) do
21
21
  folders = Kloudless::Folder.retrieve(account_id: 1, folder_id: 2, page_number: 1, page_size: 1)
22
22
  assert_kind_of Kloudless::Collection, folders
23
23
  assert_kind_of Kloudless::Folder, folders.first
@@ -25,21 +25,21 @@ class Kloudless::FolderTest < Minitest::Test
25
25
  end
26
26
 
27
27
  def test_rename
28
- Kloudless.http.expect(:patch, args: ["/accounts/1/folders/2", params: {}, data: {name: "foo.md"}]) do
28
+ Kloudless.http.expect(:patch, args: ["/accounts/1/storage/folders/2", params: {}, data: {name: "foo.md"}]) do
29
29
  folder = Kloudless::Folder.rename(account_id: 1, folder_id: 2, name: "foo.md")
30
30
  assert_kind_of Kloudless::Folder, folder
31
31
  end
32
32
  end
33
33
 
34
34
  def test_copy
35
- Kloudless.http.expect(:post, args: ["/accounts/1/folders/2/copy", params: {}, data: {parent_id: "parent-id"}]) do
35
+ Kloudless.http.expect(:post, args: ["/accounts/1/storage/folders/2/copy", params: {}, data: {parent_id: "parent-id"}]) do
36
36
  folder = Kloudless::Folder.copy(account_id: 1, folder_id: 2, parent_id: "parent-id")
37
37
  assert_kind_of Kloudless::Folder, folder
38
38
  end
39
39
  end
40
40
 
41
41
  def test_delete
42
- Kloudless.http.expect(:delete, args: ["/accounts/1/folders/2", params: {recursive: true, permanent: true}]) do
42
+ Kloudless.http.expect(:delete, args: ["/accounts/1/storage/folders/2", params: {recursive: true, permanent: true}]) do
43
43
  folder = Kloudless::Folder.delete(account_id: 1, folder_id: 2, recursive: true, permanent: true)
44
44
  assert_kind_of Kloudless::Folder, folder
45
45
  end
@@ -13,7 +13,7 @@ class Kloudless::HTTPTest < Minitest::Test
13
13
  http.mock_response(Struct.new(:body).new('{"foo": "bar"}')) do
14
14
  json = http.get("/foo")
15
15
 
16
- assert_equal URI.parse("https://api.kloudless.com/v0/foo"), last_request.uri
16
+ assert_equal URI.parse("https://api.kloudless.com/v1/foo"), last_request.uri
17
17
  assert_kind_of Net::HTTP::Get, last_request
18
18
 
19
19
  expected = {"foo" => "bar"}
@@ -25,7 +25,7 @@ class Kloudless::HTTPTest < Minitest::Test
25
25
  http.mock_response(Struct.new(:body).new('{}')) do
26
26
  json = http.delete("/foo/1")
27
27
 
28
- assert_equal URI.parse("https://api.kloudless.com/v0/foo/1"), last_request.uri
28
+ assert_equal URI.parse("https://api.kloudless.com/v1/foo/1"), last_request.uri
29
29
  assert_kind_of Net::HTTP::Delete, last_request
30
30
  end
31
31
  end
@@ -33,7 +33,7 @@ class Kloudless::HTTPTest < Minitest::Test
33
33
  def test_params
34
34
  http.mock_response(Struct.new(:body).new('{"foo": "bar"}')) do
35
35
  http.get("/foo", params: {page: 2})
36
- assert_equal URI.parse("https://api.kloudless.com/v0/foo?page=2"), last_request.uri
36
+ assert_equal URI.parse("https://api.kloudless.com/v1/foo?page=2"), last_request.uri
37
37
  end
38
38
  end
39
39
 
@@ -3,7 +3,7 @@ require_relative "../test_helper"
3
3
  class Kloudless::LinkTest < Minitest::Test
4
4
  def test_list_links
5
5
  response = {"objects" => [{"id" => 1}]}
6
- Kloudless.http.expect(:get, returns: response, args: ["/accounts/1,2/links", params: {active: false}]) do
6
+ Kloudless.http.expect(:get, returns: response, args: ["/accounts/1,2/storage/links", params: {active: false}]) do
7
7
  links = Kloudless::Link.list(account_ids: [1,2], active: false)
8
8
  assert_kind_of Kloudless::Collection, links
9
9
  assert_kind_of Kloudless::Link, links.first
@@ -11,28 +11,28 @@ class Kloudless::LinkTest < Minitest::Test
11
11
  end
12
12
 
13
13
  def test_create_link
14
- Kloudless.http.expect(:post, args: ["/accounts/1/links", params: {}, data: {file_id: "file-id"}]) do
14
+ Kloudless.http.expect(:post, args: ["/accounts/1/storage/links", params: {}, data: {file_id: "file-id"}]) do
15
15
  link = Kloudless::Link.create(account_id: 1, file_id: "file-id")
16
16
  assert_kind_of Kloudless::Link, link
17
17
  end
18
18
  end
19
19
 
20
20
  def test_retrieve_link
21
- Kloudless.http.expect(:get, args: ["/accounts/1/links/2", params: {active: true}]) do
21
+ Kloudless.http.expect(:get, args: ["/accounts/1/storage/links/2", params: {active: true}]) do
22
22
  link = Kloudless::Link.retrieve(account_id: 1, link_id: 2, active: true)
23
23
  assert_kind_of Kloudless::Link, link
24
24
  end
25
25
  end
26
26
 
27
27
  def test_update_link
28
- Kloudless.http.expect(:patch, args: ["/accounts/1/links/2", params: {}, data: {password: "foo"}]) do
28
+ Kloudless.http.expect(:patch, args: ["/accounts/1/storage/links/2", params: {}, data: {password: "foo"}]) do
29
29
  link = Kloudless::Link.update(account_id: 1, link_id: 2, password: "foo")
30
30
  assert_kind_of Kloudless::Link, link
31
31
  end
32
32
  end
33
33
 
34
34
  def test_delete_link
35
- Kloudless.http.expect(:delete, args: ["/accounts/1/links/2", params: {}]) do
35
+ Kloudless.http.expect(:delete, args: ["/accounts/1/storage/links/2", params: {}]) do
36
36
  link = Kloudless::Link.delete(account_id: 1, link_id: 2)
37
37
  assert_kind_of Kloudless::Link, link
38
38
  end
@@ -3,21 +3,21 @@ require_relative "../test_helper"
3
3
  class Kloudless::MultipartUploadTest < Minitest::Test
4
4
  def test_init_multipart_upload
5
5
  Kloudless.http.expect(:post, returns: {"id" => "foo"}, args:[
6
- "/accounts/1/multipart", params: {overwrite: true}, data: {parent_id: "foo"}]) do
6
+ "/accounts/1/storage/multipart", params: {overwrite: true}, data: {parent_id: "foo"}]) do
7
7
  upload = Kloudless::MultipartUpload.create(account_id: 1, params: {overwrite: true}, parent_id: "foo")
8
8
  assert_kind_of Kloudless::MultipartUpload, upload
9
9
  end
10
10
  end
11
11
 
12
12
  def test_retrieve_multipart_upload
13
- Kloudless.http.expect(:get, returns: {"id" => "foo"}, args:["/accounts/1/multipart/2"]) do
13
+ Kloudless.http.expect(:get, returns: {"id" => "foo"}, args:["/accounts/1/storage/multipart/2"]) do
14
14
  upload = Kloudless::MultipartUpload.retrieve(account_id: 1, multipart_id: 2)
15
15
  assert_kind_of Kloudless::MultipartUpload, upload
16
16
  end
17
17
  end
18
18
 
19
19
  def test_upload_multipart_upload
20
- Kloudless.http.expect(:put, args: ["/accounts/1/multipart/2", data: "FILE CONTENTS",
20
+ Kloudless.http.expect(:put, args: ["/accounts/1/storage/multipart/2", data: "FILE CONTENTS",
21
21
  headers: {'Content-Type' => 'application/octet-stream'},
22
22
  params: {part_number: 1},
23
23
  parse_request: false]) do
@@ -28,14 +28,14 @@ class Kloudless::MultipartUploadTest < Minitest::Test
28
28
  end
29
29
 
30
30
  def test_finalize_multipart_upload
31
- Kloudless.http.expect(:post, args: ["/accounts/1/multipart/2/complete", params: {}, data: {}]) do
31
+ Kloudless.http.expect(:post, args: ["/accounts/1/storage/multipart/2/complete", params: {}, data: {}]) do
32
32
  upload = Kloudless::MultipartUpload.finalize(account_id: 1, multipart_id: 2)
33
33
  assert_kind_of Kloudless::MultipartUpload, upload
34
34
  end
35
35
  end
36
36
 
37
37
  def test_abort_multipart_upload
38
- Kloudless.http.expect(:delete, args: ["/accounts/1/multipart/2", params: {}]) do
38
+ Kloudless.http.expect(:delete, args: ["/accounts/1/storage/multipart/2", params: {}]) do
39
39
  upload = Kloudless::MultipartUpload.abort(account_id: 1, multipart_id: 2)
40
40
  assert_kind_of Kloudless::MultipartUpload, upload
41
41
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kloudless
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jerry Cheung
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-28 00:00:00.000000000 Z
11
+ date: 2016-08-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -92,7 +92,6 @@ files:
92
92
  - lib/kloudless/link.rb
93
93
  - lib/kloudless/model.rb
94
94
  - lib/kloudless/multipart_upload.rb
95
- - lib/kloudless/team.rb
96
95
  - lib/kloudless/version.rb
97
96
  - script/changelog
98
97
  - script/package
@@ -106,7 +105,6 @@ files:
106
105
  - test/kloudless/http_test.rb
107
106
  - test/kloudless/link_test.rb
108
107
  - test/kloudless/multipart_upload_test.rb
109
- - test/kloudless/team_test.rb
110
108
  - test/kloudless_test.rb
111
109
  - test/test_helper.rb
112
110
  homepage: https://github.com/jch/kloudless-ruby
@@ -143,6 +141,5 @@ test_files:
143
141
  - test/kloudless/http_test.rb
144
142
  - test/kloudless/link_test.rb
145
143
  - test/kloudless/multipart_upload_test.rb
146
- - test/kloudless/team_test.rb
147
144
  - test/kloudless_test.rb
148
145
  - test/test_helper.rb
@@ -1,9 +0,0 @@
1
- module Kloudless
2
- # https://developers.kloudless.com/docs#team
3
- class Team < Model
4
- def self.list(account_id:, **params)
5
- path = "/accounts/#{account_id}/team"
6
- Kloudless::Collection.new(self, http.get(path, params: params))
7
- end
8
- end
9
- end
@@ -1,11 +0,0 @@
1
- require_relative "../test_helper"
2
-
3
- class Kloudless::TeamTest < Minitest::Test
4
- def test_list_teams
5
- Kloudless.http.expect(:get, returns: {"objects" => [{}]}, args: ["/accounts/1/team", params: {}]) do
6
- teams = Kloudless::Team.list(account_id: 1)
7
- assert_kind_of Kloudless::Collection, teams
8
- assert_kind_of Kloudless::Team, teams.first
9
- end
10
- end
11
- end