onlyoffice_api 0.12.0 → 1.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bdbcfc630b8186f0ce844c741c43a3a80873823d5cd826a4499490c1b07600df
4
- data.tar.gz: 51be328e7d6d9a061baf729481d22b498fd84502d4f74d5e898c6820e9cd9516
3
+ metadata.gz: 9f8c8455b783aef58695e2f11ac059804435a6be117b76b453cdebd0a996e41a
4
+ data.tar.gz: 46cf0de4e5b2a8a8ad1215c7f86f50d182b5b4bcc1f364054c50015a0b522123
5
5
  SHA512:
6
- metadata.gz: beddc9c36885235acef44a1b2d2306c18c7d57dd91e94a267d219937e3deadcce2462292409f62dab2a220a5c86629651b997eb30fb996d8766b6c406ec5d960
7
- data.tar.gz: 944ac964b667783207b6e95541456f1168c2f216f6041e8e97202c4ea99bcde87fa86345878f6b1a654fd4024bbda735900c9f9064b0cc5dcf0e2e1f1505a6e2
6
+ metadata.gz: d88170f761bb8384014573a865dc1e5d2614054bf8e7f4e032f36b043160763ad2d6226cf4151cd145a7b8cfc42a1313fd6a7670e8fa532298cad3c49c32ac00
7
+ data.tar.gz: ffa186f53c8b0077ca1af6e04495c6a83992a02f02cc861a8a6f26335fc4f022f2a1ecc3a9555a2a5a0ea5537dd6fd710dbeebfa96d92ebf3e3e1281f0a5f6c9
@@ -23,7 +23,7 @@ module Teamlab
23
23
  @request.get(%w[currency rates], {})
24
24
  end
25
25
 
26
- def set_currency_rate(from = 'EUR', to = 'USD', rate = '1.0')
26
+ def create_currency_rate(from = 'EUR', to = 'USD', rate = '1.0')
27
27
  @request.post(%w[currency rates], fromCurrency: from, toCurrency: to, rate: rate)
28
28
  end
29
29
 
@@ -31,6 +31,14 @@ module Teamlab
31
31
  @request.get(['currency', 'rates', id.to_s], {})
32
32
  end
33
33
 
34
+ # Get currency rate by currencies
35
+ # @param from_currency [String] rate from currency
36
+ # @param to_currency [String] rate to currency
37
+ # @return [Hash] currency rate data
38
+ def get_currency_rate_by_currency(from_currency, to_currency)
39
+ @request.get(['currency', 'rates', from_currency.to_s, to_currency.to_s])
40
+ end
41
+
34
42
  def delete_currency_rate_by_id(id)
35
43
  @request.delete(['currency', 'rates', id.to_s], {})
36
44
  end
@@ -38,5 +46,15 @@ module Teamlab
38
46
  def set_is_portal_configured(options = {})
39
47
  @request.put(%w[settings], options)
40
48
  end
49
+
50
+ # Update currency rate object
51
+ # @param id [String] id of rate currency
52
+ # @param from [String] rate from currency
53
+ # @param to [String] rate to currency
54
+ # @param rate [String] currency rate
55
+ # @return [Hash] currency and rate data
56
+ def update_currency_rate(id, from, to, rate)
57
+ @request.put(['currency', 'rates', id.to_s], fromCurrency: from, toCurrency: to, rate: rate)
58
+ end
41
59
  end
42
60
  end
@@ -139,6 +139,13 @@ module Teamlab
139
139
  @request.get(['contact', 'company', company_id.to_s, 'person'])
140
140
  end
141
141
 
142
+ # Returns the detailed information about the contacts Email, Phone, Web Site/Social Networks and Address information with the ID
143
+ # @param contact_id [String] Contact ID
144
+ # @return [Hash] Contact information
145
+ def get_contact_information(contact_id)
146
+ @request.get(['contact', contact_id.to_s, 'data'])
147
+ end
148
+
142
149
  def get_contact_information_by_type(contact_id, info_type)
143
150
  @request.get(['contact', contact_id.to_s, 'data', info_type.to_s])
144
151
  end
