smartsheet 1.0.0 → 1.1.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.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +11 -11
  3. data/.rubocop.yml +4 -4
  4. data/.travis.yml +13 -6
  5. data/.yardopts +3 -3
  6. data/CHANGELOG.md +103 -0
  7. data/Gemfile +6 -6
  8. data/LICENSE +202 -202
  9. data/README.md +214 -141
  10. data/Rakefile +29 -23
  11. data/bin/console +14 -14
  12. data/bin/setup +8 -8
  13. data/lib/smartsheet.rb +2 -2
  14. data/lib/smartsheet/api/body_builder.rb +25 -25
  15. data/lib/smartsheet/api/endpoint_spec.rb +54 -36
  16. data/lib/smartsheet/api/faraday_adapter/faraday_net_client.rb +45 -42
  17. data/lib/smartsheet/api/faraday_adapter/faraday_response.rb +70 -70
  18. data/lib/smartsheet/api/faraday_adapter/middleware/faraday_error_translator.rb +20 -20
  19. data/lib/smartsheet/api/faraday_adapter/middleware/response_parser.rb +25 -25
  20. data/lib/smartsheet/api/file_spec.rb +31 -31
  21. data/lib/smartsheet/api/header_builder.rb +90 -84
  22. data/lib/smartsheet/api/request.rb +42 -29
  23. data/lib/smartsheet/api/request_client.rb +43 -27
  24. data/lib/smartsheet/api/request_logger.rb +182 -182
  25. data/lib/smartsheet/api/request_spec.rb +57 -44
  26. data/lib/smartsheet/api/response_net_client_decorator.rb +54 -54
  27. data/lib/smartsheet/api/retry_logic.rb +40 -40
  28. data/lib/smartsheet/api/retry_net_client_decorator.rb +37 -37
  29. data/lib/smartsheet/api/url_builder.rb +25 -25
  30. data/lib/smartsheet/client.rb +191 -185
  31. data/lib/smartsheet/constants.rb +15 -15
  32. data/lib/smartsheet/endpoints/contacts/contacts.rb +30 -30
  33. data/lib/smartsheet/endpoints/favorites/favorites.rb +159 -159
  34. data/lib/smartsheet/endpoints/folders/folders.rb +125 -125
  35. data/lib/smartsheet/endpoints/groups/groups.rb +83 -83
  36. data/lib/smartsheet/endpoints/home/home.rb +20 -20
  37. data/lib/smartsheet/endpoints/reports/reports.rb +100 -100
  38. data/lib/smartsheet/endpoints/reports/reports_share.rb +69 -69
  39. data/lib/smartsheet/endpoints/search/search.rb +30 -30
  40. data/lib/smartsheet/endpoints/server_info/server_info.rb +21 -21
  41. data/lib/smartsheet/endpoints/share/share.rb +58 -58
  42. data/lib/smartsheet/endpoints/sheets/automation_rules.rb +56 -0
  43. data/lib/smartsheet/endpoints/sheets/cells.rb +82 -82
  44. data/lib/smartsheet/endpoints/sheets/columns.rb +66 -66
  45. data/lib/smartsheet/endpoints/sheets/comments.rb +64 -64
  46. data/lib/smartsheet/endpoints/sheets/comments_attachments.rb +78 -78
  47. data/lib/smartsheet/endpoints/sheets/cross_sheet_references.rb +45 -0
  48. data/lib/smartsheet/endpoints/sheets/discussions.rb +84 -84
  49. data/lib/smartsheet/endpoints/sheets/discussions_attachments.rb +22 -22
  50. data/lib/smartsheet/endpoints/sheets/rows.rb +106 -95
  51. data/lib/smartsheet/endpoints/sheets/rows_attachments.rb +92 -92
  52. data/lib/smartsheet/endpoints/sheets/sheets.rb +326 -317
  53. data/lib/smartsheet/endpoints/sheets/sheets_attachments.rb +174 -174
  54. data/lib/smartsheet/endpoints/sheets/sheets_share.rb +69 -69
  55. data/lib/smartsheet/endpoints/sights/sights.rb +101 -101
  56. data/lib/smartsheet/endpoints/sights/sights_share.rb +69 -69
  57. data/lib/smartsheet/endpoints/templates/templates.rb +29 -29
  58. data/lib/smartsheet/endpoints/token/token.rb +65 -60
  59. data/lib/smartsheet/endpoints/update_requests/sent_update_requests.rb +44 -44
  60. data/lib/smartsheet/endpoints/update_requests/update_requests.rb +74 -74
  61. data/lib/smartsheet/endpoints/users/alternate_emails.rb +79 -79
  62. data/lib/smartsheet/endpoints/users/users.rb +77 -77
  63. data/lib/smartsheet/endpoints/webhooks/webhooks.rb +71 -71
  64. data/lib/smartsheet/endpoints/workspaces/workspaces.rb +87 -87
  65. data/lib/smartsheet/endpoints/workspaces/workspaces_share.rb +70 -70
  66. data/lib/smartsheet/error.rb +69 -69
  67. data/lib/smartsheet/general_request.rb +74 -74
  68. data/lib/smartsheet/version.rb +5 -5
  69. data/smartsheet.gemspec +54 -52
  70. metadata +34 -3
