smartsheet 2.77.0 → 2.101.1

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 (73) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +12 -12
  3. data/.rubocop.yml +4 -4
  4. data/.travis.yml +29 -15
  5. data/.yardopts +3 -3
  6. data/ADVANCED.md +78 -78
  7. data/CHANGELOG.md +133 -112
  8. data/Gemfile +6 -6
  9. data/LICENSE +202 -202
  10. data/README.md +248 -246
  11. data/Rakefile +29 -29
  12. data/bin/console +14 -14
  13. data/bin/setup +8 -8
  14. data/lib/smartsheet.rb +2 -2
  15. data/lib/smartsheet/api/body_builder.rb +25 -25
  16. data/lib/smartsheet/api/endpoint_spec.rb +54 -54
  17. data/lib/smartsheet/api/faraday_adapter/faraday_net_client.rb +45 -45
  18. data/lib/smartsheet/api/faraday_adapter/faraday_response.rb +70 -70
  19. data/lib/smartsheet/api/faraday_adapter/middleware/faraday_error_translator.rb +20 -20
  20. data/lib/smartsheet/api/faraday_adapter/middleware/response_parser.rb +25 -25
  21. data/lib/smartsheet/api/file_spec.rb +55 -55
  22. data/lib/smartsheet/api/header_builder.rb +96 -96
  23. data/lib/smartsheet/api/request.rb +42 -42
  24. data/lib/smartsheet/api/request_client.rb +43 -43
  25. data/lib/smartsheet/api/request_logger.rb +182 -182
  26. data/lib/smartsheet/api/request_spec.rb +57 -57
  27. data/lib/smartsheet/api/response_net_client_decorator.rb +54 -54
  28. data/lib/smartsheet/api/retry_logic.rb +40 -40
  29. data/lib/smartsheet/api/retry_net_client_decorator.rb +37 -37
  30. data/lib/smartsheet/api/url_builder.rb +25 -25
  31. data/lib/smartsheet/client.rb +193 -193
  32. data/lib/smartsheet/constants.rb +18 -18
  33. data/lib/smartsheet/endpoints/contacts/contacts.rb +30 -30
  34. data/lib/smartsheet/endpoints/events/events.rb +20 -20
  35. data/lib/smartsheet/endpoints/favorites/favorites.rb +159 -159
  36. data/lib/smartsheet/endpoints/folders/folders.rb +125 -125
  37. data/lib/smartsheet/endpoints/groups/groups.rb +83 -83
  38. data/lib/smartsheet/endpoints/home/home.rb +20 -20
  39. data/lib/smartsheet/endpoints/reports/reports.rb +100 -100
  40. data/lib/smartsheet/endpoints/reports/reports_share.rb +69 -69
  41. data/lib/smartsheet/endpoints/search/search.rb +30 -30
  42. data/lib/smartsheet/endpoints/server_info/server_info.rb +21 -21
  43. data/lib/smartsheet/endpoints/share/share.rb +58 -58
  44. data/lib/smartsheet/endpoints/sheets/automation_rules.rb +55 -55
  45. data/lib/smartsheet/endpoints/sheets/cells.rb +82 -82
  46. data/lib/smartsheet/endpoints/sheets/columns.rb +66 -66
  47. data/lib/smartsheet/endpoints/sheets/comments.rb +64 -64
  48. data/lib/smartsheet/endpoints/sheets/comments_attachments.rb +78 -78
  49. data/lib/smartsheet/endpoints/sheets/cross_sheet_references.rb +45 -45
  50. data/lib/smartsheet/endpoints/sheets/discussions.rb +84 -84
  51. data/lib/smartsheet/endpoints/sheets/discussions_attachments.rb +22 -22
  52. data/lib/smartsheet/endpoints/sheets/rows.rb +106 -106
  53. data/lib/smartsheet/endpoints/sheets/rows_attachments.rb +92 -92
  54. data/lib/smartsheet/endpoints/sheets/sheets.rb +514 -510
  55. data/lib/smartsheet/endpoints/sheets/sheets_attachments.rb +174 -174
  56. data/lib/smartsheet/endpoints/sheets/sheets_share.rb +69 -69
  57. data/lib/smartsheet/endpoints/sheets/sheets_summaries.rb +123 -0
  58. data/lib/smartsheet/endpoints/sights/sights.rb +101 -101
  59. data/lib/smartsheet/endpoints/sights/sights_share.rb +69 -69
  60. data/lib/smartsheet/endpoints/templates/templates.rb +29 -29
  61. data/lib/smartsheet/endpoints/token/token.rb +70 -66
  62. data/lib/smartsheet/endpoints/update_requests/sent_update_requests.rb +44 -44
  63. data/lib/smartsheet/endpoints/update_requests/update_requests.rb +74 -74
  64. data/lib/smartsheet/endpoints/users/alternate_emails.rb +79 -79
  65. data/lib/smartsheet/endpoints/users/users.rb +123 -77
  66. data/lib/smartsheet/endpoints/webhooks/webhooks.rb +71 -71
  67. data/lib/smartsheet/endpoints/workspaces/workspaces.rb +87 -87
  68. data/lib/smartsheet/endpoints/workspaces/workspaces_share.rb +70 -70
  69. data/lib/smartsheet/error.rb +69 -69
  70. data/lib/smartsheet/general_request.rb +74 -74
  71. data/lib/smartsheet/version.rb +5 -5
  72. data/smartsheet.gemspec +54 -54
  73. metadata +24 -12