@@ -192,6 +199,13 @@ module Teamlab
192
199
  @request.put(['contact', contact_id.to_s, 'access'], options)
193
200
  end
194
201
 
202
+ # Returns access rights to the contact with the ID specified in the request
203
+ # @param contact_id [String] Contact ID
204
+ # @return [Array] List of contacts
205
+ def get_contact_access_rights(contact_id)
206
+ @request.get(['contact', contact_id.to_s, 'access'])
207
+ end
208
+
195
209
  def update_company(company_id, company_name, options = {})
196
210
  @request.put(['contact', 'company', company_id.to_s], { companyName: company_name.to_s }.merge(options))
197
211
  end
@@ -239,5 +253,22 @@ module Teamlab
239
253
  def remove_contact_from_project(contact_id, project_id)
240
254
  @request.delete(['contact', contact_id.to_s, 'project', project_id.to_s])
241
255
  end
256
+
257
+ # Adds the address information to the contact with the selected ID
258
+ # @param contact_id [String] Contact ID
259
+ # @param address [Hash] Contact address parameters: street, city, state, zip, country, isPrimary
260
+ # @return [Hash] Contact information
261
+ def add_address_info(contact_id, address = {})
262
+ @request.post(['contact', contact_id.to_s, 'addressdata'], { address: address })
263
+ end
264
+
265
+ # Updates the address information with the parameters specified in the request for the contact with the selected ID
266
+ # @param contact_id [String] Contact ID
267
+ # @param info_id [String] Contact information record ID
268
+ # @param address [Hash] Contact address parameters: street, city, state, zip, country, isPrimary
269
+ # @return [Hash] Contact information
270
+ def update_address_info(contact_id, info_id, address = {})
271
+ @request.put(['contact', contact_id.to_s, 'addressdata', info_id.to_s], { address: address })
272
+ end
242
273
  end
243
274
  end
@@ -117,5 +117,19 @@ module Teamlab
117
117
  def get_invoice_item_by_id(invoice_item_id)
118
118
  @request.get(['invoiceitem', invoice_item_id])
119
119
  end
120
+
121
+ # Returns the existence of an invoice with the number specified in the request
122
+ # @param number [String] Invoice number
123
+ # @return [Boolean] Invoice existence
124
+ def check_invoice_existence_by_number(number)
125
+ @request.get(%w[invoice bynumber exist], number: number)
126
+ end
127
+
128
+ # Returns the detailed information about an invoice with the number specified in the request
129
+ # @param number [String] Invoice number
130
+ # @return [Hash] Invoice data
131
+ def get_invoice_by_number(number)
132
+ @request.get(%w[invoice bynumber], number: number)
133
+ end
120
134
  end
121
135
  end
@@ -23,6 +23,13 @@ module Teamlab
23
23
  @request.get(['opportunity', opportunity_id.to_s, 'contact'])
24
24
  end
25
25
 
26
+ # Returns a list of all the opportunities for the contact with the ID specified in the request
27
+ # @param contact_id [String, Integer] Contact ID
28
+ # @return [Array] List of opportunities
29
+ def get_contact_opportunities(contact_id)
30
+ @request.get(['opportunity', 'bycontact', contact_id.to_s])
31
+ end
32
+
26
33
  def create_opportunity(stage_id, title, responsible_id, options = {})
27
34
  options[:bidCurrencyAbbr] ||= 'USD'
28
35
  @request.post(%w[opportunity], { stageId: stage_id, title: title, responsibleid: responsible_id }.merge(options))
@@ -50,5 +50,14 @@ module Teamlab
50
50
  def add_contact_tag_to_group(entity_type, entity_id, tag)
51
51
  @request.post([entity_type.to_s, entity_id.to_s, 'tag', 'group'], tagName: tag)
52
52
  end
53
+
54
+ # Deletes the selected tag from the entity (company or person) specified in the request and from all the related contacts
55
+ # @param entity_type [String, Symbol] Entity type
56
+ # @param entity_id [String] Entity ID
57
+ # @param tag [String] Tag name
58
+ # @return [String] Tag name
59
+ def delete_contact_tag_of_group(entity_type, entity_id, tag)
60
+ @request.delete([entity_type.to_s, entity_id, 'tag', 'group'], tagName: tag)
61
+ end
53
62
  end
