smartsheet 2.77.0 → 2.77.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +12 -12
  3. data/.rubocop.yml +4 -4
  4. data/.travis.yml +26 -15
  5. data/.yardopts +3 -3
  6. data/ADVANCED.md +78 -78
  7. data/CHANGELOG.md +115 -112
  8. data/Gemfile +6 -6
  9. data/LICENSE +202 -202
  10. data/README.md +246 -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 +510 -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/sights/sights.rb +101 -101
  58. data/lib/smartsheet/endpoints/sights/sights_share.rb +69 -69
  59. data/lib/smartsheet/endpoints/templates/templates.rb +29 -29
  60. data/lib/smartsheet/endpoints/token/token.rb +65 -65
  61. data/lib/smartsheet/endpoints/update_requests/sent_update_requests.rb +44 -44
  62. data/lib/smartsheet/endpoints/update_requests/update_requests.rb +74 -74
  63. data/lib/smartsheet/endpoints/users/alternate_emails.rb +79 -79
  64. data/lib/smartsheet/endpoints/users/users.rb +77 -77
  65. data/lib/smartsheet/endpoints/webhooks/webhooks.rb +71 -71
  66. data/lib/smartsheet/endpoints/workspaces/workspaces.rb +87 -87
  67. data/lib/smartsheet/endpoints/workspaces/workspaces_share.rb +70 -70
  68. data/lib/smartsheet/error.rb +69 -69
  69. data/lib/smartsheet/general_request.rb +74 -74
  70. data/lib/smartsheet/version.rb +5 -5
  71. data/smartsheet.gemspec +54 -54
  72. metadata +3 -4
@@ -1,19 +1,19 @@
1
- module Smartsheet
2
- module Constants
3
- VERSION = '2.77.0'.freeze
4
-
5
- USER_AGENT = 'smartsheet-ruby-sdk'.freeze
6
- API_URL = 'https://api.smartsheet.com/2.0'.freeze
7
- GOV_API_URL = 'https://api.smartsheetgov.com/2.0'.freeze
8
-
9
- JSON_TYPE = 'application/json'.freeze
10
- EXCEL_TYPE = 'application/vnd.ms-excel'.freeze
11
- PDF_TYPE = 'application/pdf'.freeze
12
- CSV_TYPE = 'text/csv'.freeze
13
- OPENXML_SPREADSHEET_TYPE =
14
- 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'.freeze
15
-
16
- DEFAULT_MAX_RETRY_TIME = 15
17
- DEFAULT_BACKOFF_METHOD = proc { |iteration, _result| 2**iteration + rand }
18
- end
1
+ module Smartsheet
2
+ module Constants
3
+ VERSION = '2.77.2'.freeze
4
+
5
+ USER_AGENT = 'smartsheet-ruby-sdk'.freeze
6
+ API_URL = 'https://api.smartsheet.com/2.0'.freeze
7
+ GOV_API_URL = 'https://api.smartsheetgov.com/2.0'.freeze
8
+
9
+ JSON_TYPE = 'application/json'.freeze
10
+ EXCEL_TYPE = 'application/vnd.ms-excel'.freeze
11
+ PDF_TYPE = 'application/pdf'.freeze
12
+ CSV_TYPE = 'text/csv'.freeze
13
+ OPENXML_SPREADSHEET_TYPE =
14
+ 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'.freeze
15
+
16
+ DEFAULT_MAX_RETRY_TIME = 15
17
+ DEFAULT_BACKOFF_METHOD = proc { |iteration, _result| 2**iteration + rand }
18
+ end
19
19
  end
