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,126 +1,126 @@
1
- module Smartsheet
2
- # Folders Endpoints
3
- # @see https://smartsheet-platform.github.io/api-docs/?ruby#folders API Folders Docs
4
- class Folders
5
- attr_reader :client
6
- private :client
7
-
8
- def initialize(client)
9
- @client = client
10
- end
11
-
12
- def copy(folder_id:, body:, params: {}, header_overrides: {})
13
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['folders', :folder_id, 'copy'], body_type: :json)
14
- request_spec = Smartsheet::API::RequestSpec.new(
15
- header_overrides: header_overrides,
16
- params: params,
17
- body: body,
18
- folder_id: folder_id
19
- )
20
- client.make_request(endpoint_spec, request_spec)
21
- end
22
-
23
- def create(body:, params: {}, header_overrides: {})
24
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['home', 'folders'], body_type: :json)
25
- request_spec = Smartsheet::API::RequestSpec.new(
26
- params: params,
27
- header_overrides: header_overrides,
28
- body: body
29
- )
30
- client.make_request(endpoint_spec, request_spec)
31
- end
32
-
33
- def create_in_folder(folder_id:, body:, params: {}, header_overrides: {})
34
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['folders', :folder_id, 'folders'], body_type: :json)
35
- request_spec = Smartsheet::API::RequestSpec.new(
36
- params: params,
37
- header_overrides: header_overrides,
38
- body: body,
39
- folder_id: folder_id
40
- )
41
- client.make_request(endpoint_spec, request_spec)
42
- end
43
-
44
- def create_in_workspace(workspace_id:, body:, params: {}, header_overrides: {})
45
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['workspaces', :workspace_id, 'folders'], body_type: :json)
46
- request_spec = Smartsheet::API::RequestSpec.new(
47
- params: params,
48
- header_overrides: header_overrides,
49
- body: body,
50
- workspace_id: workspace_id
51
- )
52
- client.make_request(endpoint_spec, request_spec)
53
- end
54
-
55
- def delete(folder_id:, params: {}, header_overrides: {})
56
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:delete, ['folders', :folder_id])
57
- request_spec = Smartsheet::API::RequestSpec.new(
58
- params: params,
59
- header_overrides: header_overrides,
60
- folder_id: folder_id
61
- )
62
- client.make_request(endpoint_spec, request_spec)
63
- end
64
-
65
- def get(folder_id:, params: {}, header_overrides: {})
66
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['folders', :folder_id])
67
- request_spec = Smartsheet::API::RequestSpec.new(
68
- header_overrides: header_overrides,
69
- params: params,
70
- folder_id: folder_id
71
- )
72
- client.make_request(endpoint_spec, request_spec)
73
- end
74
-
75
- def list(params: {}, header_overrides: {})
76
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['home', 'folders'])
77
- request_spec = Smartsheet::API::RequestSpec.new(
78
- header_overrides: header_overrides,
79
- params: params
80
- )
81
- client.make_request(endpoint_spec, request_spec)
82
- end
83
-
84
- def list_in_folder(folder_id:, params: {}, header_overrides: {})
85
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['folders', :folder_id, 'folders'])
86
- request_spec = Smartsheet::API::RequestSpec.new(
87
- header_overrides: header_overrides,
88
- params: params,
89
- folder_id: folder_id
90
- )
91
- client.make_request(endpoint_spec, request_spec)
92
- end
93
-
94
- def list_in_workspace(workspace_id:, params: {}, header_overrides: {})
95
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['workspaces', :workspace_id, 'folders'])
96
- request_spec = Smartsheet::API::RequestSpec.new(
97
- header_overrides: header_overrides,
98
- params: params,
99
- workspace_id: workspace_id
100
- )
101
- client.make_request(endpoint_spec, request_spec)
102
- end
103
-
104
- def move(folder_id:, body:, params: {}, header_overrides: {})
105
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['folders', :folder_id, 'move'], body_type: :json)
106
- request_spec = Smartsheet::API::RequestSpec.new(
107
- params: params,
108
- header_overrides: header_overrides,
109
- body: body,
110
- folder_id: folder_id
111
- )
112
- client.make_request(endpoint_spec, request_spec)
113
- end
114
-
115
- def update(folder_id:, body:, params: {}, header_overrides: {})
116
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:put, ['folders', :folder_id], body_type: :json)
117
- request_spec = Smartsheet::API::RequestSpec.new(
118
- params: params,
119
- header_overrides: header_overrides,
120
- body: body,
121
- folder_id: folder_id
122
- )
123
- client.make_request(endpoint_spec, request_spec)
124
- end
125
- end
1
+ module Smartsheet
2
+ # Folders Endpoints
3
+ # @see https://smartsheet-platform.github.io/api-docs/?ruby#folders API Folders Docs
4
+ class Folders
5
+ attr_reader :client
6
+ private :client
7
+
8
+ def initialize(client)
9
+ @client = client
10
+ end
11
+
12
+ def copy(folder_id:, body:, params: {}, header_overrides: {})
13
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['folders', :folder_id, 'copy'], body_type: :json)
14
+ request_spec = Smartsheet::API::RequestSpec.new(
15
+ header_overrides: header_overrides,
16
+ params: params,
17
+ body: body,
18
+ folder_id: folder_id
19
+ )
20
+ client.make_request(endpoint_spec, request_spec)
21
+ end
22
+
23
+ def create(body:, params: {}, header_overrides: {})
24
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['home', 'folders'], body_type: :json)
25
+ request_spec = Smartsheet::API::RequestSpec.new(
26
+ params: params,
27
+ header_overrides: header_overrides,
28
+ body: body
29
+ )
30
+ client.make_request(endpoint_spec, request_spec)
31
+ end
32
+
33
+ def create_in_folder(folder_id:, body:, params: {}, header_overrides: {})
34
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['folders', :folder_id, 'folders'], body_type: :json)
35
+ request_spec = Smartsheet::API::RequestSpec.new(
36
+ params: params,
37
+ header_overrides: header_overrides,
38
+ body: body,
39
+ folder_id: folder_id
40
+ )
41
+ client.make_request(endpoint_spec, request_spec)
42
+ end
43
+
44
+ def create_in_workspace(workspace_id:, body:, params: {}, header_overrides: {})
45
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['workspaces', :workspace_id, 'folders'], body_type: :json)
46
+ request_spec = Smartsheet::API::RequestSpec.new(
47
+ params: params,
48
+ header_overrides: header_overrides,
49
+ body: body,
50
+ workspace_id: workspace_id
51
+ )
52
+ client.make_request(endpoint_spec, request_spec)
53
+ end
54
+
55
+ def delete(folder_id:, params: {}, header_overrides: {})
56
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:delete, ['folders', :folder_id])
57
+ request_spec = Smartsheet::API::RequestSpec.new(
58
+ params: params,
59
+ header_overrides: header_overrides,
60
+ folder_id: folder_id
61
+ )
62
+ client.make_request(endpoint_spec, request_spec)
63
+ end
64
+
65
+ def get(folder_id:, params: {}, header_overrides: {})
66
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['folders', :folder_id])
67
+ request_spec = Smartsheet::API::RequestSpec.new(
68
+ header_overrides: header_overrides,
69
+ params: params,
70
+ folder_id: folder_id
71
+ )
72
+ client.make_request(endpoint_spec, request_spec)
73
+ end
74
+
75
+ def list(params: {}, header_overrides: {})
76
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['home', 'folders'])
77
+ request_spec = Smartsheet::API::RequestSpec.new(
78
+ header_overrides: header_overrides,
79
+ params: params
80
+ )
81
+ client.make_request(endpoint_spec, request_spec)
82
+ end
83
+
84
+ def list_in_folder(folder_id:, params: {}, header_overrides: {})
85
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['folders', :folder_id, 'folders'])
86
+ request_spec = Smartsheet::API::RequestSpec.new(
87
+ header_overrides: header_overrides,
88
+ params: params,
89
+ folder_id: folder_id
90
+ )
91
+ client.make_request(endpoint_spec, request_spec)
92
+ end
93
+
94
+ def list_in_workspace(workspace_id:, params: {}, header_overrides: {})
95
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['workspaces', :workspace_id, 'folders'])
96
+ request_spec = Smartsheet::API::RequestSpec.new(
97
+ header_overrides: header_overrides,
98
+ params: params,
99
+ workspace_id: workspace_id
100
+ )
101
+ client.make_request(endpoint_spec, request_spec)
102
+ end
103
+
104
+ def move(folder_id:, body:, params: {}, header_overrides: {})
105
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['folders', :folder_id, 'move'], body_type: :json)
106
+ request_spec = Smartsheet::API::RequestSpec.new(
107
+ params: params,
108
+ header_overrides: header_overrides,
109
+ body: body,
110
+ folder_id: folder_id
111
+ )
112
+ client.make_request(endpoint_spec, request_spec)
113
+ end
114
+
115
+ def update(folder_id:, body:, params: {}, header_overrides: {})
116
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:put, ['folders', :folder_id], body_type: :json)
117
+ request_spec = Smartsheet::API::RequestSpec.new(
118
+ params: params,
119
+ header_overrides: header_overrides,
120
+ body: body,
121
+ folder_id: folder_id
122
+ )
123
+ client.make_request(endpoint_spec, request_spec)
124
+ end
125
+ end
126
126
  end
