onlyoffice_iredmail_helper 0.2.1 → 0.3.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_iredmail_helper/delete_methods.rb +27 -0
- data/lib/onlyoffice_iredmail_helper/login_methods.rb +26 -0
- data/lib/onlyoffice_iredmail_helper/move_message_methods.rb +34 -0
- data/lib/onlyoffice_iredmail_helper/read_defaults_methods.rb +32 -0
- data/lib/onlyoffice_iredmail_helper/send_message_methods.rb +33 -0
- data/lib/onlyoffice_iredmail_helper/version.rb +1 -1
- data/lib/onlyoffice_iredmail_helper.rb +19 -121
- metadata +52 -54
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: aee7216a8ce608e7e08e4b625f0257abe4390bdf25587be65ec8c37a88d42911
|
|
4
|
+
data.tar.gz: e0aa9ec14113d81cdab2c1f879d59b9c4ff2b8d637ea2363684d93b79ae365df
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 776d866b181e61ce9e1254096766f6578b9617a2fbd9f4f6c155de41bb9acf99f034330789109daf4ae21cf9c2dcb5ee425a070de6463f8977c6db38d3d5707e
|
|
7
|
+
data.tar.gz: 10eb89d22588e0275d83a7aeb1ee48600ffa9699817239a3396b16c25d22483a5d75636dc0bd34761de3196cc6e0a7488f54a9a0403d37b7777b560cf072ba4a
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OnlyofficeIredmailHelper
|
|
4
|
+
# Methods to delete messages
|
|
5
|
+
module DeleteMethods
|
|
6
|
+
# Delete all messages in inbox
|
|
7
|
+
# @return [nil]
|
|
8
|
+
def delete_all_messages
|
|
9
|
+
login
|
|
10
|
+
@imap.select('INBOX')
|
|
11
|
+
@imap.store(@imap.search(['ALL']), '+FLAGS', [:Deleted]) unless @imap.search(['ALL']).empty?
|
|
12
|
+
OnlyofficeLoggerHelper.log('Delete all messages')
|
|
13
|
+
close
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Delete email by subject
|
|
17
|
+
# @param subject [String] email title
|
|
18
|
+
# @return [nil]
|
|
19
|
+
def delete_email_by_subject(subject)
|
|
20
|
+
login
|
|
21
|
+
@imap.select('INBOX')
|
|
22
|
+
id_emails = @imap.search(['SUBJECT', subject.dup.force_encoding('ascii-8bit')])
|
|
23
|
+
@imap.store(id_emails, '+FLAGS', [:Deleted]) unless id_emails.empty?
|
|
24
|
+
close
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OnlyofficeIredmailHelper
|
|
4
|
+
# Methods to login and logout
|
|
5
|
+
module LoginMethods
|
|
6
|
+
# Login to email via IMAP
|
|
7
|
+
# @return [nil]
|
|
8
|
+
def login
|
|
9
|
+
return if @imap
|
|
10
|
+
|
|
11
|
+
@imap = Net::IMAP.new(@domainname)
|
|
12
|
+
@imap.authenticate('LOGIN', @username, @password)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
private
|
|
16
|
+
|
|
17
|
+
# Correct close of mail account
|
|
18
|
+
# @return [Void]
|
|
19
|
+
def close
|
|
20
|
+
@imap.close
|
|
21
|
+
@imap.logout
|
|
22
|
+
@imap.disconnect
|
|
23
|
+
@imap = nil
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OnlyofficeIredmailHelper
|
|
4
|
+
# Methods to move message
|
|
5
|
+
module MoveMessageMethods
|
|
6
|
+
private
|
|
7
|
+
|
|
8
|
+
# Move out message to `checked` directory
|
|
9
|
+
# @param message_id [String] id of message
|
|
10
|
+
# @return [Void]
|
|
11
|
+
def move_out_message(message_id)
|
|
12
|
+
create_mailbox(@mailbox_for_archive) unless mailboxes.include?(@mailbox_for_archive)
|
|
13
|
+
|
|
14
|
+
login
|
|
15
|
+
@imap.select('INBOX')
|
|
16
|
+
@imap.copy(message_id, @mailbox_for_archive)
|
|
17
|
+
@imap.store(message_id, '+FLAGS', [:Deleted])
|
|
18
|
+
@imap.expunge
|
|
19
|
+
close
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# Should message be moved out or marked as seen
|
|
23
|
+
# @param [String] message_id message to handle
|
|
24
|
+
# @param [Boolean] move_out should it be moved
|
|
25
|
+
# @return [Void]
|
|
26
|
+
def move_out_or_mark_seen(message_id, move_out)
|
|
27
|
+
if move_out
|
|
28
|
+
move_out_message(message_id)
|
|
29
|
+
else
|
|
30
|
+
mark_message_as_seen(message_id)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OnlyofficeIredmailHelper
|
|
4
|
+
# Methods to read default values
|
|
5
|
+
module ReadDefaultsMethods
|
|
6
|
+
private
|
|
7
|
+
|
|
8
|
+
# Get S3 key and S3 private key
|
|
9
|
+
# @return [Array <String>] list of keys
|
|
10
|
+
def read_defaults
|
|
11
|
+
return if read_env_defaults
|
|
12
|
+
|
|
13
|
+
yaml = YAML.load_file("#{Dir.home}/.gem-onlyoffice_iredmail_helper/config.yml")
|
|
14
|
+
@default_domain = yaml['domain']
|
|
15
|
+
@default_user = yaml['user']
|
|
16
|
+
@default_password = yaml['password'].to_s
|
|
17
|
+
@default_subject = yaml['subject']
|
|
18
|
+
rescue Errno::ENOENT
|
|
19
|
+
raise Errno::ENOENT, 'No config found. Please create ~/.gem-onlyoffice_iredmail_helper/config.yml'
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# Read keys from env variables
|
|
23
|
+
def read_env_defaults
|
|
24
|
+
return false unless ENV['IREDMAIL_PASSWORD']
|
|
25
|
+
|
|
26
|
+
@default_domain = ENV['IREDMAIL_DOMAIN']
|
|
27
|
+
@default_user = ENV['IREDMAIL_USER']
|
|
28
|
+
@default_password = ENV['IREDMAIL_PASSWORD'].to_s
|
|
29
|
+
@default_subject = ENV['IREDMAIL_SUBJECT']
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OnlyofficeIredmailHelper
|
|
4
|
+
# Methods to send message
|
|
5
|
+
module SendMessageMethods
|
|
6
|
+
# Form a email string
|
|
7
|
+
# @param msg_data [Hash] params
|
|
8
|
+
# @return [String] formed mail message
|
|
9
|
+
def create_msg(msg_data = {})
|
|
10
|
+
<<~END_OF_MESSAGE
|
|
11
|
+
From: #{@username}
|
|
12
|
+
To: #{msg_data[:mailto]}
|
|
13
|
+
Subject: #{msg_data[:subject]}
|
|
14
|
+
Date: #{Time.now.rfc2822}
|
|
15
|
+
Message-Id: "#{Digest::SHA2.hexdigest(Time.now.to_i.to_s)}@#{@username.split('@').last}"
|
|
16
|
+
|
|
17
|
+
#{msg_data[:body]}
|
|
18
|
+
END_OF_MESSAGE
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# Send mail
|
|
22
|
+
# @param options [Hash] hash with params
|
|
23
|
+
# @return [nil]
|
|
24
|
+
def send_mail(options = {})
|
|
25
|
+
options[:subject] ||= @default_subject
|
|
26
|
+
options[:body] ||= @default_body
|
|
27
|
+
options[:mailto] ||= @default_user
|
|
28
|
+
smtp = Net::SMTP.start(@domainname, 25, @username, @username, @password, :login)
|
|
29
|
+
smtp.send_message create_msg(options), @username, options[:mailto]
|
|
30
|
+
smtp.finish
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -7,18 +7,28 @@ require 'net/smtp'
|
|
|
7
7
|
require 'onlyoffice_logger_helper'
|
|
8
8
|
require 'time'
|
|
9
9
|
require 'yaml'
|
|
10
|
+
require_relative 'onlyoffice_iredmail_helper/delete_methods'
|
|
11
|
+
require_relative 'onlyoffice_iredmail_helper/login_methods'
|
|
10
12
|
require_relative 'onlyoffice_iredmail_helper/mailboxes_methods'
|
|
11
13
|
require_relative 'onlyoffice_iredmail_helper/mail_getters'
|
|
12
14
|
require_relative 'onlyoffice_iredmail_helper/message_methods'
|
|
15
|
+
require_relative 'onlyoffice_iredmail_helper/move_message_methods'
|
|
16
|
+
require_relative 'onlyoffice_iredmail_helper/read_defaults_methods'
|
|
17
|
+
require_relative 'onlyoffice_iredmail_helper/send_message_methods'
|
|
13
18
|
require_relative 'onlyoffice_iredmail_helper/version'
|
|
14
19
|
|
|
15
20
|
# Namespace of Gem
|
|
16
21
|
module OnlyofficeIredmailHelper
|
|
17
22
|
# Class for working with mail
|
|
18
23
|
class IredMailHelper
|
|
24
|
+
include DeleteMethods
|
|
25
|
+
include LoginMethods
|
|
19
26
|
include MailboxesMethods
|
|
20
27
|
include MailGetters
|
|
21
28
|
include MessageMethods
|
|
29
|
+
include MoveMessageMethods
|
|
30
|
+
include ReadDefaultsMethods
|
|
31
|
+
include SendMessageMethods
|
|
22
32
|
attr_reader :username
|
|
23
33
|
|
|
24
34
|
def initialize(options = {})
|
|
@@ -34,65 +44,8 @@ module OnlyofficeIredmailHelper
|
|
|
34
44
|
# @return [String] inspect info
|
|
35
45
|
def inspect
|
|
36
46
|
"IredMailHelper domain: #{@domainname}, " \
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
# Login to email via IMAP
|
|
42
|
-
# @return [nil]
|
|
43
|
-
def login
|
|
44
|
-
return if @imap
|
|
45
|
-
|
|
46
|
-
@imap = Net::IMAP.new(@domainname)
|
|
47
|
-
@imap.authenticate('LOGIN', @username, @password)
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
# Form a email string
|
|
51
|
-
# @param msg_data [Hash] params
|
|
52
|
-
# @return [String] formed mail message
|
|
53
|
-
def create_msg(msg_data = {})
|
|
54
|
-
<<~END_OF_MESSAGE
|
|
55
|
-
From: #{@username}
|
|
56
|
-
To: #{msg_data[:mailto]}
|
|
57
|
-
Subject: #{msg_data[:subject]}
|
|
58
|
-
Date: #{Time.now.rfc2822}
|
|
59
|
-
Message-Id: "#{Digest::SHA2.hexdigest(Time.now.to_i.to_s)}@#{@username.split('@').last}"
|
|
60
|
-
|
|
61
|
-
#{msg_data[:body]}
|
|
62
|
-
END_OF_MESSAGE
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
# Send mail
|
|
66
|
-
# @param options [Hash] hash with params
|
|
67
|
-
# @return [nil]
|
|
68
|
-
def send_mail(options = {})
|
|
69
|
-
options[:subject] ||= @default_subject
|
|
70
|
-
options[:body] ||= @default_body
|
|
71
|
-
options[:mailto] ||= @default_user
|
|
72
|
-
smtp = Net::SMTP.start(@domainname, 25, @username, @username, @password, :login)
|
|
73
|
-
smtp.send_message create_msg(options), @username, options[:mailto]
|
|
74
|
-
smtp.finish
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
# Delete all messages in inbox
|
|
78
|
-
# @return [nil]
|
|
79
|
-
def delete_all_messages
|
|
80
|
-
login
|
|
81
|
-
@imap.select('INBOX')
|
|
82
|
-
@imap.store(@imap.search(['ALL']), '+FLAGS', [:Deleted]) unless @imap.search(['ALL']).empty?
|
|
83
|
-
OnlyofficeLoggerHelper.log('Delete all messages')
|
|
84
|
-
close
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
# Delete email by subject
|
|
88
|
-
# @param subject [String] email title
|
|
89
|
-
# @return [nil]
|
|
90
|
-
def delete_email_by_subject(subject)
|
|
91
|
-
login
|
|
92
|
-
@imap.select('INBOX')
|
|
93
|
-
id_emails = @imap.search(['SUBJECT', subject.dup.force_encoding('ascii-8bit')])
|
|
94
|
-
@imap.store(id_emails, '+FLAGS', [:Deleted]) unless id_emails.empty?
|
|
95
|
-
close
|
|
47
|
+
"user: #{@username}, " \
|
|
48
|
+
"subject: #{@subject}"
|
|
96
49
|
end
|
|
97
50
|
|
|
98
51
|
# Get email
|
|
@@ -110,11 +63,7 @@ module OnlyofficeIredmailHelper
|
|
|
110
63
|
mail_subject_to_be_found = options[:subject].to_s.upcase
|
|
111
64
|
next unless mail_subject_found.include? mail_subject_to_be_found
|
|
112
65
|
|
|
113
|
-
|
|
114
|
-
move_out_message(message_id)
|
|
115
|
-
else
|
|
116
|
-
mark_message_as_seen(message_id)
|
|
117
|
-
end
|
|
66
|
+
move_out_or_mark_seen(message_id, options[:move_out])
|
|
118
67
|
return mail
|
|
119
68
|
end
|
|
120
69
|
end
|
|
@@ -135,11 +84,7 @@ module OnlyofficeIredmailHelper
|
|
|
135
84
|
string_to_be_found = options[:subject].to_s.upcase.gsub(/\s+/, ' ')
|
|
136
85
|
next unless string_found.include? string_to_be_found
|
|
137
86
|
|
|
138
|
-
|
|
139
|
-
move_out_message(message_id)
|
|
140
|
-
else
|
|
141
|
-
mark_message_as_seen(message_id)
|
|
142
|
-
end
|
|
87
|
+
move_out_or_mark_seen(message_id, move_out)
|
|
143
88
|
return true
|
|
144
89
|
end
|
|
145
90
|
end
|
|
@@ -162,11 +107,7 @@ module OnlyofficeIredmailHelper
|
|
|
162
107
|
string_to_be_found = options[:subject].to_s.upcase.gsub(/\s+/, ' ')
|
|
163
108
|
next unless string_found.include? string_to_be_found
|
|
164
109
|
|
|
165
|
-
|
|
166
|
-
move_out_message(message_id)
|
|
167
|
-
else
|
|
168
|
-
mark_message_as_seen(message_id)
|
|
169
|
-
end
|
|
110
|
+
move_out_or_mark_seen(message_id, move_out)
|
|
170
111
|
return mail
|
|
171
112
|
end
|
|
172
113
|
end
|
|
@@ -175,35 +116,16 @@ module OnlyofficeIredmailHelper
|
|
|
175
116
|
|
|
176
117
|
private
|
|
177
118
|
|
|
178
|
-
# Correct close of mail account
|
|
179
|
-
# @return [Void]
|
|
180
|
-
def close
|
|
181
|
-
@imap.close
|
|
182
|
-
@imap.logout
|
|
183
|
-
@imap.disconnect
|
|
184
|
-
@imap = nil
|
|
185
|
-
end
|
|
186
|
-
|
|
187
|
-
# Move out message to `checked` directory
|
|
188
|
-
# @param message_id [String] id of message
|
|
189
|
-
# @return [Void]
|
|
190
|
-
def move_out_message(message_id)
|
|
191
|
-
create_mailbox(@mailbox_for_archive) unless mailboxes.include?(@mailbox_for_archive)
|
|
192
|
-
|
|
193
|
-
login
|
|
194
|
-
@imap.select('INBOX')
|
|
195
|
-
@imap.copy(message_id, @mailbox_for_archive)
|
|
196
|
-
@imap.store(message_id, '+FLAGS', [:Deleted])
|
|
197
|
-
@imap.expunge
|
|
198
|
-
close
|
|
199
|
-
end
|
|
200
|
-
|
|
201
119
|
# Get email list via search or all unseen
|
|
202
120
|
# @param options [Hash] options to search
|
|
121
|
+
# @option options [String] :search call search by this string
|
|
122
|
+
# @option options [Boolean] :include_read should messages marked as read included
|
|
203
123
|
# @return [Array<Mail>] list of mails
|
|
204
124
|
def get_emails_search_or_new(options)
|
|
205
125
|
if options[:search]
|
|
206
126
|
@imap.search([(options[:search_type] || 'BODY').to_s.upcase, options[:search]])
|
|
127
|
+
elsif options[:include_read]
|
|
128
|
+
@imap.search(['ALL'])
|
|
207
129
|
else
|
|
208
130
|
@imap.search(['UNSEEN'])
|
|
209
131
|
end
|
|
@@ -224,29 +146,5 @@ module OnlyofficeIredmailHelper
|
|
|
224
146
|
mark_message_as_seen(message_id, close_connection: false) unless search
|
|
225
147
|
{ subject: subject, body: body, html_body: html_body }
|
|
226
148
|
end
|
|
227
|
-
|
|
228
|
-
# Get S3 key and S3 private key
|
|
229
|
-
# @return [Array <String>] list of keys
|
|
230
|
-
def read_defaults
|
|
231
|
-
return if read_env_defaults
|
|
232
|
-
|
|
233
|
-
yaml = YAML.load_file("#{Dir.home}/.gem-onlyoffice_iredmail_helper/config.yml")
|
|
234
|
-
@default_domain = yaml['domain']
|
|
235
|
-
@default_user = yaml['user']
|
|
236
|
-
@default_password = yaml['password'].to_s
|
|
237
|
-
@default_subject = yaml['subject']
|
|
238
|
-
rescue Errno::ENOENT
|
|
239
|
-
raise Errno::ENOENT, 'No config found. Please create ~/.gem-onlyoffice_iredmail_helper/config.yml'
|
|
240
|
-
end
|
|
241
|
-
|
|
242
|
-
# Read keys from env variables
|
|
243
|
-
def read_env_defaults
|
|
244
|
-
return false unless ENV['IREDMAIL_PASSWORD']
|
|
245
|
-
|
|
246
|
-
@default_domain = ENV['IREDMAIL_DOMAIN']
|
|
247
|
-
@default_user = ENV['IREDMAIL_USER']
|
|
248
|
-
@default_password = ENV['IREDMAIL_PASSWORD'].to_s
|
|
249
|
-
@default_subject = ENV['IREDMAIL_SUBJECT']
|
|
250
|
-
end
|
|
251
149
|
end
|
|
252
150
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: onlyoffice_iredmail_helper
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- ONLYOFFICE
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2021-11-27 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: mail
|
|
@@ -39,146 +39,138 @@ dependencies:
|
|
|
39
39
|
- - "~>"
|
|
40
40
|
- !ruby/object:Gem::Version
|
|
41
41
|
version: '1'
|
|
42
|
-
- !ruby/object:Gem::Dependency
|
|
43
|
-
name: codecov
|
|
44
|
-
requirement: !ruby/object:Gem::Requirement
|
|
45
|
-
requirements:
|
|
46
|
-
- - '='
|
|
47
|
-
- !ruby/object:Gem::Version
|
|
48
|
-
version: 0.2.11
|
|
49
|
-
type: :development
|
|
50
|
-
prerelease: false
|
|
51
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
52
|
-
requirements:
|
|
53
|
-
- - '='
|
|
54
|
-
- !ruby/object:Gem::Version
|
|
55
|
-
version: 0.2.11
|
|
56
42
|
- !ruby/object:Gem::Dependency
|
|
57
43
|
name: overcommit
|
|
58
44
|
requirement: !ruby/object:Gem::Requirement
|
|
59
45
|
requirements:
|
|
60
|
-
- -
|
|
46
|
+
- - "~>"
|
|
61
47
|
- !ruby/object:Gem::Version
|
|
62
|
-
version: 0
|
|
48
|
+
version: '0'
|
|
63
49
|
type: :development
|
|
64
50
|
prerelease: false
|
|
65
51
|
version_requirements: !ruby/object:Gem::Requirement
|
|
66
52
|
requirements:
|
|
67
|
-
- -
|
|
53
|
+
- - "~>"
|
|
68
54
|
- !ruby/object:Gem::Version
|
|
69
|
-
version: 0
|
|
55
|
+
version: '0'
|
|
70
56
|
- !ruby/object:Gem::Dependency
|
|
71
57
|
name: rake
|
|
72
58
|
requirement: !ruby/object:Gem::Requirement
|
|
73
59
|
requirements:
|
|
74
|
-
- -
|
|
60
|
+
- - "~>"
|
|
75
61
|
- !ruby/object:Gem::Version
|
|
76
|
-
version: 13
|
|
62
|
+
version: '13'
|
|
77
63
|
type: :development
|
|
78
64
|
prerelease: false
|
|
79
65
|
version_requirements: !ruby/object:Gem::Requirement
|
|
80
66
|
requirements:
|
|
81
|
-
- -
|
|
67
|
+
- - "~>"
|
|
82
68
|
- !ruby/object:Gem::Version
|
|
83
|
-
version: 13
|
|
69
|
+
version: '13'
|
|
84
70
|
- !ruby/object:Gem::Dependency
|
|
85
71
|
name: rspec
|
|
86
72
|
requirement: !ruby/object:Gem::Requirement
|
|
87
73
|
requirements:
|
|
88
|
-
- -
|
|
74
|
+
- - "~>"
|
|
89
75
|
- !ruby/object:Gem::Version
|
|
90
|
-
version: 3
|
|
76
|
+
version: '3'
|
|
91
77
|
type: :development
|
|
92
78
|
prerelease: false
|
|
93
79
|
version_requirements: !ruby/object:Gem::Requirement
|
|
94
80
|
requirements:
|
|
95
|
-
- -
|
|
81
|
+
- - "~>"
|
|
96
82
|
- !ruby/object:Gem::Version
|
|
97
|
-
version: 3
|
|
83
|
+
version: '3'
|
|
98
84
|
- !ruby/object:Gem::Dependency
|
|
99
85
|
name: rubocop
|
|
100
86
|
requirement: !ruby/object:Gem::Requirement
|
|
101
87
|
requirements:
|
|
102
|
-
- -
|
|
88
|
+
- - "~>"
|
|
103
89
|
- !ruby/object:Gem::Version
|
|
104
|
-
version:
|
|
90
|
+
version: '1'
|
|
105
91
|
type: :development
|
|
106
92
|
prerelease: false
|
|
107
93
|
version_requirements: !ruby/object:Gem::Requirement
|
|
108
94
|
requirements:
|
|
109
|
-
- -
|
|
95
|
+
- - "~>"
|
|
110
96
|
- !ruby/object:Gem::Version
|
|
111
|
-
version:
|
|
97
|
+
version: '1'
|
|
112
98
|
- !ruby/object:Gem::Dependency
|
|
113
99
|
name: rubocop-performance
|
|
114
100
|
requirement: !ruby/object:Gem::Requirement
|
|
115
101
|
requirements:
|
|
116
|
-
- -
|
|
102
|
+
- - "~>"
|
|
117
103
|
- !ruby/object:Gem::Version
|
|
118
|
-
version: 1
|
|
104
|
+
version: '1'
|
|
119
105
|
type: :development
|
|
120
106
|
prerelease: false
|
|
121
107
|
version_requirements: !ruby/object:Gem::Requirement
|
|
122
108
|
requirements:
|
|
123
|
-
- -
|
|
109
|
+
- - "~>"
|
|
124
110
|
- !ruby/object:Gem::Version
|
|
125
|
-
version: 1
|
|
111
|
+
version: '1'
|
|
126
112
|
- !ruby/object:Gem::Dependency
|
|
127
113
|
name: rubocop-rake
|
|
128
114
|
requirement: !ruby/object:Gem::Requirement
|
|
129
115
|
requirements:
|
|
130
|
-
- -
|
|
116
|
+
- - "~>"
|
|
131
117
|
- !ruby/object:Gem::Version
|
|
132
|
-
version: 0
|
|
118
|
+
version: '0'
|
|
133
119
|
type: :development
|
|
134
120
|
prerelease: false
|
|
135
121
|
version_requirements: !ruby/object:Gem::Requirement
|
|
136
122
|
requirements:
|
|
137
|
-
- -
|
|
123
|
+
- - "~>"
|
|
138
124
|
- !ruby/object:Gem::Version
|
|
139
|
-
version: 0
|
|
125
|
+
version: '0'
|
|
140
126
|
- !ruby/object:Gem::Dependency
|
|
141
127
|
name: rubocop-rspec
|
|
142
128
|
requirement: !ruby/object:Gem::Requirement
|
|
143
129
|
requirements:
|
|
144
|
-
- -
|
|
130
|
+
- - "~>"
|
|
145
131
|
- !ruby/object:Gem::Version
|
|
146
|
-
version:
|
|
132
|
+
version: '2'
|
|
147
133
|
type: :development
|
|
148
134
|
prerelease: false
|
|
149
135
|
version_requirements: !ruby/object:Gem::Requirement
|
|
150
136
|
requirements:
|
|
151
|
-
- -
|
|
137
|
+
- - "~>"
|
|
152
138
|
- !ruby/object:Gem::Version
|
|
153
|
-
version:
|
|
139
|
+
version: '2'
|
|
154
140
|
- !ruby/object:Gem::Dependency
|
|
155
|
-
name: simplecov
|
|
141
|
+
name: simplecov-cobertura
|
|
156
142
|
requirement: !ruby/object:Gem::Requirement
|
|
157
143
|
requirements:
|
|
158
|
-
- -
|
|
144
|
+
- - "~>"
|
|
159
145
|
- !ruby/object:Gem::Version
|
|
160
|
-
version:
|
|
146
|
+
version: '2'
|
|
161
147
|
type: :development
|
|
162
148
|
prerelease: false
|
|
163
149
|
version_requirements: !ruby/object:Gem::Requirement
|
|
164
150
|
requirements:
|
|
165
|
-
- -
|
|
151
|
+
- - "~>"
|
|
166
152
|
- !ruby/object:Gem::Version
|
|
167
|
-
version:
|
|
153
|
+
version: '2'
|
|
168
154
|
- !ruby/object:Gem::Dependency
|
|
169
155
|
name: yard
|
|
170
156
|
requirement: !ruby/object:Gem::Requirement
|
|
171
157
|
requirements:
|
|
172
|
-
- -
|
|
158
|
+
- - "~>"
|
|
159
|
+
- !ruby/object:Gem::Version
|
|
160
|
+
version: '0'
|
|
161
|
+
- - ">="
|
|
173
162
|
- !ruby/object:Gem::Version
|
|
174
|
-
version: 0.9.
|
|
163
|
+
version: 0.9.20
|
|
175
164
|
type: :development
|
|
176
165
|
prerelease: false
|
|
177
166
|
version_requirements: !ruby/object:Gem::Requirement
|
|
178
167
|
requirements:
|
|
179
|
-
- -
|
|
168
|
+
- - "~>"
|
|
169
|
+
- !ruby/object:Gem::Version
|
|
170
|
+
version: '0'
|
|
171
|
+
- - ">="
|
|
180
172
|
- !ruby/object:Gem::Version
|
|
181
|
-
version: 0.9.
|
|
173
|
+
version: 0.9.20
|
|
182
174
|
description: ONLYOFFICE Helper Gem for iRedMail. Used in QA
|
|
183
175
|
email:
|
|
184
176
|
- shockwavenn@gmail.com
|
|
@@ -187,10 +179,15 @@ extensions: []
|
|
|
187
179
|
extra_rdoc_files: []
|
|
188
180
|
files:
|
|
189
181
|
- lib/onlyoffice_iredmail_helper.rb
|
|
182
|
+
- lib/onlyoffice_iredmail_helper/delete_methods.rb
|
|
183
|
+
- lib/onlyoffice_iredmail_helper/login_methods.rb
|
|
190
184
|
- lib/onlyoffice_iredmail_helper/mail_getters.rb
|
|
191
185
|
- lib/onlyoffice_iredmail_helper/mailboxes_methods.rb
|
|
192
186
|
- lib/onlyoffice_iredmail_helper/message_methods.rb
|
|
187
|
+
- lib/onlyoffice_iredmail_helper/move_message_methods.rb
|
|
193
188
|
- lib/onlyoffice_iredmail_helper/name.rb
|
|
189
|
+
- lib/onlyoffice_iredmail_helper/read_defaults_methods.rb
|
|
190
|
+
- lib/onlyoffice_iredmail_helper/send_message_methods.rb
|
|
194
191
|
- lib/onlyoffice_iredmail_helper/version.rb
|
|
195
192
|
homepage: https://github.com/ONLYOFFICE-QA/onlyoffice_iredmail_helper
|
|
196
193
|
licenses:
|
|
@@ -201,6 +198,7 @@ metadata:
|
|
|
201
198
|
documentation_uri: https://www.rubydoc.info/gems/onlyoffice_iredmail_helper
|
|
202
199
|
homepage_uri: https://github.com/ONLYOFFICE-QA/onlyoffice_iredmail_helper
|
|
203
200
|
source_code_uri: https://github.com/ONLYOFFICE-QA/onlyoffice_iredmail_helper
|
|
201
|
+
rubygems_mfa_required: 'true'
|
|
204
202
|
post_install_message:
|
|
205
203
|
rdoc_options: []
|
|
206
204
|
require_paths:
|
|
@@ -216,7 +214,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
216
214
|
- !ruby/object:Gem::Version
|
|
217
215
|
version: '0'
|
|
218
216
|
requirements: []
|
|
219
|
-
rubygems_version: 3.
|
|
217
|
+
rubygems_version: 3.2.29
|
|
220
218
|
signing_key:
|
|
221
219
|
specification_version: 4
|
|
222
220
|
summary: ONLYOFFICE Helper Gem for iRedMail
|