@@ -1,31 +1,31 @@
1
- module Smartsheet
2
- # Contacts Endpoints
3
- # @see https://smartsheet-platform.github.io/api-docs/?ruby#contacts API Contacts Docs
4
- class Contacts
5
- attr_reader :client
6
- private :client
7
-
8
- def initialize(client)
9
- @client = client
10
- end
11
-
12
- def get(contact_id:, params: {}, header_overrides: {})
13
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['contacts', :contact_id])
14
- request_spec = Smartsheet::API::RequestSpec.new(
15
- header_overrides: header_overrides,
16
- params: params,
17
- contact_id: contact_id
18
- )
19
- client.make_request(endpoint_spec, request_spec)
20
- end
21
-
22
- def list(params: {}, header_overrides: {})
23
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['contacts'])
24
- request_spec = Smartsheet::API::RequestSpec.new(
25
- header_overrides: header_overrides,
26
- params: params
27
- )
28
- client.make_request(endpoint_spec, request_spec)
29
- end
30
- end
1
+ module Smartsheet
2
+ # Contacts Endpoints
3
+ # @see https://smartsheet-platform.github.io/api-docs/?ruby#contacts API Contacts Docs
4
+ class Contacts
5
+ attr_reader :client
6
+ private :client
7
+
8
+ def initialize(client)
9
+ @client = client
10
+ end
11
+
12
+ def get(contact_id:, params: {}, header_overrides: {})
13
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['contacts', :contact_id])
14
+ request_spec = Smartsheet::API::RequestSpec.new(
15
+ header_overrides: header_overrides,
16
+ params: params,
17
+ contact_id: contact_id
18
+ )
19
+ client.make_request(endpoint_spec, request_spec)
20
+ end
21
+
22
+ def list(params: {}, header_overrides: {})
23
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['contacts'])
24
+ request_spec = Smartsheet::API::RequestSpec.new(
25
+ header_overrides: header_overrides,
26
+ params: params
27
+ )
28
+ client.make_request(endpoint_spec, request_spec)
29
+ end
30
+ end
31
31
  end
@@ -1,21 +1,21 @@
1
- module Smartsheet
2
- # Events Endpoints
3
- # @see https://smartsheet-platform.github.io/api-docs/?ruby#event-reporting API Events Docs
4
- class Events
5
- attr_reader :client
6
- private :client
7
-
8
- def initialize(client)
9
- @client = client
10
- end
11
-
12
- def get(params: {}, header_overrides: {})
13
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['events'])
14
- request_spec = Smartsheet::API::RequestSpec.new(
15
- header_overrides: header_overrides,
16
- params: params
17
- )
18
- client.make_request(endpoint_spec, request_spec)
19
- end
20
- end
1
+ module Smartsheet
2
+ # Events Endpoints
3
+ # @see https://smartsheet-platform.github.io/api-docs/?ruby#event-reporting API Events Docs
4
+ class Events
5
+ attr_reader :client
6
+ private :client
7
+
8
+ def initialize(client)
9
+ @client = client
10
+ end
11
+
12
+ def get(params: {}, header_overrides: {})
13
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['events'])
14
+ request_spec = Smartsheet::API::RequestSpec.new(
15
+ header_overrides: header_overrides,
16
+ params: params
17
+ )
18
+ client.make_request(endpoint_spec, request_spec)
19
+ end
20
+ end
21
21
  end
