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,101 +1,101 @@
1
- require 'smartsheet/constants'
2
-
3
- require_relative 'reports_share'
4
-
5
- module Smartsheet
6
- # Reports Endpoints
7
- # @see https://smartsheet-platform.github.io/api-docs/?ruby#reports API Reports Docs
8
- #
9
- # @!attribute [r] share
10
- # @return [ReportsShare]
11
- class Reports
12
- include Smartsheet::Constants
13
-
14
- attr_reader :client, :share
15
- private :client
16
-
17
- def initialize(client)
18
- @client = client
19
-
20
- @share = ReportsShare.new(client)
21
- end
22
-
23
- def get(report_id:, params: {}, header_overrides: {})
24
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['reports', :report_id])
25
- request_spec = Smartsheet::API::RequestSpec.new(
26
- header_overrides: header_overrides,
27
- params: params,
28
- report_id: report_id
29
- )
30
- client.make_request(endpoint_spec, request_spec)
31
- end
32
-
33
- def get_as_excel(report_id:, params: {}, header_overrides: {})
34
- endpoint_spec = Smartsheet::API::EndpointSpec.new(
35
- :get,
36
- ['reports', :report_id],
37
- headers: {Accept: EXCEL_TYPE}
38
- )
39
- request_spec = Smartsheet::API::RequestSpec.new(
40
- header_overrides: header_overrides,
41
- params: params,
42
- report_id: report_id
43
- )
44
- client.make_request(endpoint_spec, request_spec)
45
- end
46
-
47
- def get_as_csv(report_id:, params: {}, header_overrides: {})
48
- endpoint_spec = Smartsheet::API::EndpointSpec.new(
49
- :get,
50
- ['reports', :report_id],
51
- headers: {Accept: CSV_TYPE})
52
- request_spec = Smartsheet::API::RequestSpec.new(
53
- header_overrides: header_overrides,
54
- params: params,
55
- report_id: report_id
56
- )
57
- client.make_request(endpoint_spec, request_spec)
58
- end
59
-
60
- def list(params: {}, header_overrides: {})
61
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['reports'])
62
- request_spec = Smartsheet::API::RequestSpec.new(
63
- header_overrides: header_overrides,
64
- params: params
65
- )
66
- client.make_request(endpoint_spec, request_spec)
67
- end
68
-
69
- def get_publish_status(report_id:, params: {}, header_overrides: {})
70
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['reports', :report_id, 'publish'])
71
- request_spec = Smartsheet::API::RequestSpec.new(
72
- params: params,
73
- header_overrides: header_overrides,
74
- report_id: report_id
75
- )
76
- client.make_request(endpoint_spec, request_spec)
77
- end
78
-
79
- def set_publish_status(report_id:, body:, params: {}, header_overrides: {})
80
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:put, ['reports', :report_id, 'publish'], body_type: :json)
81
- request_spec = Smartsheet::API::RequestSpec.new(
82
- params: params,
83
- header_overrides: header_overrides,
84
- body: body,
85
- report_id: report_id
86
- )
87
- client.make_request(endpoint_spec, request_spec)
88
- end
89
-
90
- def send_via_email(report_id:, body:, params: {}, header_overrides: {})
91
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['reports', :report_id, 'emails'], body_type: :json)
92
- request_spec = Smartsheet::API::RequestSpec.new(
93
- params: params,
94
- header_overrides: header_overrides,
95
- body: body,
96
- report_id: report_id
97
- )
98
- client.make_request(endpoint_spec, request_spec)
99
- end
100
- end
1
+ require 'smartsheet/constants'
2
+
3
+ require_relative 'reports_share'
4
+
5
+ module Smartsheet
6
+ # Reports Endpoints
7
+ # @see https://smartsheet-platform.github.io/api-docs/?ruby#reports API Reports Docs
8
+ #
9
+ # @!attribute [r] share
10
+ # @return [ReportsShare]
11
+ class Reports
12
+ include Smartsheet::Constants
13
+
14
+ attr_reader :client, :share
15
+ private :client
16
+
17
+ def initialize(client)
18
+ @client = client
19
+
20
+ @share = ReportsShare.new(client)
21
+ end
22
+
23
+ def get(report_id:, params: {}, header_overrides: {})
24
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['reports', :report_id])
25
+ request_spec = Smartsheet::API::RequestSpec.new(
26
+ header_overrides: header_overrides,
27
+ params: params,
28
+ report_id: report_id
29
+ )
30
+ client.make_request(endpoint_spec, request_spec)
31
+ end
32
+
33
+ def get_as_excel(report_id:, params: {}, header_overrides: {})
34
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(
35
+ :get,
36
+ ['reports', :report_id],
37
+ headers: {Accept: EXCEL_TYPE}
38
+ )
39
+ request_spec = Smartsheet::API::RequestSpec.new(
40
+ header_overrides: header_overrides,
41
+ params: params,
42
+ report_id: report_id
43
+ )
44
+ client.make_request(endpoint_spec, request_spec)
45
+ end
46
+
47
+ def get_as_csv(report_id:, params: {}, header_overrides: {})
48
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(
49
+ :get,
50
+ ['reports', :report_id],
51
+ headers: {Accept: CSV_TYPE})
52
+ request_spec = Smartsheet::API::RequestSpec.new(
53
+ header_overrides: header_overrides,
54
+ params: params,
55
+ report_id: report_id
56
+ )
57
+ client.make_request(endpoint_spec, request_spec)
58
+ end
59
+
60
+ def list(params: {}, header_overrides: {})
61
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['reports'])
62
+ request_spec = Smartsheet::API::RequestSpec.new(
63
+ header_overrides: header_overrides,
64
+ params: params
65
+ )
66
+ client.make_request(endpoint_spec, request_spec)
67
+ end
68
+
69
+ def get_publish_status(report_id:, params: {}, header_overrides: {})
70
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['reports', :report_id, 'publish'])
71
+ request_spec = Smartsheet::API::RequestSpec.new(
72
+ params: params,
73
+ header_overrides: header_overrides,
74
+ report_id: report_id
75
+ )
76
+ client.make_request(endpoint_spec, request_spec)
77
+ end
78
+
79
+ def set_publish_status(report_id:, body:, params: {}, header_overrides: {})
80
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:put, ['reports', :report_id, 'publish'], body_type: :json)
81
+ request_spec = Smartsheet::API::RequestSpec.new(
82
+ params: params,
83
+ header_overrides: header_overrides,
84
+ body: body,
85
+ report_id: report_id
86
+ )
87
+ client.make_request(endpoint_spec, request_spec)
88
+ end
89
+
90
+ def send_via_email(report_id:, body:, params: {}, header_overrides: {})
91
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['reports', :report_id, 'emails'], body_type: :json)
92
+ request_spec = Smartsheet::API::RequestSpec.new(
93
+ params: params,
94
+ header_overrides: header_overrides,
95
+ body: body,
96
+ report_id: report_id
97
+ )
98
+ client.make_request(endpoint_spec, request_spec)
99
+ end
100
+ end
101
101
  end