@@ -1,72 +1,72 @@
1
- module Smartsheet
2
- # Webhooks Endpoints
3
- # @see https://smartsheet-platform.github.io/api-docs/?ruby#webhooks-reference API Webhooks Docs
4
- class Webhooks
5
- attr_reader :client
6
- private :client
7
-
8
- def initialize(client)
9
- @client = client
10
- end
11
-
12
- def create(body:, params: {}, header_overrides: {})
13
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['webhooks'], body_type: :json)
14
- request_spec = Smartsheet::API::RequestSpec.new(
15
- params: params,
16
- header_overrides: header_overrides,
17
- body: body
18
- )
19
- client.make_request(endpoint_spec, request_spec)
20
- end
21
-
22
- def delete(webhook_id:, params: {}, header_overrides: {})
23
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:delete, ['webhooks', :webhook_id])
24
- request_spec = Smartsheet::API::RequestSpec.new(
25
- params: params,
26
- header_overrides: header_overrides,
27
- webhook_id: webhook_id
28
- )
29
- client.make_request(endpoint_spec, request_spec)
30
- end
31
-
32
- def get(webhook_id:, params: {}, header_overrides: {})
33
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['webhooks', :webhook_id])
34
- request_spec = Smartsheet::API::RequestSpec.new(
35
- params: params,
36
- header_overrides: header_overrides,
37
- webhook_id: webhook_id
38
- )
39
- client.make_request(endpoint_spec, request_spec)
40
- end
41
-
42
- def list(params: {}, header_overrides: {})
43
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['webhooks'])
44
- request_spec = Smartsheet::API::RequestSpec.new(
45
- params: params,
46
- header_overrides: header_overrides
47
- )
48
- client.make_request(endpoint_spec, request_spec)
49
- end
50
-
51
- def reset_shared_secret(webhook_id:, params: {}, header_overrides: {})
52
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['webhooks', :webhook_id, 'resetsharedsecret'])
53
- request_spec = Smartsheet::API::RequestSpec.new(
54
- params: params,
55
- header_overrides: header_overrides,
56
- webhook_id: webhook_id
57
- )
58
- client.make_request(endpoint_spec, request_spec)
59
- end
60
-
61
- def update(webhook_id:, body:, params: {}, header_overrides: {})
62
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:put, ['webhooks', :webhook_id], body_type: :json)
63
- request_spec = Smartsheet::API::RequestSpec.new(
64
- params: params,
65
- header_overrides: header_overrides,
66
- body: body,
67
- webhook_id: webhook_id
68
- )
69
- client.make_request(endpoint_spec, request_spec)
70
- end
71
- end
1
+ module Smartsheet
2
+ # Webhooks Endpoints
3
+ # @see https://smartsheet-platform.github.io/api-docs/?ruby#webhooks-reference API Webhooks Docs
4
+ class Webhooks
5
+ attr_reader :client
6
+ private :client
7
+
8
+ def initialize(client)
9
+ @client = client
10
+ end
11
+
12
+ def create(body:, params: {}, header_overrides: {})
13
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['webhooks'], body_type: :json)
14
+ request_spec = Smartsheet::API::RequestSpec.new(
15
+ params: params,
16
+ header_overrides: header_overrides,
17
+ body: body
18
+ )
19
+ client.make_request(endpoint_spec, request_spec)
20
+ end
21
+
22
+ def delete(webhook_id:, params: {}, header_overrides: {})
23
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:delete, ['webhooks', :webhook_id])
24
+ request_spec = Smartsheet::API::RequestSpec.new(
25
+ params: params,
26
+ header_overrides: header_overrides,
27
+ webhook_id: webhook_id
28
+ )
29
+ client.make_request(endpoint_spec, request_spec)
30
+ end
31
+
32
+ def get(webhook_id:, params: {}, header_overrides: {})
33
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['webhooks', :webhook_id])
34
+ request_spec = Smartsheet::API::RequestSpec.new(
35
+ params: params,
36
+ header_overrides: header_overrides,
37
+ webhook_id: webhook_id
38
+ )
39
+ client.make_request(endpoint_spec, request_spec)
40
+ end
41
+
42
+ def list(params: {}, header_overrides: {})
43
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['webhooks'])
44
+ request_spec = Smartsheet::API::RequestSpec.new(
45
+ params: params,
46
+ header_overrides: header_overrides
47
+ )
48
+ client.make_request(endpoint_spec, request_spec)
49
+ end
50
+
51
+ def reset_shared_secret(webhook_id:, params: {}, header_overrides: {})
52
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['webhooks', :webhook_id, 'resetsharedsecret'])
53
+ request_spec = Smartsheet::API::RequestSpec.new(
54
+ params: params,
55
+ header_overrides: header_overrides,
56
+ webhook_id: webhook_id
57
+ )
58
+ client.make_request(endpoint_spec, request_spec)
59
+ end
60
+
61
+ def update(webhook_id:, body:, params: {}, header_overrides: {})
62
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:put, ['webhooks', :webhook_id], body_type: :json)
63
+ request_spec = Smartsheet::API::RequestSpec.new(
64
+ params: params,
65
+ header_overrides: header_overrides,
66
+ body: body,
67
+ webhook_id: webhook_id
68
+ )
69
+ client.make_request(endpoint_spec, request_spec)
70
+ end
71
+ end
72
72
  end