@@ -1,79 +1,79 @@
1
- require 'smartsheet/api/file_spec'
2
-
3
- module Smartsheet
4
- # Comments Attachments Endpoints
5
- # @see https://smartsheet-platform.github.io/api-docs/?ruby#attachments API Attachments Docs
6
- class CommentsAttachments
7
- attr_reader :client
8
- private :client
9
-
10
- def initialize(client)
11
- @client = client
12
- end
13
-
14
- def attach_url(sheet_id:, comment_id:, body:, params: {}, header_overrides: {})
15
- endpoint_spec = Smartsheet::API::EndpointSpec.new(
16
- :post,
17
- ['sheets', :sheet_id, 'comments', :comment_id, 'attachments'],
18
- body_type: :json
19
- )
20
- request_spec = Smartsheet::API::RequestSpec.new(
21
- header_overrides: header_overrides,
22
- params: params,
23
- body: body,
24
- sheet_id: sheet_id,
25
- comment_id: comment_id
26
- )
27
- client.make_request(endpoint_spec, request_spec)
28
- end
29
-
30
- def attach_file(
31
- sheet_id:,
32
- comment_id:,
33
- file:,
34
- filename:,
35
- file_length:,
36
- content_type: '',
37
- params: {},
38
- header_overrides: {}
39
- )
40
- endpoint_spec = Smartsheet::API::EndpointSpec.new(
41
- :post,
42
- ['sheets', :sheet_id, 'comments', :comment_id, 'attachments'],
43
- body_type: :file
44
- )
45
- request_spec = Smartsheet::API::RequestSpec.new(
46
- header_overrides: header_overrides,
47
- params: params,
48
- file_spec: Smartsheet::API::ObjectFileSpec.new(file, filename, file_length, content_type),
49
- sheet_id: sheet_id,
50
- comment_id: comment_id
51
- )
52
- client.make_request(endpoint_spec, request_spec)
53
- end
54
-
55
- def attach_file_from_path(
56
- sheet_id:,
57
- comment_id:,
58
- path:,
59
- filename: nil,
60
- content_type: '',
61
- params: {},
62
- header_overrides: {}
63
- )
64
- endpoint_spec = Smartsheet::API::EndpointSpec.new(
65
- :post,
66
- ['sheets', :sheet_id, 'comments', :comment_id, 'attachments'],
67
- body_type: :file
68
- )
69
- request_spec = Smartsheet::API::RequestSpec.new(
70
- header_overrides: header_overrides,
71
- params: params,
72
- file_spec: Smartsheet::API::PathFileSpec.new(path, filename, content_type),
73
- sheet_id: sheet_id,
74
- comment_id: comment_id
75
- )
76
- client.make_request(endpoint_spec, request_spec)
77
- end
78
- end
1
+ require 'smartsheet/api/file_spec'
2
+
3
+ module Smartsheet
4
+ # Comments Attachments Endpoints
5
+ # @see https://smartsheet-platform.github.io/api-docs/?ruby#attachments API Attachments Docs
6
+ class CommentsAttachments
7
+ attr_reader :client
8
+ private :client
9
+
10
+ def initialize(client)
11
+ @client = client
12
+ end
13
+
14
+ def attach_url(sheet_id:, comment_id:, body:, params: {}, header_overrides: {})
15
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(
16
+ :post,
17
+ ['sheets', :sheet_id, 'comments', :comment_id, 'attachments'],
18
+ body_type: :json
19
+ )
20
+ request_spec = Smartsheet::API::RequestSpec.new(
21
+ header_overrides: header_overrides,
22
+ params: params,
23
+ body: body,
24
+ sheet_id: sheet_id,
25
+ comment_id: comment_id
26
+ )
27
+ client.make_request(endpoint_spec, request_spec)
28
+ end
29
+
30
+ def attach_file(
31
+ sheet_id:,
32
+ comment_id:,
33
+ file:,
34
+ filename:,
35
+ file_length:,
36
+ content_type: '',
37
+ params: {},
38
+ header_overrides: {}
39
+ )
40
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(
41
+ :post,
42
+ ['sheets', :sheet_id, 'comments', :comment_id, 'attachments'],
43
+ body_type: :file
44
+ )
45
+ request_spec = Smartsheet::API::RequestSpec.new(
46
+ header_overrides: header_overrides,
47
+ params: params,
48
+ file_spec: Smartsheet::API::ObjectFileSpec.new(file, filename, file_length, content_type),
49
+ sheet_id: sheet_id,
50
+ comment_id: comment_id
51
+ )
52
+ client.make_request(endpoint_spec, request_spec)
53
+ end
54
+
55
+ def attach_file_from_path(
56
+ sheet_id:,
57
+ comment_id:,
58
+ path:,
59
+ filename: nil,
60
+ content_type: '',
61
+ params: {},
62
+ header_overrides: {}
63
+ )
64
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(
65
+ :post,
66
+ ['sheets', :sheet_id, 'comments', :comment_id, 'attachments'],
67
+ body_type: :file
68
+ )
69
+ request_spec = Smartsheet::API::RequestSpec.new(
70
+ header_overrides: header_overrides,
71
+ params: params,
72
+ file_spec: Smartsheet::API::PathFileSpec.new(path, filename, content_type),
73
+ sheet_id: sheet_id,
74
+ comment_id: comment_id
75
+ )
76
+ client.make_request(endpoint_spec, request_spec)
77
+ end
78
+ end
79
79
  end