@@ -1,160 +1,160 @@
1
- module Smartsheet
2
- # Favorites Endpoints
3
- # @see https://smartsheet-platform.github.io/api-docs/?ruby#favorites API Favorites Docs
4
- class Favorites
5
- attr_reader :client
6
- private :client
7
-
8
- def initialize(client)
9
- @client = client
10
- end
11
-
12
- def add(body:, params: {}, header_overrides: {})
13
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['favorites'], body_type: :json)
14
- request_spec = Smartsheet::API::RequestSpec.new(
15
- header_overrides: header_overrides,
16
- params: params,
17
- body: body
18
- )
19
- client.make_request(endpoint_spec, request_spec)
20
- end
21
-
22
- def list(params: {}, header_overrides: {})
23
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['favorites'])
24
- request_spec = Smartsheet::API::RequestSpec.new(
25
- header_overrides: header_overrides,
26
- params: params
27
- )
28
- client.make_request(endpoint_spec, request_spec)
29
- end
30
-
31
- def remove_folder(folder_id:, params: {}, header_overrides: {})
32
- remove_favorite(
33
- url: ['folder', :folder_id],
34
- params: params,
35
- header_overrides: header_overrides,
36
- folder_id: folder_id
37
- )
38
- end
39
-
40
- def remove_report(report_id:, params: {}, header_overrides: {})
41
- remove_favorite(
42
- url: ['report', :report_id],
43
- params: params,
44
- header_overrides: header_overrides,
45
- report_id: report_id
46
- )
47
- end
48
-
49
- def remove_sheet(sheet_id:, params: {}, header_overrides: {})
50
- remove_favorite(
51
- url: ['sheet', :sheet_id],
52
- params: params,
53
- header_overrides: header_overrides,
54
- sheet_id: sheet_id
55
- )
56
- end
57
-
58
- def remove_sight(sight_id:, params: {}, header_overrides: {})
59
- remove_favorite(
60
- url: ['sight', :sight_id],
61
- params: params,
62
- header_overrides: header_overrides,
63
- sight_id: sight_id
64
- )
65
- end
66
-
67
- def remove_template(template_id:, params: {}, header_overrides: {})
68
- remove_favorite(
69
- url: ['template', :template_id],
70
- params: params,
71
- header_overrides: header_overrides,
72
- template_id: template_id
73
- )
74
- end
75
-
76
- def remove_workspace(workspace_id:, params: {}, header_overrides: {})
77
- remove_favorite(
78
- url: ['workspace', :workspace_id],
79
- params: params,
80
- header_overrides: header_overrides,
81
- workspace_id: workspace_id
82
- )
83
- end
84
-
85
- def remove_folders(folder_ids:, params: {}, header_overrides: {})
86
- remove_favorites(
87
- url: ['folder'],
88
- params: params,
89
- header_overrides: header_overrides,
90
- object_ids: folder_ids
91
- )
92
- end
93
-
94
- def remove_reports(report_ids:, params: {}, header_overrides: {})
95
- remove_favorites(
96
- url: ['report'],
97
- params: params,
98
- header_overrides: header_overrides,
99
- object_ids: report_ids
100
- )
101
- end
102
-
103
- def remove_sheets(sheet_ids:, params: {}, header_overrides: {})
104
- remove_favorites(
105
- url: ['sheet'],
106
- params: params,
107
- header_overrides: header_overrides,
108
- object_ids: sheet_ids
109
- )
110
- end
111
-
112
- def remove_sights(sight_ids:, params: {}, header_overrides: {})
113
- remove_favorites(
114
- url: ['sight'],
115
- params: params,
116
- header_overrides: header_overrides,
117
- object_ids: sight_ids
118
- )
119
- end
120
-
121
- def remove_templates(template_ids:, params: {}, header_overrides: {})
122
- remove_favorites(
123
- url: ['template'],
124
- params: params,
125
- header_overrides: header_overrides,
126
- object_ids: template_ids
127
- )
128
- end
129
-
130
- def remove_workspaces(workspace_ids:, params: {}, header_overrides: {})
131
- remove_favorites(
132
- url: ['workspace'],
133
- params: params,
134
- header_overrides: header_overrides,
135
- object_ids: workspace_ids
136
- )
137
- end
138
-
139
- private
140
-
141
- def remove_favorite(url:, params:, header_overrides:, **url_args)
142
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:delete, ['favorites'] + url)
143
- request_spec = Smartsheet::API::RequestSpec.new(
144
- header_overrides: header_overrides,
145
- params: params,
146
- **url_args
147
- )
148
- client.make_request(endpoint_spec, request_spec)
149
- end
150
-
151
- def remove_favorites(object_ids:, url:, params:, header_overrides:)
152
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:delete, ['favorites'] + url)
153
- request_spec = Smartsheet::API::RequestSpec.new(
154
- header_overrides: header_overrides,
155
- params: params.merge({objectIds: object_ids.join(',')})
156
- )
157
- client.make_request(endpoint_spec, request_spec)
158
- end
159
- end
1
+ module Smartsheet
2
+ # Favorites Endpoints
3
+ # @see https://smartsheet-platform.github.io/api-docs/?ruby#favorites API Favorites Docs
4
+ class Favorites
5
+ attr_reader :client
6
+ private :client
7
+
8
+ def initialize(client)
9
+ @client = client
10
+ end
11
+
12
+ def add(body:, params: {}, header_overrides: {})
13
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['favorites'], body_type: :json)
14
+ request_spec = Smartsheet::API::RequestSpec.new(
15
+ header_overrides: header_overrides,
16
+ params: params,
17
+ body: body
18
+ )
19
+ client.make_request(endpoint_spec, request_spec)
20
+ end
21
+
22
+ def list(params: {}, header_overrides: {})
23
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['favorites'])
24
+ request_spec = Smartsheet::API::RequestSpec.new(
25
+ header_overrides: header_overrides,
26
+ params: params
27
+ )
28
+ client.make_request(endpoint_spec, request_spec)
29
+ end
30
+
31
+ def remove_folder(folder_id:, params: {}, header_overrides: {})
32
+ remove_favorite(
33
+ url: ['folder', :folder_id],
34
+ params: params,
35
+ header_overrides: header_overrides,
36
+ folder_id: folder_id
37
+ )
38
+ end
39
+
40
+ def remove_report(report_id:, params: {}, header_overrides: {})
41
+ remove_favorite(
42
+ url: ['report', :report_id],
43
+ params: params,
44
+ header_overrides: header_overrides,
45
+ report_id: report_id
46
+ )
47
+ end
48
+
49
+ def remove_sheet(sheet_id:, params: {}, header_overrides: {})
50
+ remove_favorite(
51
+ url: ['sheet', :sheet_id],
52
+ params: params,
53
+ header_overrides: header_overrides,
54
+ sheet_id: sheet_id
55
+ )
56
+ end
57
+
58
+ def remove_sight(sight_id:, params: {}, header_overrides: {})
59
+ remove_favorite(
60
+ url: ['sight', :sight_id],
61
+ params: params,
62
+ header_overrides: header_overrides,
63
+ sight_id: sight_id
64
+ )
65
+ end
66
+
67
+ def remove_template(template_id:, params: {}, header_overrides: {})
68
+ remove_favorite(
69
+ url: ['template', :template_id],
70
+ params: params,
71
+ header_overrides: header_overrides,
72
+ template_id: template_id
73
+ )
74
+ end
75
+
76
+ def remove_workspace(workspace_id:, params: {}, header_overrides: {})
77
+ remove_favorite(
78
+ url: ['workspace', :workspace_id],
79
+ params: params,
80
+ header_overrides: header_overrides,
81
+ workspace_id: workspace_id
82
+ )
83
+ end
84
+
85
+ def remove_folders(folder_ids:, params: {}, header_overrides: {})
86
+ remove_favorites(
87
+ url: ['folder'],
88
+ params: params,
89
+ header_overrides: header_overrides,
90
+ object_ids: folder_ids
91
+ )
92
+ end
93
+
94
+ def remove_reports(report_ids:, params: {}, header_overrides: {})
95
+ remove_favorites(
96
+ url: ['report'],
97
+ params: params,
98
+ header_overrides: header_overrides,
99
+ object_ids: report_ids
100
+ )
101
+ end
102
+
103
+ def remove_sheets(sheet_ids:, params: {}, header_overrides: {})
104
+ remove_favorites(
105
+ url: ['sheet'],
106
+ params: params,
107
+ header_overrides: header_overrides,
108
+ object_ids: sheet_ids
109
+ )
110
+ end
111
+
112
+ def remove_sights(sight_ids:, params: {}, header_overrides: {})
113
+ remove_favorites(
114
+ url: ['sight'],
115
+ params: params,
116
+ header_overrides: header_overrides,
117
+ object_ids: sight_ids
118
+ )
119
+ end
120
+
121
+ def remove_templates(template_ids:, params: {}, header_overrides: {})
122
+ remove_favorites(
123
+ url: ['template'],
124
+ params: params,
125
+ header_overrides: header_overrides,
126
+ object_ids: template_ids
127
+ )
128
+ end
129
+
130
+ def remove_workspaces(workspace_ids:, params: {}, header_overrides: {})
131
+ remove_favorites(
132
+ url: ['workspace'],
133
+ params: params,
134
+ header_overrides: header_overrides,
135
+ object_ids: workspace_ids
136
+ )
137
+ end
138
+
139
+ private
140
+
141
+ def remove_favorite(url:, params:, header_overrides:, **url_args)
142
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:delete, ['favorites'] + url)
143
+ request_spec = Smartsheet::API::RequestSpec.new(
144
+ header_overrides: header_overrides,
145
+ params: params,
146
+ **url_args
147
+ )
148
+ client.make_request(endpoint_spec, request_spec)
149
+ end
150
+
151
+ def remove_favorites(object_ids:, url:, params:, header_overrides:)
152
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:delete, ['favorites'] + url)
153
+ request_spec = Smartsheet::API::RequestSpec.new(
154
+ header_overrides: header_overrides,
155
+ params: params.merge({objectIds: object_ids.join(',')})
156
+ )
157
+ client.make_request(endpoint_spec, request_spec)
158
+ end
159
+ end
160
160
  end