@@ -1,88 +1,88 @@
1
- require_relative 'workspaces_share'
2
-
3
- module Smartsheet
4
- # Workspaces Endpoints
5
- # @see https://smartsheet-platform.github.io/api-docs/?ruby#workspaces API Workspaces Docs
6
- #
7
- # @!attribute [r] share
8
- # @return [WorkspacesShare]
9
- class Workspaces
10
- attr_reader :client, :share
11
- private :client
12
-
13
- def initialize(client)
14
- @client = client
15
-
16
- @share = WorkspacesShare.new(client)
17
- end
18
-
19
- def copy(workspace_id:, body:, params: {}, header_overrides: {})
20
- endpoint_spec = Smartsheet::API::EndpointSpec.new(
21
- :post,
22
- ['workspaces', :workspace_id, 'copy'],
23
- body_type: :json
24
- )
25
- request_spec = Smartsheet::API::RequestSpec.new(
26
- header_overrides: header_overrides,
27
- params: params,
28
- body: body,
29
- workspace_id: workspace_id
30
- )
31
- client.make_request(endpoint_spec, request_spec)
32
- end
33
-
34
- def create(body:, params: {}, header_overrides: {})
35
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['workspaces'], body_type: :json)
36
- request_spec = Smartsheet::API::RequestSpec.new(
37
- params: params,
38
- header_overrides: header_overrides,
39
- body: body
40
- )
41
- client.make_request(endpoint_spec, request_spec)
42
- end
43
-
44
- def delete(workspace_id:, params: {}, header_overrides: {})
45
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:delete, ['workspaces', :workspace_id])
46
- request_spec = Smartsheet::API::RequestSpec.new(
47
- params: params,
48
- header_overrides: header_overrides,
49
- workspace_id: workspace_id
50
- )
51
- client.make_request(endpoint_spec, request_spec)
52
- end
53
-
54
- def get(workspace_id:, params: {}, header_overrides: {})
55
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['workspaces', :workspace_id])
56
- request_spec = Smartsheet::API::RequestSpec.new(
57
- header_overrides: header_overrides,
58
- params: params,
59
- workspace_id: workspace_id
60
- )
61
- client.make_request(endpoint_spec, request_spec)
62
- end
63
-
64
- def list(params: {}, header_overrides: {})
65
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['workspaces'])
66
- request_spec = Smartsheet::API::RequestSpec.new(
67
- header_overrides: header_overrides,
68
- params: params,
69
- )
70
- client.make_request(endpoint_spec, request_spec)
71
- end
72
-
73
- def update(workspace_id:, body:, params: {}, header_overrides: {})
74
- endpoint_spec = Smartsheet::API::EndpointSpec.new(
75
- :put,
76
- ['workspaces', :workspace_id],
77
- body_type: :json
78
- )
79
- request_spec = Smartsheet::API::RequestSpec.new(
80
- params: params,
81
- header_overrides: header_overrides,
82
- body: body,
83
- workspace_id: workspace_id
84
- )
85
- client.make_request(endpoint_spec, request_spec)
86
- end
87
- end
1
+ require_relative 'workspaces_share'
2
+
3
+ module Smartsheet
4
+ # Workspaces Endpoints
5
+ # @see https://smartsheet-platform.github.io/api-docs/?ruby#workspaces API Workspaces Docs
6
+ #
7
+ # @!attribute [r] share
8
+ # @return [WorkspacesShare]
9
+ class Workspaces
10
+ attr_reader :client, :share
11
+ private :client
12
+
13
+ def initialize(client)
14
+ @client = client
15
+
16
+ @share = WorkspacesShare.new(client)
17
+ end
18
+
19
+ def copy(workspace_id:, body:, params: {}, header_overrides: {})
20
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(
21
+ :post,
22
+ ['workspaces', :workspace_id, 'copy'],
23
+ body_type: :json
24
+ )
25
+ request_spec = Smartsheet::API::RequestSpec.new(
26
+ header_overrides: header_overrides,
27
+ params: params,
28
+ body: body,
29
+ workspace_id: workspace_id
30
+ )
31
+ client.make_request(endpoint_spec, request_spec)
32
+ end
33
+
34
+ def create(body:, params: {}, header_overrides: {})
35
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['workspaces'], body_type: :json)
36
+ request_spec = Smartsheet::API::RequestSpec.new(
37
+ params: params,
38
+ header_overrides: header_overrides,
39
+ body: body
40
+ )
41
+ client.make_request(endpoint_spec, request_spec)
42
+ end
43
+
44
+ def delete(workspace_id:, params: {}, header_overrides: {})
45
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:delete, ['workspaces', :workspace_id])
46
+ request_spec = Smartsheet::API::RequestSpec.new(
47
+ params: params,
48
+ header_overrides: header_overrides,
49
+ workspace_id: workspace_id
50
+ )
51
+ client.make_request(endpoint_spec, request_spec)
52
+ end
53
+
54
+ def get(workspace_id:, params: {}, header_overrides: {})
55
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['workspaces', :workspace_id])
56
+ request_spec = Smartsheet::API::RequestSpec.new(
57
+ header_overrides: header_overrides,
58
+ params: params,
59
+ workspace_id: workspace_id
60
+ )
61
+ client.make_request(endpoint_spec, request_spec)
62
+ end
63
+
64
+ def list(params: {}, header_overrides: {})
65
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['workspaces'])
66
+ request_spec = Smartsheet::API::RequestSpec.new(
67
+ header_overrides: header_overrides,
68
+ params: params,
69
+ )
70
+ client.make_request(endpoint_spec, request_spec)
71
+ end
72
+
73
+ def update(workspace_id:, body:, params: {}, header_overrides: {})
74
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(
75
+ :put,
76
+ ['workspaces', :workspace_id],
77
+ body_type: :json
78
+ )
79
+ request_spec = Smartsheet::API::RequestSpec.new(
80
+ params: params,
81
+ header_overrides: header_overrides,
82
+ body: body,
83
+ workspace_id: workspace_id
84
+ )
85
+ client.make_request(endpoint_spec, request_spec)
86
+ end
87
+ end
88
88
  end
