onlyoffice_api 0.7 → 0.12.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 +4 -4
- data/lib/onlyoffice_api.rb +6 -0
- data/lib/onlyoffice_api/onlyoffice_api_instance.rb +65 -0
- data/lib/teamlab/config.rb +8 -5
- data/lib/teamlab/modules/calendar.rb +2 -2
- data/lib/teamlab/modules/community.rb +2 -2
- data/lib/teamlab/modules/community/community_bookmarks.rb +1 -1
- data/lib/teamlab/modules/crm.rb +2 -2
- data/lib/teamlab/modules/crm/crm_invoices.rb +1 -3
- data/lib/teamlab/modules/feed.rb +2 -2
- data/lib/teamlab/modules/files.rb +2 -2
- data/lib/teamlab/modules/group.rb +2 -2
- data/lib/teamlab/modules/mail.rb +7 -2
- data/lib/teamlab/modules/mailserver.rb +18 -0
- data/lib/teamlab/modules/mailserver/domains.rb +11 -0
- data/lib/teamlab/modules/mailserver/mailboxes.rb +40 -0
- data/lib/teamlab/modules/people.rb +2 -2
- data/lib/teamlab/modules/portals.rb +2 -2
- data/lib/teamlab/modules/project.rb +2 -2
- data/lib/teamlab/modules/settings.rb +2 -2
- data/lib/teamlab/request.rb +26 -9
- data/lib/teamlab/responce/custom_exceptions.rb +6 -0
- data/lib/teamlab/response.rb +44 -5
- data/lib/teamlab/version.rb +1 -1
- metadata +142 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bdbcfc630b8186f0ce844c741c43a3a80873823d5cd826a4499490c1b07600df
|
4
|
+
data.tar.gz: 51be328e7d6d9a061baf729481d22b498fd84502d4f74d5e898c6820e9cd9516
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: beddc9c36885235acef44a1b2d2306c18c7d57dd91e94a267d219937e3deadcce2462292409f62dab2a220a5c86629651b997eb30fb996d8766b6c406ec5d960
|
7
|
+
data.tar.gz: 944ac964b667783207b6e95541456f1168c2f216f6041e8e97202c4ea99bcde87fa86345878f6b1a654fd4024bbda735900c9f9064b0cc5dcf0e2e1f1505a6e2
|
data/lib/onlyoffice_api.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require_relative 'onlyoffice_api/onlyoffice_api_instance'
|
3
4
|
require_relative 'teamlab/version'
|
4
5
|
require_relative 'teamlab/config'
|
5
6
|
require_relative 'teamlab/request'
|
@@ -14,6 +15,7 @@ require_relative 'teamlab/modules/crm'
|
|
14
15
|
require_relative 'teamlab/modules/community'
|
15
16
|
require_relative 'teamlab/modules/calendar'
|
16
17
|
require_relative 'teamlab/modules/mail'
|
18
|
+
require_relative 'teamlab/modules/mailserver'
|
17
19
|
require_relative 'teamlab/modules/feed'
|
18
20
|
|
19
21
|
module Teamlab
|
@@ -57,6 +59,10 @@ module Teamlab
|
|
57
59
|
@mail ||= Teamlab::Mail.new
|
58
60
|
end
|
59
61
|
|
62
|
+
def self.mailserver
|
63
|
+
@mailserver ||= Teamlab::MailServer.new
|
64
|
+
end
|
65
|
+
|
60
66
|
def self.feed
|
61
67
|
@feed ||= Teamlab::Feed.new
|
62
68
|
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative '../teamlab/config'
|
4
|
+
|
5
|
+
module Teamlab
|
6
|
+
# Class for multiuser instance
|
7
|
+
class OnlyofficeApiInstance
|
8
|
+
def initialize(params = {})
|
9
|
+
@config = Config.new(params)
|
10
|
+
auth_response = Teamlab::Request.new(@config, 'authentication').post('', userName: @config.username, password: @config.password).body
|
11
|
+
raise "Cannot get response token for #{auth_response}" if auth_response['response'].nil? || auth_response['response']['token'].nil?
|
12
|
+
|
13
|
+
@config.token = auth_response['response']['token']
|
14
|
+
@config.headers = { 'authorization' => @config.token }
|
15
|
+
end
|
16
|
+
|
17
|
+
def people
|
18
|
+
@people ||= Teamlab::People.new(@config)
|
19
|
+
end
|
20
|
+
|
21
|
+
def group
|
22
|
+
@group ||= Teamlab::Group.new(@config)
|
23
|
+
end
|
24
|
+
|
25
|
+
def settings
|
26
|
+
@settings ||= Teamlab::Settings.new(@config)
|
27
|
+
end
|
28
|
+
|
29
|
+
def files
|
30
|
+
@files ||= Teamlab::Files.new(@config)
|
31
|
+
end
|
32
|
+
|
33
|
+
def project
|
34
|
+
@project ||= Teamlab::Project.new(@config)
|
35
|
+
end
|
36
|
+
|
37
|
+
def portal
|
38
|
+
@portal ||= Teamlab::Portal.new(@config)
|
39
|
+
end
|
40
|
+
|
41
|
+
def crm
|
42
|
+
@crm ||= Teamlab::Crm.new(@config)
|
43
|
+
end
|
44
|
+
|
45
|
+
def community
|
46
|
+
@community ||= Teamlab::Community.new(@config)
|
47
|
+
end
|
48
|
+
|
49
|
+
def calendar
|
50
|
+
@calendar ||= Teamlab::Calendar.new(@config)
|
51
|
+
end
|
52
|
+
|
53
|
+
def mail
|
54
|
+
@mail ||= Teamlab::Mail.new(@config)
|
55
|
+
end
|
56
|
+
|
57
|
+
def mailserver
|
58
|
+
@mailserver ||= Teamlab::MailServer.new(@config)
|
59
|
+
end
|
60
|
+
|
61
|
+
def feed
|
62
|
+
@feed ||= Teamlab::Feed.new(@config)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
data/lib/teamlab/config.rb
CHANGED
@@ -5,10 +5,10 @@ require_relative 'request'
|
|
5
5
|
module Teamlab
|
6
6
|
attr_reader :config
|
7
7
|
|
8
|
-
def self.configure(&
|
8
|
+
def self.configure(&block)
|
9
9
|
@config ||= Config.new
|
10
|
-
yield @config if
|
11
|
-
auth_response = Teamlab::Request.new('authentication').post('', userName: @config.username, password: @config.password).body
|
10
|
+
yield @config if block
|
11
|
+
auth_response = Teamlab::Request.new(nil, 'authentication').post('', userName: @config.username, password: @config.password).body
|
12
12
|
raise "Cannot get response token for #{auth_response}" if auth_response['response'].nil? || auth_response['response']['token'].nil?
|
13
13
|
|
14
14
|
@config.token = auth_response['response']['token']
|
@@ -24,12 +24,15 @@ module Teamlab
|
|
24
24
|
# @return [Net::HTTP::Proxy] connection proxy
|
25
25
|
attr_accessor :proxy
|
26
26
|
|
27
|
-
def initialize
|
27
|
+
def initialize(params = {})
|
28
28
|
default_configuration
|
29
|
+
@server = params[:server]
|
30
|
+
@username = params[:username]
|
31
|
+
@password = params[:password]
|
29
32
|
end
|
30
33
|
|
31
34
|
def default_configuration
|
32
|
-
@server = 'https://
|
35
|
+
@server = 'https://onlyoffice.com'
|
33
36
|
@api_path = '/api/2.0/'
|
34
37
|
@api_additive = ''
|
35
38
|
@username = 'user'
|
data/lib/teamlab/modules/crm.rb
CHANGED
@@ -62,7 +62,6 @@ module Teamlab
|
|
62
62
|
end
|
63
63
|
|
64
64
|
def update_invoice(id, options = {})
|
65
|
-
options[:id] = id
|
66
65
|
@request.put(['invoice', id.to_s], options)
|
67
66
|
end
|
68
67
|
|
@@ -83,7 +82,6 @@ module Teamlab
|
|
83
82
|
end
|
84
83
|
|
85
84
|
def update_invoice_line(invoice_line_id, invoice_id, options = {})
|
86
|
-
options[:id] = invoice_line_id
|
87
85
|
options[:invoiceId] = invoice_id
|
88
86
|
@request.put(['invoiceline', invoice_line_id], options)
|
89
87
|
end
|
@@ -111,7 +109,7 @@ module Teamlab
|
|
111
109
|
end
|
112
110
|
|
113
111
|
def delete_invoice_line(id)
|
114
|
-
@request.delete(['invoiceline', id.to_s]
|
112
|
+
@request.delete(['invoiceline', id.to_s])
|
115
113
|
end
|
116
114
|
|
117
115
|
# @param invoice_item_id [Integer] id of invoice
|
data/lib/teamlab/modules/feed.rb
CHANGED
data/lib/teamlab/modules/mail.rb
CHANGED
@@ -25,8 +25,13 @@ module Teamlab
|
|
25
25
|
include MailSettings
|
26
26
|
include MailTags
|
27
27
|
|
28
|
-
def initialize
|
29
|
-
@request = Teamlab::Request.new('mail')
|
28
|
+
def initialize(config = nil)
|
29
|
+
@request = Teamlab::Request.new(config, 'mail')
|
30
|
+
end
|
31
|
+
|
32
|
+
# @return [Teamlab::Response] Returns all Mail running operations (only complex)
|
33
|
+
def operations
|
34
|
+
@request.get(%w[operations])
|
30
35
|
end
|
31
36
|
end
|
32
37
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'mailserver/domains'
|
4
|
+
require_relative 'mailserver/mailboxes'
|
5
|
+
|
6
|
+
module Teamlab
|
7
|
+
# API for MailServer api namespace
|
8
|
+
# For example
|
9
|
+
# https://api.onlyoffice.com/portals/section/mailserver/addressdata
|
10
|
+
class MailServer
|
11
|
+
include MailserverDomains
|
12
|
+
include MailserverMailboxes
|
13
|
+
|
14
|
+
def initialize(config = nil)
|
15
|
+
@request = Teamlab::Request.new(config, 'mailserver')
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Teamlab
|
4
|
+
# Methods for working with mailserver domains
|
5
|
+
module MailserverDomains
|
6
|
+
# @return [Hash] Returns list of the web domains associated with tenant
|
7
|
+
def tenant_domain_list
|
8
|
+
@request.get(%w[domains get])
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Teamlab
|
4
|
+
# Methods for working with mailserver mailboxes
|
5
|
+
module MailserverMailboxes
|
6
|
+
# @param name [String] name of mailbox
|
7
|
+
# @param local_part [String] local part of mailbox
|
8
|
+
# @param domain_id [Integer] id of domain
|
9
|
+
# @param user_id [Integer] id of user
|
10
|
+
# @param notify_current [True, False] Send message to creating mailbox's address
|
11
|
+
# @param notify_profile [True, False] Send message to email from user profile
|
12
|
+
# @return [Hash] Add mailbox
|
13
|
+
def add_mailbox(name: nil,
|
14
|
+
local_part: nil,
|
15
|
+
domain_id: nil,
|
16
|
+
user_id: nil,
|
17
|
+
notify_current: true,
|
18
|
+
notify_profile: true)
|
19
|
+
@request.post(%w[mailboxes add],
|
20
|
+
name: name,
|
21
|
+
local_part: local_part,
|
22
|
+
domain_id: domain_id,
|
23
|
+
user_id: user_id,
|
24
|
+
notifyCurrent: notify_current,
|
25
|
+
notifyProfile: notify_profile)
|
26
|
+
end
|
27
|
+
|
28
|
+
# @return [Hash] mailboxes list
|
29
|
+
def mailboxes
|
30
|
+
@request.get(%w[mailboxes get])
|
31
|
+
end
|
32
|
+
|
33
|
+
# Deletes the selected mailbox
|
34
|
+
# @param id [Integer] id of mailbox
|
35
|
+
# @return [Hash] result of mailbox deletion
|
36
|
+
def delete_mailbox(id)
|
37
|
+
@request.delete(['mailboxes', 'remove', id.to_s])
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -5,8 +5,8 @@ module Teamlab
|
|
5
5
|
# @return [String] id of global admin of portal
|
6
6
|
GLOBAL_ADMIN_ID = '00000000-0000-0000-0000-000000000000'
|
7
7
|
|
8
|
-
def initialize
|
9
|
-
@request = Teamlab::Request.new('settings')
|
8
|
+
def initialize(config = nil)
|
9
|
+
@request = Teamlab::Request.new(config, 'settings')
|
10
10
|
end
|
11
11
|
|
12
12
|
def get_settings
|
data/lib/teamlab/request.rb
CHANGED
@@ -9,7 +9,8 @@ module Teamlab
|
|
9
9
|
class Request
|
10
10
|
include HTTParty
|
11
11
|
|
12
|
-
def initialize(api_additive)
|
12
|
+
def initialize(config, api_additive)
|
13
|
+
@config = config
|
13
14
|
@api_additive = api_additive.to_s
|
14
15
|
end
|
15
16
|
|
@@ -49,16 +50,32 @@ module Teamlab
|
|
49
50
|
response
|
50
51
|
end
|
51
52
|
|
53
|
+
def server
|
54
|
+
@config&.server || Teamlab.config.server
|
55
|
+
end
|
56
|
+
|
57
|
+
def api_path
|
58
|
+
@config&.api_path || Teamlab.config.api_path
|
59
|
+
end
|
60
|
+
|
61
|
+
def headers
|
62
|
+
@config&.headers || Teamlab.config.headers
|
63
|
+
end
|
64
|
+
|
65
|
+
def proxy
|
66
|
+
@config&.proxy || Teamlab.config.proxy
|
67
|
+
end
|
68
|
+
|
52
69
|
def generate_request_url(command)
|
53
|
-
|
70
|
+
server + api_path + @api_additive + command
|
54
71
|
end
|
55
72
|
|
56
73
|
def parse_args(args, type)
|
57
|
-
command = args.first.instance_of?(Array) ?
|
74
|
+
command = args.first.instance_of?(Array) ? "/#{args.shift.join('/')}" : args.shift.to_s
|
58
75
|
opts = {}
|
59
76
|
opts[:body] = args.last.instance_of?(Hash) ? args.pop : {}
|
60
77
|
opts[:body].delete_if { |_key, value| value == [] }
|
61
|
-
opts[:headers] =
|
78
|
+
opts[:headers] = headers
|
62
79
|
opts = init_proxy(opts)
|
63
80
|
opts[:query] = opts.delete(:body) if type == :get
|
64
81
|
[command, opts]
|
@@ -67,12 +84,12 @@ module Teamlab
|
|
67
84
|
# @param opts [Hash] options to init
|
68
85
|
# @return [Hash] options
|
69
86
|
def init_proxy(opts)
|
70
|
-
return opts unless
|
87
|
+
return opts unless proxy
|
71
88
|
|
72
|
-
opts[:http_proxyaddr] ||=
|
73
|
-
opts[:http_proxyport] ||=
|
74
|
-
opts[:http_proxyuser] ||=
|
75
|
-
opts[:http_proxypass] ||=
|
89
|
+
opts[:http_proxyaddr] ||= proxy.proxy_address
|
90
|
+
opts[:http_proxyport] ||= proxy.proxy_port
|
91
|
+
opts[:http_proxyuser] ||= proxy.proxy_user
|
92
|
+
opts[:http_proxypass] ||= proxy.proxy_pass
|
76
93
|
opts
|
77
94
|
end
|
78
95
|
end
|
data/lib/teamlab/response.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require_relative 'responce/custom_exceptions'
|
4
|
+
|
3
5
|
module Teamlab
|
4
6
|
class Response
|
5
7
|
attr_reader :body, :error, :code, :success
|
@@ -9,7 +11,7 @@ module Teamlab
|
|
9
11
|
@success = @code < 400
|
10
12
|
err_msg = generate_err_msg(http_response) if @code >= 400
|
11
13
|
if @success
|
12
|
-
|
14
|
+
handle_success_responce(http_response)
|
13
15
|
else
|
14
16
|
raise TimeoutError, 'Portal is warming up' if http_response.parsed_response.include?('portal is being warmed')
|
15
17
|
raise "Error #{@code}\n#{err_msg}" if @code >= 400
|
@@ -21,10 +23,10 @@ module Teamlab
|
|
21
23
|
|
22
24
|
def generate_err_msg(http_response)
|
23
25
|
"API request failed\n\noriginal request:\n"\
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
26
|
+
"#{http_response.request.http_method} #{http_response.request.path}\nbody: "\
|
27
|
+
"#{JSON.pretty_generate(http_response.request.options[:body])}"\
|
28
|
+
"\n\nresponse:\n"\
|
29
|
+
"#{prettify_response(http_response.parsed_response)}"
|
28
30
|
end
|
29
31
|
|
30
32
|
def prettify_response(msg)
|
@@ -37,5 +39,42 @@ module Teamlab
|
|
37
39
|
def data
|
38
40
|
@body['response']
|
39
41
|
end
|
42
|
+
|
43
|
+
private
|
44
|
+
|
45
|
+
# Sometime in strange situation, like maybe nginx errors
|
46
|
+
# API requests return not JSON, but html or other data
|
47
|
+
# @param [Teamlab::Responce] responce to check
|
48
|
+
# @return [Nil] is body responce correct and raise exception in any other situation
|
49
|
+
def check_responce_body(responce)
|
50
|
+
return if stream_data_request?(responce)
|
51
|
+
|
52
|
+
JSON.parse(responce.body)
|
53
|
+
rescue JSON::ParserError => e
|
54
|
+
request_info = "#{responce.request.http_method} #{responce.request.uri}"
|
55
|
+
raise NoJsonInResponce, "Request `#{request_info}` responce body is not a json\n "\
|
56
|
+
"Parsing error: \n#{e}\n"
|
57
|
+
end
|
58
|
+
|
59
|
+
# Handle success responce
|
60
|
+
# @param [Teamlab::Responce] responce to handle
|
61
|
+
# @return [nil] if everything is fine or exception
|
62
|
+
def handle_success_responce(responce)
|
63
|
+
check_responce_body(responce)
|
64
|
+
@body = responce.to_hash
|
65
|
+
end
|
66
|
+
|
67
|
+
# Check if request for stream data
|
68
|
+
# Those request has no body, but data stream in responce
|
69
|
+
# @param [Teamlab::Responce] responce to check
|
70
|
+
# @return [Boolean] result of check
|
71
|
+
def stream_data_request?(responce)
|
72
|
+
calendar_ical_request_regexp = %r{.*/calendar/\d*/ical/\S*}
|
73
|
+
uri = responce.request.uri.to_s
|
74
|
+
|
75
|
+
return true if calendar_ical_request_regexp.match?(uri)
|
76
|
+
|
77
|
+
false
|
78
|
+
end
|
40
79
|
end
|
41
80
|
end
|
data/lib/teamlab/version.rb
CHANGED
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:
|
4
|
+
version: 0.12.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:
|
14
|
+
date: 2021-07-12 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: httparty
|
@@ -27,20 +27,146 @@ 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
|
+
- !ruby/object:Gem::Dependency
|
45
|
+
name: faker
|
46
|
+
requirement: !ruby/object:Gem::Requirement
|
47
|
+
requirements:
|
48
|
+
- - "~>"
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: '2'
|
51
|
+
type: :development
|
52
|
+
prerelease: false
|
53
|
+
version_requirements: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - "~>"
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '2'
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: overcommit
|
60
|
+
requirement: !ruby/object:Gem::Requirement
|
61
|
+
requirements:
|
62
|
+
- - "~>"
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: '0'
|
65
|
+
type: :development
|
66
|
+
prerelease: false
|
67
|
+
version_requirements: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - "~>"
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '0'
|
30
72
|
- !ruby/object:Gem::Dependency
|
31
73
|
name: rake
|
32
74
|
requirement: !ruby/object:Gem::Requirement
|
33
75
|
requirements:
|
34
76
|
- - "~>"
|
35
77
|
- !ruby/object:Gem::Version
|
36
|
-
version: '13
|
78
|
+
version: '13'
|
79
|
+
type: :development
|
80
|
+
prerelease: false
|
81
|
+
version_requirements: !ruby/object:Gem::Requirement
|
82
|
+
requirements:
|
83
|
+
- - "~>"
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '13'
|
86
|
+
- !ruby/object:Gem::Dependency
|
87
|
+
name: rspec
|
88
|
+
requirement: !ruby/object:Gem::Requirement
|
89
|
+
requirements:
|
90
|
+
- - "~>"
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: '3'
|
93
|
+
type: :development
|
94
|
+
prerelease: false
|
95
|
+
version_requirements: !ruby/object:Gem::Requirement
|
96
|
+
requirements:
|
97
|
+
- - "~>"
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: '3'
|
100
|
+
- !ruby/object:Gem::Dependency
|
101
|
+
name: rubocop
|
102
|
+
requirement: !ruby/object:Gem::Requirement
|
103
|
+
requirements:
|
104
|
+
- - ">="
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: 0.49.0
|
107
|
+
type: :development
|
108
|
+
prerelease: false
|
109
|
+
version_requirements: !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
111
|
+
- - ">="
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: 0.49.0
|
114
|
+
- !ruby/object:Gem::Dependency
|
115
|
+
name: rubocop-performance
|
116
|
+
requirement: !ruby/object:Gem::Requirement
|
117
|
+
requirements:
|
118
|
+
- - "~>"
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: '1'
|
121
|
+
type: :development
|
122
|
+
prerelease: false
|
123
|
+
version_requirements: !ruby/object:Gem::Requirement
|
124
|
+
requirements:
|
125
|
+
- - "~>"
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: '1'
|
128
|
+
- !ruby/object:Gem::Dependency
|
129
|
+
name: rubocop-rake
|
130
|
+
requirement: !ruby/object:Gem::Requirement
|
131
|
+
requirements:
|
132
|
+
- - "~>"
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: '0'
|
135
|
+
type: :development
|
136
|
+
prerelease: false
|
137
|
+
version_requirements: !ruby/object:Gem::Requirement
|
138
|
+
requirements:
|
139
|
+
- - "~>"
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
142
|
+
- !ruby/object:Gem::Dependency
|
143
|
+
name: rubocop-rspec
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
145
|
+
requirements:
|
146
|
+
- - "~>"
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
version: '2'
|
37
149
|
type: :development
|
38
150
|
prerelease: false
|
39
151
|
version_requirements: !ruby/object:Gem::Requirement
|
40
152
|
requirements:
|
41
153
|
- - "~>"
|
42
154
|
- !ruby/object:Gem::Version
|
43
|
-
version: '
|
155
|
+
version: '2'
|
156
|
+
- !ruby/object:Gem::Dependency
|
157
|
+
name: yard
|
158
|
+
requirement: !ruby/object:Gem::Requirement
|
159
|
+
requirements:
|
160
|
+
- - ">="
|
161
|
+
- !ruby/object:Gem::Version
|
162
|
+
version: 0.9.20
|
163
|
+
type: :development
|
164
|
+
prerelease: false
|
165
|
+
version_requirements: !ruby/object:Gem::Requirement
|
166
|
+
requirements:
|
167
|
+
- - ">="
|
168
|
+
- !ruby/object:Gem::Version
|
169
|
+
version: 0.9.20
|
44
170
|
description: Ruby Framework to interact with OnlyOffice API 2.0
|
45
171
|
email:
|
46
172
|
- rzagudaev@gmail.com
|
@@ -51,6 +177,7 @@ extensions: []
|
|
51
177
|
extra_rdoc_files: []
|
52
178
|
files:
|
53
179
|
- lib/onlyoffice_api.rb
|
180
|
+
- lib/onlyoffice_api/onlyoffice_api_instance.rb
|
54
181
|
- lib/teamlab/config.rb
|
55
182
|
- lib/teamlab/modules/calendar.rb
|
56
183
|
- lib/teamlab/modules/community.rb
|
@@ -87,6 +214,9 @@ files:
|
|
87
214
|
- lib/teamlab/modules/mail/mail_settings.rb
|
88
215
|
- lib/teamlab/modules/mail/mail_signature.rb
|
89
216
|
- lib/teamlab/modules/mail/mail_tags.rb
|
217
|
+
- lib/teamlab/modules/mailserver.rb
|
218
|
+
- lib/teamlab/modules/mailserver/domains.rb
|
219
|
+
- lib/teamlab/modules/mailserver/mailboxes.rb
|
90
220
|
- lib/teamlab/modules/people.rb
|
91
221
|
- lib/teamlab/modules/people/people_reassign.rb
|
92
222
|
- lib/teamlab/modules/portals.rb
|
@@ -107,17 +237,18 @@ files:
|
|
107
237
|
- lib/teamlab/modules/settings.rb
|
108
238
|
- lib/teamlab/name.rb
|
109
239
|
- lib/teamlab/request.rb
|
240
|
+
- lib/teamlab/responce/custom_exceptions.rb
|
110
241
|
- lib/teamlab/response.rb
|
111
242
|
- lib/teamlab/version.rb
|
112
|
-
homepage: https://github.com/ONLYOFFICE/
|
243
|
+
homepage: https://github.com/ONLYOFFICE/onlyoffice_api_gem
|
113
244
|
licenses:
|
114
245
|
- AGPL-3.0
|
115
246
|
metadata:
|
116
|
-
bug_tracker_uri: https://github.com/ONLYOFFICE/
|
117
|
-
changelog_uri: https://github.com/ONLYOFFICE/
|
247
|
+
bug_tracker_uri: https://github.com/ONLYOFFICE/onlyoffice_api_gem/issues
|
248
|
+
changelog_uri: https://github.com/ONLYOFFICE/onlyoffice_api_gem/blob/master/CHANGELOG.md
|
118
249
|
documentation_uri: https://www.rubydoc.info/gems/onlyoffice_api
|
119
|
-
homepage_uri: https://github.com/ONLYOFFICE/
|
120
|
-
source_code_uri: https://github.com/ONLYOFFICE/
|
250
|
+
homepage_uri: https://github.com/ONLYOFFICE/onlyoffice_api_gem
|
251
|
+
source_code_uri: https://github.com/ONLYOFFICE/onlyoffice_api_gem
|
121
252
|
post_install_message:
|
122
253
|
rdoc_options: []
|
123
254
|
require_paths:
|
@@ -126,14 +257,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
126
257
|
requirements:
|
127
258
|
- - ">="
|
128
259
|
- !ruby/object:Gem::Version
|
129
|
-
version: '
|
260
|
+
version: '2.5'
|
130
261
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
131
262
|
requirements:
|
132
263
|
- - ">="
|
133
264
|
- !ruby/object:Gem::Version
|
134
265
|
version: '0'
|
135
266
|
requirements: []
|
136
|
-
rubygems_version: 3.
|
267
|
+
rubygems_version: 3.2.21
|
137
268
|
signing_key:
|
138
269
|
specification_version: 4
|
139
270
|
summary: Ruby gem for OnlyOffice. Formerly known as `teamlab`.
|