@@ -1,70 +1,70 @@
1
- require 'smartsheet/endpoints/share/share'
2
-
3
- module Smartsheet
4
- # Report Sharing Endpoints
5
- # @see https://smartsheet-platform.github.io/api-docs/?ruby#report-sharing API Report Sharing Docs
6
- class ReportsShare
7
- attr_reader :client
8
- private :client
9
-
10
- URL = ['reports', :report_id].freeze
11
-
12
- def initialize(client)
13
- @client = client
14
- end
15
-
16
- def delete(report_id:, share_id:, params: {}, header_overrides: {})
17
- delete_share(
18
- share_id: share_id,
19
- url: URL,
20
- params: params,
21
- header_overrides: header_overrides,
22
- report_id: report_id
23
- )
24
- end
25
-
26
- def get(report_id:, share_id:, params: {}, header_overrides: {})
27
- get_share(
28
- share_id: share_id,
29
- url: URL,
30
- params: params,
31
- header_overrides: header_overrides,
32
- report_id: report_id
33
- )
34
- end
35
-
36
- def list(report_id:, params: {}, header_overrides: {})
37
- list_share(
38
- url: URL,
39
- header_overrides: header_overrides,
40
- params: params,
41
- report_id: report_id
42
- )
43
- end
44
-
45
- def create(report_id:, body:, params: {}, header_overrides: {})
46
- create_share(
47
- url: URL,
48
- header_overrides: header_overrides,
49
- params: params,
50
- body: body,
51
- report_id: report_id
52
- )
53
- end
54
-
55
- def update(report_id:, share_id:, body:, params: {}, header_overrides: {})
56
- update_share(
57
- share_id: share_id,
58
- url: URL,
59
- params: params,
60
- header_overrides: header_overrides,
61
- body: body,
62
- report_id: report_id
63
- )
64
- end
65
-
66
- private
67
-
68
- include Smartsheet::Share
69
- end
1
+ require 'smartsheet/endpoints/share/share'
2
+
3
+ module Smartsheet
4
+ # Report Sharing Endpoints
5
+ # @see https://smartsheet-platform.github.io/api-docs/?ruby#report-sharing API Report Sharing Docs
6
+ class ReportsShare
7
+ attr_reader :client
8
+ private :client
9
+
10
+ URL = ['reports', :report_id].freeze
11
+
12
+ def initialize(client)
13
+ @client = client
14
+ end
15
+
16
+ def delete(report_id:, share_id:, params: {}, header_overrides: {})
17
+ delete_share(
18
+ share_id: share_id,
19
+ url: URL,
20
+ params: params,
21
+ header_overrides: header_overrides,
22
+ report_id: report_id
23
+ )
24
+ end
25
+
26
+ def get(report_id:, share_id:, params: {}, header_overrides: {})
27
+ get_share(
28
+ share_id: share_id,
29
+ url: URL,
30
+ params: params,
31
+ header_overrides: header_overrides,
32
+ report_id: report_id
33
+ )
34
+ end
35
+
36
+ def list(report_id:, params: {}, header_overrides: {})
37
+ list_share(
38
+ url: URL,
39
+ header_overrides: header_overrides,
40
+ params: params,
41
+ report_id: report_id
42
+ )
43
+ end
44
+
45
+ def create(report_id:, body:, params: {}, header_overrides: {})
46
+ create_share(
47
+ url: URL,
48
+ header_overrides: header_overrides,
49
+ params: params,
50
+ body: body,
51
+ report_id: report_id
52
+ )
53
+ end
54
+
55
+ def update(report_id:, share_id:, body:, params: {}, header_overrides: {})
56
+ update_share(
57
+ share_id: share_id,
58
+ url: URL,
59
+ params: params,
60
+ header_overrides: header_overrides,
61
+ body: body,
62
+ report_id: report_id
63
+ )
64
+ end
65
+
66
+ private
67
+
68
+ include Smartsheet::Share
69
+ end
70
70
  end