@@ -1,45 +1,45 @@
1
- module Smartsheet
2
- # Cross-sheet References Endpoints
3
- # @see http://smartsheet-platform.github.io/api-docs/?ruby#cross-sheet-references API
4
- # Cross-sheet References Docs
5
- class CrossSheetReferences
6
- attr_reader :client
7
- private :client
8
-
9
- def initialize(client)
10
- @client = client
11
- end
12
-
13
- def create(sheet_id:, body:, params: {}, header_overrides: {})
14
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['sheets', :sheet_id, 'crosssheetreferences'], body_type: :json)
15
- request_spec = Smartsheet::API::RequestSpec.new(
16
- header_overrides: header_overrides,
17
- params: params,
18
- body: body,
19
- sheet_id: sheet_id
20
- )
21
- client.make_request(endpoint_spec, request_spec)
22
- end
23
-
24
- def list(sheet_id:, params: {}, header_overrides: {})
25
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['sheets', :sheet_id, 'crosssheetreferences'])
26
- request_spec = Smartsheet::API::RequestSpec.new(
27
- params: params,
28
- header_overrides: header_overrides,
29
- sheet_id: sheet_id
30
- )
31
- client.make_request(endpoint_spec, request_spec)
32
- end
33
-
34
- def get(sheet_id:, cross_sheet_reference_id:, params: {}, header_overrides: {})
35
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['sheets', :sheet_id, 'crosssheetreferences', :cross_sheet_reference_id])
36
- request_spec = Smartsheet::API::RequestSpec.new(
37
- params: params,
38
- header_overrides: header_overrides,
39
- sheet_id: sheet_id,
40
- cross_sheet_reference_id: cross_sheet_reference_id
41
- )
42
- client.make_request(endpoint_spec, request_spec)
43
- end
44
- end
45
- end
1
+ module Smartsheet
2
+ # Cross-sheet References Endpoints
3
+ # @see http://smartsheet-platform.github.io/api-docs/?ruby#cross-sheet-references API
4
+ # Cross-sheet References Docs
5
+ class CrossSheetReferences
6
+ attr_reader :client
7
+ private :client
8
+
9
+ def initialize(client)
10
+ @client = client
11
+ end
12
+
13
+ def create(sheet_id:, body:, params: {}, header_overrides: {})
14
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['sheets', :sheet_id, 'crosssheetreferences'], body_type: :json)
15
+ request_spec = Smartsheet::API::RequestSpec.new(
16
+ header_overrides: header_overrides,
17
+ params: params,
18
+ body: body,
19
+ sheet_id: sheet_id
20
+ )
21
+ client.make_request(endpoint_spec, request_spec)
22
+ end
23
+
24
+ def list(sheet_id:, params: {}, header_overrides: {})
25
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['sheets', :sheet_id, 'crosssheetreferences'])
26
+ request_spec = Smartsheet::API::RequestSpec.new(
27
+ params: params,
28
+ header_overrides: header_overrides,
29
+ sheet_id: sheet_id
30
+ )
31
+ client.make_request(endpoint_spec, request_spec)
32
+ end
33
+
34
+ def get(sheet_id:, cross_sheet_reference_id:, params: {}, header_overrides: {})
35
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['sheets', :sheet_id, 'crosssheetreferences', :cross_sheet_reference_id])
36
+ request_spec = Smartsheet::API::RequestSpec.new(
37
+ params: params,
38
+ header_overrides: header_overrides,
39
+ sheet_id: sheet_id,
40
+ cross_sheet_reference_id: cross_sheet_reference_id
41
+ )
42
+ client.make_request(endpoint_spec, request_spec)
43
+ end
44
+ end
45
+ end
@@ -1,85 +1,85 @@
1
- require 'smartsheet/endpoints/sheets/discussions_attachments'
2
-
3
- module Smartsheet
4
- # Discussions Endpoints
5
- # @see https://smartsheet-platform.github.io/api-docs/?ruby#discussions API Discussions Docs
6
- #
7
- # @!attribute [r] attachments
8
- # @return [DiscussionsAttachments]
9
- class Discussions
10
- attr_reader :client, :attachments
11
- private :client
12
-
13
- def initialize(client)
14
- @client = client
15
-
16
- @attachments = DiscussionsAttachments.new(client)
17
- end
18
-
19
- def create_on_row(sheet_id:, row_id:, body:, params: {}, header_overrides: {})
20
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['sheets', :sheet_id, 'rows', :row_id, 'discussions'], body_type: :json)
21
- request_spec = Smartsheet::API::RequestSpec.new(
22
- params: params,
23
- header_overrides: header_overrides,
24
- body: body,
25
- sheet_id: sheet_id,
26
- row_id: row_id
27
- )
28
- client.make_request(endpoint_spec, request_spec)
29
- end
30
-
31
- def create_on_sheet(sheet_id:, body:, params: {}, header_overrides: {})
32
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['sheets', :sheet_id, 'discussions'], body_type: :json)
33
- request_spec = Smartsheet::API::RequestSpec.new(
34
- params: params,
35
- header_overrides: header_overrides,
36
- body: body,
37
- sheet_id: sheet_id
38
- )
39
- client.make_request(endpoint_spec, request_spec)
40
- end
41
-
42
- def delete(sheet_id:, discussion_id:, params: {}, header_overrides: {})
43
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:delete, ['sheets', :sheet_id, 'discussions', :discussion_id])
44
- request_spec = Smartsheet::API::RequestSpec.new(
45
- params: params,
46
- header_overrides: header_overrides,
47
- sheet_id: sheet_id,
48
- discussion_id: discussion_id
49
- )
50
- client.make_request(endpoint_spec, request_spec)
51
- end
52
-
53
- def list(sheet_id:, params: {}, header_overrides: {})
54
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['sheets', :sheet_id, 'discussions'])
55
- request_spec = Smartsheet::API::RequestSpec.new(
56
- header_overrides: header_overrides,
57
- params: params,
58
- sheet_id: sheet_id
59
- )
60
- client.make_request(endpoint_spec, request_spec)
61
- end
62
-
63
- def get(sheet_id:, discussion_id:, params: {}, header_overrides: {})
64
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['sheets', :sheet_id, 'discussions', :discussion_id])
65
- request_spec = Smartsheet::API::RequestSpec.new(
66
- params: params,
67
- header_overrides: header_overrides,
68
- sheet_id: sheet_id,
69
- discussion_id: discussion_id
70
- )
71
- client.make_request(endpoint_spec, request_spec)
72
- end
73
-
74
- def list_row_discussions(sheet_id:, row_id:, params: {}, header_overrides: {})
75
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['sheets', :sheet_id, 'rows', :row_id, 'discussions'])
76
- request_spec = Smartsheet::API::RequestSpec.new(
77
- header_overrides: header_overrides,
78
- params: params,
79
- sheet_id: sheet_id,
80
- row_id: row_id
81
- )
82
- client.make_request(endpoint_spec, request_spec)
83
- end
84
- end
1
+ require 'smartsheet/endpoints/sheets/discussions_attachments'
2
+
3
+ module Smartsheet
4
+ # Discussions Endpoints
5
+ # @see https://smartsheet-platform.github.io/api-docs/?ruby#discussions API Discussions Docs
6
+ #
7
+ # @!attribute [r] attachments
8
+ # @return [DiscussionsAttachments]
9
+ class Discussions
10
+ attr_reader :client, :attachments
11
+ private :client
12
+
13
+ def initialize(client)
14
+ @client = client
15
+
16
+ @attachments = DiscussionsAttachments.new(client)
17
+ end
18
+
19
+ def create_on_row(sheet_id:, row_id:, body:, params: {}, header_overrides: {})
20
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['sheets', :sheet_id, 'rows', :row_id, 'discussions'], body_type: :json)
21
+ request_spec = Smartsheet::API::RequestSpec.new(
22
+ params: params,
23
+ header_overrides: header_overrides,
24
+ body: body,
25
+ sheet_id: sheet_id,
26
+ row_id: row_id
27
+ )
28
+ client.make_request(endpoint_spec, request_spec)
29
+ end
30
+
31
+ def create_on_sheet(sheet_id:, body:, params: {}, header_overrides: {})
32
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['sheets', :sheet_id, 'discussions'], body_type: :json)
33
+ request_spec = Smartsheet::API::RequestSpec.new(
34
+ params: params,
35
+ header_overrides: header_overrides,
36
+ body: body,
37
+ sheet_id: sheet_id
38
+ )
39
+ client.make_request(endpoint_spec, request_spec)
40
+ end
41
+
42
+ def delete(sheet_id:, discussion_id:, params: {}, header_overrides: {})
43
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:delete, ['sheets', :sheet_id, 'discussions', :discussion_id])
44
+ request_spec = Smartsheet::API::RequestSpec.new(
45
+ params: params,
46
+ header_overrides: header_overrides,
47
+ sheet_id: sheet_id,
48
+ discussion_id: discussion_id
49
+ )
50
+ client.make_request(endpoint_spec, request_spec)
51
+ end
52
+
53
+ def list(sheet_id:, params: {}, header_overrides: {})
54
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['sheets', :sheet_id, 'discussions'])
55
+ request_spec = Smartsheet::API::RequestSpec.new(
56
+ header_overrides: header_overrides,
57
+ params: params,
58
+ sheet_id: sheet_id
59
+ )
60
+ client.make_request(endpoint_spec, request_spec)
61
+ end
62
+
63
+ def get(sheet_id:, discussion_id:, params: {}, header_overrides: {})
64
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['sheets', :sheet_id, 'discussions', :discussion_id])
65
+ request_spec = Smartsheet::API::RequestSpec.new(
66
+ params: params,
67
+ header_overrides: header_overrides,
68
+ sheet_id: sheet_id,
69
+ discussion_id: discussion_id
70
+ )
71
+ client.make_request(endpoint_spec, request_spec)
72
+ end
73
+
74
+ def list_row_discussions(sheet_id:, row_id:, params: {}, header_overrides: {})
75
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['sheets', :sheet_id, 'rows', :row_id, 'discussions'])
76
+ request_spec = Smartsheet::API::RequestSpec.new(
77
+ header_overrides: header_overrides,
78
+ params: params,
79
+ sheet_id: sheet_id,
80
+ row_id: row_id
81
+ )
82
+ client.make_request(endpoint_spec, request_spec)
83
+ end
84
+ end
85
85
  end