@@ -1,71 +1,71 @@
1
- require 'smartsheet/endpoints/share/share'
2
-
3
- module Smartsheet
4
- # Workspace Sharing Endpoints
5
- # @see https://smartsheet-platform.github.io/api-docs/?ruby#workspace-sharing API Workspace
6
- # Sharing Docs
7
- class WorkspacesShare
8
- attr_reader :client
9
- private :client
10
-
11
- URL = ['workspaces', :workspace_id].freeze
12
-
13
- def initialize(client)
14
- @client = client
15
- end
16
-
17
- def delete(workspace_id:, share_id:, params: {}, header_overrides: {})
18
- delete_share(
19
- share_id: share_id,
20
- url: URL,
21
- params: params,
22
- header_overrides: header_overrides,
23
- workspace_id: workspace_id
24
- )
25
- end
26
-
27
- def get(workspace_id:, share_id:, params: {}, header_overrides: {})
28
- get_share(
29
- share_id: share_id,
30
- url: URL,
31
- params: params,
32
- header_overrides: header_overrides,
33
- workspace_id: workspace_id
34
- )
35
- end
36
-
37
- def list(workspace_id:, params: {}, header_overrides: {})
38
- list_share(
39
- url: URL,
40
- header_overrides: header_overrides,
41
- params: params,
42
- workspace_id: workspace_id
43
- )
44
- end
45
-
46
- def create(workspace_id:, body:, params: {}, header_overrides: {})
47
- create_share(
48
- url: URL,
49
- header_overrides: header_overrides,
50
- params: params,
51
- body: body,
52
- workspace_id: workspace_id
53
- )
54
- end
55
-
56
- def update(workspace_id:, share_id:, body:, params: {}, header_overrides: {})
57
- update_share(
58
- share_id: share_id,
59
- url: URL,
60
- params: params,
61
- header_overrides: header_overrides,
62
- body: body,
63
- workspace_id: workspace_id
64
- )
65
- end
66
-
67
- private
68
-
69
- include Smartsheet::Share
70
- end
1
+ require 'smartsheet/endpoints/share/share'
2
+
3
+ module Smartsheet
4
+ # Workspace Sharing Endpoints
5
+ # @see https://smartsheet-platform.github.io/api-docs/?ruby#workspace-sharing API Workspace
6
+ # Sharing Docs
7
+ class WorkspacesShare
8
+ attr_reader :client
9
+ private :client
10
+
11
+ URL = ['workspaces', :workspace_id].freeze
12
+
13
+ def initialize(client)
14
+ @client = client
15
+ end
16
+
17
+ def delete(workspace_id:, share_id:, params: {}, header_overrides: {})
18
+ delete_share(
19
+ share_id: share_id,
20
+ url: URL,
21
+ params: params,
22
+ header_overrides: header_overrides,
23
+ workspace_id: workspace_id
24
+ )
25
+ end
26
+
27
+ def get(workspace_id:, share_id:, params: {}, header_overrides: {})
28
+ get_share(
29
+ share_id: share_id,
30
+ url: URL,
31
+ params: params,
32
+ header_overrides: header_overrides,
33
+ workspace_id: workspace_id
34
+ )
35
+ end
36
+
37
+ def list(workspace_id:, params: {}, header_overrides: {})
38
+ list_share(
39
+ url: URL,
40
+ header_overrides: header_overrides,
41
+ params: params,
42
+ workspace_id: workspace_id
43
+ )
44
+ end
45
+
46
+ def create(workspace_id:, body:, params: {}, header_overrides: {})
47
+ create_share(
48
+ url: URL,
49
+ header_overrides: header_overrides,
50
+ params: params,
51
+ body: body,
52
+ workspace_id: workspace_id
53
+ )
54
+ end
55
+
56
+ def update(workspace_id:, share_id:, body:, params: {}, header_overrides: {})
57
+ update_share(
58
+ share_id: share_id,
59
+ url: URL,
60
+ params: params,
61
+ header_overrides: header_overrides,
62
+ body: body,
63
+ workspace_id: workspace_id
64
+ )
65
+ end
66
+
67
+ private
68
+
69
+ include Smartsheet::Share
70
+ end
71
71
  end