@@ -1,31 +1,31 @@
1
- module Smartsheet
2
- # Search Endpoints
3
- # @see https://smartsheet-platform.github.io/api-docs/?ruby#search API Search Docs
4
- class Search
5
- attr_reader :client
6
- private :client
7
-
8
- def initialize(client)
9
- @client = client
10
- end
11
-
12
- def search_all(query:, params: {}, header_overrides: {})
13
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['search'])
14
- request_spec = Smartsheet::API::RequestSpec.new(
15
- header_overrides: header_overrides,
16
- params: params.merge({query: query})
17
- )
18
- client.make_request(endpoint_spec, request_spec)
19
- end
20
-
21
- def search_sheet(sheet_id:, query:, params: {}, header_overrides: {})
22
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['search', 'sheets', :sheet_id])
23
- request_spec = Smartsheet::API::RequestSpec.new(
24
- header_overrides: header_overrides,
25
- params: params.merge({query: query}),
26
- sheet_id: sheet_id
27
- )
28
- client.make_request(endpoint_spec, request_spec)
29
- end
30
- end
1
+ module Smartsheet
2
+ # Search Endpoints
3
+ # @see https://smartsheet-platform.github.io/api-docs/?ruby#search API Search Docs
4
+ class Search
5
+ attr_reader :client
6
+ private :client
7
+
8
+ def initialize(client)
9
+ @client = client
10
+ end
11
+
12
+ def search_all(query:, params: {}, header_overrides: {})
13
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['search'])
14
+ request_spec = Smartsheet::API::RequestSpec.new(
15
+ header_overrides: header_overrides,
16
+ params: params.merge({query: query})
17
+ )
18
+ client.make_request(endpoint_spec, request_spec)
19
+ end
20
+
21
+ def search_sheet(sheet_id:, query:, params: {}, header_overrides: {})
22
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['search', 'sheets', :sheet_id])
23
+ request_spec = Smartsheet::API::RequestSpec.new(
24
+ header_overrides: header_overrides,
25
+ params: params.merge({query: query}),
26
+ sheet_id: sheet_id
27
+ )
28
+ client.make_request(endpoint_spec, request_spec)
29
+ end
30
+ end
31
31
  end
@@ -1,22 +1,22 @@
1
- module Smartsheet
2
- # Server Information Endpoints
3
- # @see https://smartsheet-platform.github.io/api-docs/?ruby#server-information API Server
4
- # Information Docs
5
- class ServerInfo
6
- attr_reader :client
7
- private :client
8
-
9
- def initialize(client)
10
- @client = client
11
- end
12
-
13
- def get(params: {}, header_overrides: {})
14
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['serverinfo'], no_auth: true)
15
- request_spec = Smartsheet::API::RequestSpec.new(
16
- params: params,
17
- header_overrides: header_overrides,
18
- )
19
- client.make_request(endpoint_spec, request_spec)
20
- end
21
- end
1
+ module Smartsheet
2
+ # Server Information Endpoints
3
+ # @see https://smartsheet-platform.github.io/api-docs/?ruby#server-information API Server
4
+ # Information Docs
5
+ class ServerInfo
6
+ attr_reader :client
7
+ private :client
8
+
9
+ def initialize(client)
10
+ @client = client
11
+ end
12
+
13
+ def get(params: {}, header_overrides: {})
14
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['serverinfo'], no_auth: true)
15
+ request_spec = Smartsheet::API::RequestSpec.new(
16
+ params: params,
17
+ header_overrides: header_overrides,
18
+ )
19
+ client.make_request(endpoint_spec, request_spec)
20
+ end
21
+ end
22
22
  end