54
63
  end
@@ -7,18 +7,21 @@ module Teamlab
7
7
  # @param from_user_id [String] guid of user from whom reassign
8
8
  # @param to_user_id [String] guid of user to whom reassign
9
9
  # @param delete_profile [True, False] Delete profile when reassignment will be finished
10
+ # @return [Hash] reassign progress data
10
11
  def start_reassign_user_data(from_user_id, to_user_id, delete_profile = true)
11
12
  @request.post(%w[reassign start], fromUserId: from_user_id, toUserId: to_user_id, deleteProfile: delete_profile)
12
13
  end
13
14
 
14
15
  # Returns the progress of the started reassign process
15
16
  # @param from_user_id [String] User ID (guid) whose data is reassigned
16
- def get_reassign_progress(from_user_id)
17
+ # @return [Hash] reassign progress data
18
+ def reassign_progress(from_user_id)
17
19
  @request.get(%w[reassign progress], userId: from_user_id)
18
20
  end
19
21
 
20
22
  # Terminate reassign process
21
23
  # @param user_id [String] User ID (guid) whose data is reassigned
24
+ # @return [Void]
22
25
  def terminate_reassign(user_id)
23
26
  @request.put(%w[reassign terminate], userId: user_id)
24
27
  end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Teamlab
4
+ # Module for people removing process
5
+ module PeopleRemove
6
+ # Start a remove process
7
+ # @param userId [String] guid of user to remove
8
+ # @return [Hash] remove progress data
9
+ def start_remove(user_id)
10
+ @request.post(%w[remove start], userId: user_id)
11
+ end
12
+
13
+ # Returns the progress of the started remove process
14
+ # @param userId [String] guid of user to remove
15
+ # @return [Hash] remove progress data
16
+ def remove_progress(user_id)
17
+ @request.get(%w[remove progress], userId: user_id)
18
+ end
19
+
20
+ # Terminate remove process
21
+ # @param userId [String] guid of user to remove
22
+ # @return [Void]
23
+ def terminate_remove(user_id)
24
+ @request.put(%w[remove terminate], userId: user_id)
25
+ end
26
+ end
27
+ end
@@ -1,9 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'people/people_reassign'
4
+ require_relative 'people/people_remove'
4
5
  module Teamlab
5
6
  class People
6
7
  include PeopleReassign
8
+ include PeopleRemove
7
9
 
8
10
  def initialize(config = nil)
9
11
  @request = Teamlab::Request.new(config, 'people')
@@ -45,10 +47,6 @@ module Teamlab
45
47
  @request.post(nil, { isVisitor: is_visitor, email: email, firstname: firstname, lastname: lastname }.merge(options))
46
48
  end
47
49
 
48
- def active(options = {})
49
- @request.post(['active'], options) # TODO: need some fixing
50
- end
51
-
52
50
  def update_contacts(user_id, contacts = {})
53
51
  @request.post([user_id, 'contacts'], contacts)
54
52
  end
@@ -100,5 +98,31 @@ module Teamlab
100
98
  def unlink_account(provider)
101
99
  @request.delete([%w[thirdparty unlinkaccount]], provider: provider)
102
100
  end
101
+
102
+ # Return the detailed information about the profile of the user with the email specified in the request
103
+ # @param email [String] User email
104
+ # @return [Hash] result user search by email
105
+ def get_user_by_email(email)
106
+ @request.get(['email'], email: email)
107
+ end
108
+
109
+ # Get user photos
110
+ # @param userid [String] User ID
111
+ # @return [Hash] result user photos
112
+ def get_user_photoes(user_id)
113
+ @request.get([user_id, 'photo'])
114
+ end
115
+
116
+ # Send instructions for delete user own profile
117
+ # @return [Void] send `Deletion of your profile` letter
118
+ def send_delete_instruction
119
+ @request.put(%w[self delete])
120
+ end
121
+
122
+ # Join to affiliate programme
123
+ # @return [String] link to affiliate programme
124
+ def join_to_affiliate_programme
125
+ @request.put(%w[self joinaffiliate])
126
+ end
103
127
  end