@@ -1,84 +1,84 @@
1
- module Smartsheet
2
- # Groups Endpoints
3
- # @see https://smartsheet-platform.github.io/api-docs/?ruby#groups API Groups Docs
4
- class Groups
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, ['groups'], 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(group_id:, params: {}, header_overrides: {})
23
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:delete, ['groups', :group_id])
24
- request_spec = Smartsheet::API::RequestSpec.new(
25
- params: params,
26
- header_overrides: header_overrides,
27
- group_id: group_id
28
- )
29
- client.make_request(endpoint_spec, request_spec)
30
- end
31
-
32
- def get(group_id:, params: {}, header_overrides: {})
33
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['groups', :group_id])
34
- request_spec = Smartsheet::API::RequestSpec.new(
35
- params: params,
36
- header_overrides: header_overrides,
37
- group_id: group_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, ['groups'])
44
- request_spec = Smartsheet::API::RequestSpec.new(
45
- header_overrides: header_overrides,
46
- params: params
47
- )
48
- client.make_request(endpoint_spec, request_spec)
49
- end
50
-
51
- def update(group_id:, body:, params: {}, header_overrides: {})
52
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:put, ['groups', :group_id], body_type: :json)
53
- request_spec = Smartsheet::API::RequestSpec.new(
54
- params: params,
55
- header_overrides: header_overrides,
56
- body: body,
57
- group_id: group_id
58
- )
59
- client.make_request(endpoint_spec, request_spec)
60
- end
61
-
62
- def add_members(group_id:, body:, params: {}, header_overrides: {})
63
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['groups', :group_id, 'members'], body_type: :json)
64
- request_spec = Smartsheet::API::RequestSpec.new(
65
- params: params,
66
- header_overrides: header_overrides,
67
- body: body,
68
- group_id: group_id
69
- )
70
- client.make_request(endpoint_spec, request_spec)
71
- end
72
-
73
- def remove_member(group_id:, user_id:, params: {}, header_overrides: {})
74
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:delete, ['groups', :group_id, 'members', :user_id])
75
- request_spec = Smartsheet::API::RequestSpec.new(
76
- params: params,
77
- header_overrides: header_overrides,
78
- group_id: group_id,
79
- user_id: user_id
80
- )
81
- client.make_request(endpoint_spec, request_spec)
82
- end
83
- end
1
+ module Smartsheet
2
+ # Groups Endpoints
3
+ # @see https://smartsheet-platform.github.io/api-docs/?ruby#groups API Groups Docs
4
+ class Groups
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, ['groups'], 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(group_id:, params: {}, header_overrides: {})
23
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:delete, ['groups', :group_id])
24
+ request_spec = Smartsheet::API::RequestSpec.new(
25
+ params: params,
26
+ header_overrides: header_overrides,
27
+ group_id: group_id
28
+ )
29
+ client.make_request(endpoint_spec, request_spec)
30
+ end
31
+
32
+ def get(group_id:, params: {}, header_overrides: {})
33
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['groups', :group_id])
34
+ request_spec = Smartsheet::API::RequestSpec.new(
35
+ params: params,
36
+ header_overrides: header_overrides,
37
+ group_id: group_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, ['groups'])
44
+ request_spec = Smartsheet::API::RequestSpec.new(
45
+ header_overrides: header_overrides,
46
+ params: params
47
+ )
48
+ client.make_request(endpoint_spec, request_spec)
49
+ end
50
+
51
+ def update(group_id:, body:, params: {}, header_overrides: {})
52
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:put, ['groups', :group_id], body_type: :json)
53
+ request_spec = Smartsheet::API::RequestSpec.new(
54
+ params: params,
55
+ header_overrides: header_overrides,
56
+ body: body,
57
+ group_id: group_id
58
+ )
59
+ client.make_request(endpoint_spec, request_spec)
60
+ end
61
+
62
+ def add_members(group_id:, body:, params: {}, header_overrides: {})
63
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:post, ['groups', :group_id, 'members'], body_type: :json)
64
+ request_spec = Smartsheet::API::RequestSpec.new(
65
+ params: params,
66
+ header_overrides: header_overrides,
67
+ body: body,
68
+ group_id: group_id
69
+ )
70
+ client.make_request(endpoint_spec, request_spec)
71
+ end
72
+
73
+ def remove_member(group_id:, user_id:, params: {}, header_overrides: {})
74
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:delete, ['groups', :group_id, 'members', :user_id])
75
+ request_spec = Smartsheet::API::RequestSpec.new(
76
+ params: params,
77
+ header_overrides: header_overrides,
78
+ group_id: group_id,
79
+ user_id: user_id
80
+ )
81
+ client.make_request(endpoint_spec, request_spec)
82
+ end
83
+ end
84
84
  end
@@ -1,21 +1,21 @@
1
- module Smartsheet
2
- # Home Endpoints
3
- # @see https://smartsheet-platform.github.io/api-docs/?ruby#home API Home Docs
4
- class Home
5
- attr_reader :client
6
- private :client
7
-
8
- def initialize(client)
9
- @client = client
10
- end
11
-
12
- def list(params: {}, header_overrides: {})
13
- endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['home'])
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
+ # Home Endpoints
3
+ # @see https://smartsheet-platform.github.io/api-docs/?ruby#home API Home Docs
4
+ class Home
5
+ attr_reader :client
6
+ private :client
7
+
8
+ def initialize(client)
9
+ @client = client
10
+ end
11
+
12
+ def list(params: {}, header_overrides: {})
13
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(:get, ['home'])
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