@@ -1,59 +1,59 @@
1
- module Smartsheet
2
- # Sharing Endpoints Mixin
3
- module Share
4
- def delete_share(share_id:, url:, params:, header_overrides:, **url_args)
5
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:delete, url + ['shares', :share_id])
6
- request_spec = Smartsheet::API::RequestSpec.new(
7
- params: params,
8
- header_overrides: header_overrides,
9
- share_id: share_id,
10
- **url_args
11
- )
12
- client.make_request(endpoint_spec, request_spec)
13
- end
14
-
15
- def get_share(share_id:, url:, params:, header_overrides:, **url_args)
16
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, url + ['shares', :share_id])
17
- request_spec = Smartsheet::API::RequestSpec.new(
18
- params: params,
19
- header_overrides: header_overrides,
20
- share_id: share_id,
21
- **url_args
22
- )
23
- client.make_request(endpoint_spec, request_spec)
24
- end
25
-
26
- def list_share(url:, params:, header_overrides:, **url_args)
27
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, url + ['shares'])
28
- request_spec = Smartsheet::API::RequestSpec.new(
29
- header_overrides: header_overrides,
30
- params: params,
31
- **url_args
32
- )
33
- client.make_request(endpoint_spec, request_spec)
34
- end
35
-
36
- def create_share(url:, body:, params:, header_overrides:, **url_args)
37
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, url + ['shares'], body_type: :json)
38
- request_spec = Smartsheet::API::RequestSpec.new(
39
- header_overrides: header_overrides,
40
- params: params,
41
- body: body,
42
- **url_args
43
- )
44
- client.make_request(endpoint_spec, request_spec)
45
- end
46
-
47
- def update_share(share_id:, url:, body:, params:, header_overrides:, **url_args)
48
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:put, url + ['shares', :share_id], body_type: :json)
49
- request_spec = Smartsheet::API::RequestSpec.new(
50
- params: params,
51
- header_overrides: header_overrides,
52
- body: body,
53
- share_id: share_id,
54
- **url_args
55
- )
56
- client.make_request(endpoint_spec, request_spec)
57
- end
58
- end
1
+ module Smartsheet
2
+ # Sharing Endpoints Mixin
3
+ module Share
4
+ def delete_share(share_id:, url:, params:, header_overrides:, **url_args)
5
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:delete, url + ['shares', :share_id])
6
+ request_spec = Smartsheet::API::RequestSpec.new(
7
+ params: params,
8
+ header_overrides: header_overrides,
9
+ share_id: share_id,
10
+ **url_args
11
+ )
12
+ client.make_request(endpoint_spec, request_spec)
13
+ end
14
+
15
+ def get_share(share_id:, url:, params:, header_overrides:, **url_args)
16
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, url + ['shares', :share_id])
17
+ request_spec = Smartsheet::API::RequestSpec.new(
18
+ params: params,
19
+ header_overrides: header_overrides,
20
+ share_id: share_id,
21
+ **url_args
22
+ )
23
+ client.make_request(endpoint_spec, request_spec)
24
+ end
25
+
26
+ def list_share(url:, params:, header_overrides:, **url_args)
27
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, url + ['shares'])
28
+ request_spec = Smartsheet::API::RequestSpec.new(
29
+ header_overrides: header_overrides,
30
+ params: params,
31
+ **url_args
32
+ )
33
+ client.make_request(endpoint_spec, request_spec)
34
+ end
35
+
36
+ def create_share(url:, body:, params:, header_overrides:, **url_args)
37
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, url + ['shares'], body_type: :json)
38
+ request_spec = Smartsheet::API::RequestSpec.new(
39
+ header_overrides: header_overrides,
40
+ params: params,
41
+ body: body,
42
+ **url_args
43
+ )
44
+ client.make_request(endpoint_spec, request_spec)
45
+ end
46
+
47
+ def update_share(share_id:, url:, body:, params:, header_overrides:, **url_args)
48
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:put, url + ['shares', :share_id], body_type: :json)
49
+ request_spec = Smartsheet::API::RequestSpec.new(
50
+ params: params,
51
+ header_overrides: header_overrides,
52
+ body: body,
53
+ share_id: share_id,
54
+ **url_args
55
+ )
56
+ client.make_request(endpoint_spec, request_spec)
57
+ end
58
+ end
59
59
  end