104
128
  end
@@ -13,5 +13,11 @@ module Teamlab
13
13
  def invite_visitor_url
14
14
  @request.get(%w[users invite visitor])
15
15
  end
16
+
17
+ # Deletes the current portal immediately
18
+ # WARNING: Do not test this method in specs in this project
19
+ def delete_portal
20
+ @request.delete(%w[deleteportalimmediately])
21
+ end
16
22
  end
17
23
  end
@@ -30,5 +30,21 @@ module Teamlab
30
30
  def delete_comment(comment_id)
31
31
  @request.delete(['comment', comment_id.to_s])
32
32
  end
33
+
34
+ # Adds a project comment with the parameters specified in the request
35
+ # @param entity_id [String] Entity ID
36
+ # @param content [String] Comment text
37
+ # @param type [String, Symbol] Comment type (message or task)
38
+ # @return [Hash] Comment information
39
+ def add_project_comment(entity_id, content, type, options = {})
40
+ @request.post(%w[comment], { entityid: entity_id, content: content, type: type.to_s }.merge(options))
41
+ end
42
+
43
+ # Get a preview of a project comment with the ID specified in the request
44
+ # @param htmltext [String] Comment text in the HTML format
45
+ # @return [Hash] Comment information
46
+ def get_a_comment_preview(htmltext, options = {})
47
+ @request.post(%w[comment preview], { htmltext: htmltext }.merge(options))
48
+ end
33
49
  end
34
50
  end
@@ -39,8 +39,22 @@ module Teamlab
39
39
  @request.put(['message', message_id.to_s, 'subscribe'])
40
40
  end
41
41
 
42
+ # Returns a list of all the subscribers of the discussion with the selected message
43
+ # @param message_id [Integer, String] Message ID
44
+ # @return [Array] List of subscibers
45
+ def discussion_subscribers(message_id)
46
+ @request.get(['message', message_id.to_s, 'subscribes'])
47
+ end
48
+
42
49
  def delete_message(message_id)
43
50
  @request.delete(['message', message_id.to_s])
44
51
  end
52
+
53
+ # Returns a preview of the discussion message
54
+ # @param [String] Message text in the HTML format
55
+ # @return [Hash] Message preview
56
+ def preview_of_discussion_message(htmltext)
57
+ @request.post(%w[message discussion preview], htmltext: htmltext)
58
+ end
45
59
  end
46
60
  end
@@ -31,6 +31,36 @@ module Teamlab
31
31
  @request.get(['milestone', year.to_s, month.to_s, day.to_s])
32
32
  end
33
33
 
34
+ # Returns a list of all the milestones within a project with the ID specified in the request
35
+ # @param project_id [Symbol, String] Project ID
36
+ # @return [Array] List of milestones
37
+ def milestones_by_project_id(project_id)
38
+ @request.get([project_id.to_s, 'milestone'])
39
+ end
40
+
41
+ # Returns a list of all the milestones within a project with the ID and status specified in the request
42
+ # @param project_id [Symbol, String] Project ID
43
+ # @param status [Symbol, String] Milestone status
44
+ # @return [Array] List of milestones
45
+ def milestones_by_project_id_and_status(project_id, status)
46
+ @request.get([project_id.to_s, 'milestone', status.to_s])
47
+ end
48
+
49
+ # Adds a new milestone using the parameters (project ID, milestone title, deadline, etc) specified in the request
50
+ # @param project_id [Symbol, String] Project ID
51
+ # @param title [String] Milestone title
52
+ # @param deadline [String] Milestone deadline
53
+ # @param responsible_id [String] Milestone responsible
54
+ # @param options [Hash] options to create a Milestone with
55
+ # @option isKey [Boolean] Specifies if this is a key milestone or not
56
+ # @option isNotify [Boolean] Reminds me 48 hours before the milestone due date
57
+ # @option description [String] Milestone description
58
+ # @option notifyResponsible [Boolean] Notifies the responsible about the milestone actions or not
59
+ # @return [Hash] Added milestone
60
+ def add_milestone(project_id, title, deadline, responsible_id, options = {})
61
+ @request.post([project_id.to_s, 'milestone'], { title: title, deadline: deadline, responsible: responsible_id }.merge(options))
62
+ end
63
+
34
64
  def update_milestone(id, title, deadline, options = {})