@@ -1,23 +1,23 @@
1
- module Smartsheet
2
- # Discussions Attachments Endpoints
3
- # @see https://smartsheet-platform.github.io/api-docs/?ruby#attachments API Attachments Docs
4
- class DiscussionsAttachments
5
- attr_reader :client
6
- private :client
7
-
8
- def initialize(client)
9
- @client = client
10
- end
11
-
12
- def list(sheet_id:, discussion_id:, params: {}, header_overrides: {})
13
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['sheets', :sheet_id, 'discussions', :discussion_id, 'attachments'])
14
- request_spec = Smartsheet::API::RequestSpec.new(
15
- params: params,
16
- header_overrides: header_overrides,
17
- sheet_id: sheet_id,
18
- discussion_id: discussion_id
19
- )
20
- client.make_request(endpoint_spec, request_spec)
21
- end
22
- end
1
+ module Smartsheet
2
+ # Discussions Attachments Endpoints
3
+ # @see https://smartsheet-platform.github.io/api-docs/?ruby#attachments API Attachments Docs
4
+ class DiscussionsAttachments
5
+ attr_reader :client
6
+ private :client
7
+
8
+ def initialize(client)
9
+ @client = client
10
+ end
11
+
12
+ def list(sheet_id:, discussion_id:, params: {}, header_overrides: {})
13
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['sheets', :sheet_id, 'discussions', :discussion_id, 'attachments'])
14
+ request_spec = Smartsheet::API::RequestSpec.new(
15
+ params: params,
16
+ header_overrides: header_overrides,
17
+ sheet_id: sheet_id,
18
+ discussion_id: discussion_id
19
+ )
20
+ client.make_request(endpoint_spec, request_spec)
21
+ end
22
+ end
23
23
  end