35
65
  @request.put(['milestone', id.to_s], { title: title, deadline: deadline }.merge(options))
36
66
  end
@@ -42,5 +72,12 @@ module Teamlab
42
72
  def delete_milestone(id)
43
73
  @request.delete(['milestone', id.to_s])
44
74
  end
75
+
76
+ # Deletes the milestones with the IDs specified in the request
77
+ # @param ids [Array] Milestone IDs
78
+ # @return [Array] Deleted milestones
79
+ def delete_milestones(ids)
80
+ @request.delete(['milestone'], { ids: ids })
81
+ end
45
82
  end
46
83
  end
@@ -35,10 +35,6 @@ module Teamlab
35
35
  @request.get([project_id.to_s, 'files'])
36
36
  end
37
37
 
38
- def get_milestones(project_id)
39
- @request.get([project_id.to_s, 'milestone'])
40
- end
41
-
42
38
  def search_all_projects(query)
43
39
  @request.get(['@search', query.to_s])
44
40
  end
@@ -47,18 +43,10 @@ module Teamlab
47
43
  @request.get([project_id.to_s, '@search', query.to_s])
48
44
  end
49
45
 
50
- def get_milestones_with_status(project_id, status)
51
- @request.get([project_id.to_s, 'milestone', status.to_s])
52
- end
53
-
54
46
  def create_project(title, description, responsible_id, tags, private, options = {})
55
47
  @request.post('', { title: title, description: description, responsibleid: responsible_id, tags: tags, private: private }.merge(options))
56
48
  end
57
49
 
58
- def add_milestone(project_id, title, deadline, responsible_id, options = {})
59
- @request.post([project_id.to_s, 'milestone'], { title: title, deadline: deadline, responsible: responsible_id }.merge(options))
60
- end
61
-
62
50
  def update_project(id, title, responsible_id, options = {})
63
51
  @request.put([id.to_s], { title: title, responsibleId: responsible_id }.merge(options))
64
52
  end
@@ -78,5 +66,12 @@ module Teamlab
78
66
  def delete_project(id)
79
67
  @request.delete([id.to_s])
80
68
  end
69
+
70
+ # Deletes the projects with the IDs specified in the request from the portal
71
+ # @param ids [Array] List of project IDs
72
+ # @return [Array] Deleted projects
73
+ def delete_projects(ids)
74
+ @request.delete('', { projectids: ids })
75
+ end
81
76
  end
82
77
  end
@@ -11,6 +11,13 @@ module Teamlab
11
11
  @request.put(['report', report_id.to_s], { name: name }.merge(options))
12
12
  end
13
13
 
14
+ # Returns a project report template with the ID specified in the request
15
+ # @param report_id [Symbol, String] Report template ID
16
+ # @return [Hash] Project report template
17
+ def report_template(report_id)
18
+ @request.get(['report', report_id.to_s])
19
+ end
20
+
14
21
  def delete_report_template(report_id)
15
22
  @request.delete(['report', report_id.to_s])
16
23
  end
@@ -7,5 +7,16 @@ module Teamlab
7
7
  def projects_settings
8
8
  @request.get(%w[settings])
9
9
  end
10
+
11
+ # Updates the project settings with the parameters specified in the request
12
+ # @param options [Hash] options to change Projects module settings
13
+ # @option everebodyCanCreate [Boolean] Specifies if all the portal users can create projects or not
14
+ # @option hideEntitiesInPausedProjects [Boolean] Specifies if the entities will be hidden in the paused projects or not
15
+ # @option startModule [String] Module type: Projects, Tasks, Discussions, TimeTracking
16
+ # @option folderId [String] Folder ID
17
+ # @return [Hash] Updated settings
18
+ def update_projects_settings(options = {})
19
+ @request.put(%w[settings], options)
20
+ end
10
21
  end
11
22
  end
@@ -40,6 +40,18 @@ module Teamlab
40
40
  @body['response']
41
41
  end
42
42
 
43
+ # Check if responce is succeed, has nil error and has hash body
44
+ # @param [Symbol] current api method
45
+ # @return [Boolean] result of responce check
46
+ def correct?(command)
47
+ result = @success && @error.nil? && @body.is_a?(Hash)
48
+ raise("Response should be always successful for #{command}") unless @success
49
+ raise("Response should not contain errors for #{command}") unless @error.nil?
50
+ raise("Response should be Hash for #{command}") unless @body.is_a?(Hash)
51
+
52
+ result
53
+ end
54
+
43
55
  private
44
56
 
45
57
  # Sometime in strange situation, like maybe nginx errors
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Teamlab
4
- VERSION = '0.12.0'
4
+ VERSION = '1.0.0'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onlyoffice_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ONLYOFFICE
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2021-07-12 00:00:00.000000000 Z
14
+ date: 2022-02-04 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: httparty
@@ -27,20 +27,6 @@ dependencies:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
29
  version: '0.16'
30
- - !ruby/object:Gem::Dependency
31
- name: codecov
32
- requirement: !ruby/object:Gem::Requirement
33
- requirements:
34
- - - "~>"
35
- - !ruby/object:Gem::Version
36
- version: '0'
37
- type: :development
38
- prerelease: false
39
- version_requirements: !ruby/object:Gem::Requirement
40
- requirements:
41
- - - "~>"
42
- - !ruby/object:Gem::Version
43
- version: '0'
44
30
  - !ruby/object:Gem::Dependency
45
31
  name: faker
46
32
  requirement: !ruby/object:Gem::Requirement
@@ -97,6 +83,20 @@ dependencies:
97
83
  - - "~>"
98
84
  - !ruby/object:Gem::Version
99
85
  version: '3'
86
+ - !ruby/object:Gem::Dependency
87
+ name: rspec-retry
88
+ requirement: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - "~>"
91
+ - !ruby/object:Gem::Version
92
+ version: '0'
93
+ type: :development
94
+ prerelease: false
95
+ version_requirements: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
100
  - !ruby/object:Gem::Dependency
101
101
  name: rubocop
102
102
  requirement: !ruby/object:Gem::Requirement
@@ -153,6 +153,20 @@ dependencies:
153
153
  - - "~>"
154
154
  - !ruby/object:Gem::Version
155
155
  version: '2'
156
+ - !ruby/object:Gem::Dependency
157
+ name: simplecov-cobertura
158
+ requirement: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - "~>"
161
+ - !ruby/object:Gem::Version
162
+ version: '2'
163
+ type: :development
164
+ prerelease: false
165
+ version_requirements: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - "~>"
168
+ - !ruby/object:Gem::Version
169
+ version: '2'
156
170
  - !ruby/object:Gem::Dependency
157
171
  name: yard
158
172
  requirement: !ruby/object:Gem::Requirement
@@ -219,6 +233,7 @@ files:
219
233
  - lib/teamlab/modules/mailserver/mailboxes.rb
220
234
  - lib/teamlab/modules/people.rb
221
235
  - lib/teamlab/modules/people/people_reassign.rb
236
+ - lib/teamlab/modules/people/people_remove.rb
222
237
  - lib/teamlab/modules/portals.rb
223
238
  - lib/teamlab/modules/project.rb
224
239
  - lib/teamlab/modules/projects/projects_comments.rb
@@ -249,6 +264,7 @@ metadata:
249
264
  documentation_uri: https://www.rubydoc.info/gems/onlyoffice_api
250
265
  homepage_uri: https://github.com/ONLYOFFICE/onlyoffice_api_gem
251
266
  source_code_uri: https://github.com/ONLYOFFICE/onlyoffice_api_gem
267
+ rubygems_mfa_required: 'true'
252
268
  post_install_message:
253
269
  rdoc_options: []
254
270
  require_paths:
@@ -264,7 +280,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
264
280
  - !ruby/object:Gem::Version
265
281
  version: '0'
266
282
  requirements: []
267
- rubygems_version: 3.2.21
283
+ rubygems_version: 3.3.4
268
284
  signing_key:
269
285
  specification_version: 4
270
286
  summary: Ruby gem for OnlyOffice. Formerly known as `teamlab`.