gmail 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/.coveralls.yml +1 -0
  3. data/.gitignore +27 -27
  4. data/.rspec +1 -1
  5. data/.rubocop.yml +53 -13
  6. data/.rubocop_todo.yml +299 -239
  7. data/.travis.yml +19 -19
  8. data/CHANGELOG.md +152 -145
  9. data/Gemfile +5 -3
  10. data/LICENSE +21 -21
  11. data/README.md +380 -355
  12. data/Rakefile +44 -46
  13. data/gmail.gemspec +32 -34
  14. data/lib/gmail.rb +72 -78
  15. data/lib/gmail/client.rb +35 -34
  16. data/lib/gmail/client/base.rb +244 -229
  17. data/lib/gmail/client/plain.rb +24 -24
  18. data/lib/gmail/client/xoauth.rb +67 -68
  19. data/lib/gmail/client/xoauth2.rb +39 -39
  20. data/lib/gmail/imap_extensions.rb +156 -159
  21. data/lib/gmail/labels.rb +80 -79
  22. data/lib/gmail/mailbox.rb +178 -175
  23. data/lib/gmail/message.rb +212 -207
  24. data/lib/gmail/version.rb +3 -3
  25. data/spec/account.yml.example +1 -1
  26. data/spec/account.yml.obfus +2 -2
  27. data/spec/gmail/client/base_spec.rb +5 -5
  28. data/spec/gmail/client/plain_spec.rb +169 -169
  29. data/spec/gmail/client/xoauth2_spec.rb +186 -186
  30. data/spec/gmail/client/xoauth_spec.rb +5 -5
  31. data/spec/gmail/client_spec.rb +5 -5
  32. data/spec/gmail/imap_extensions_spec.rb +47 -47
  33. data/spec/gmail/labels_spec.rb +27 -27
  34. data/spec/gmail/mailbox_spec.rb +84 -84
  35. data/spec/gmail/message_spec.rb +181 -181
  36. data/spec/gmail_spec.rb +40 -39
  37. data/spec/recordings/gmail/_new_connects_with_client_and_give_it_context_when_block_given.yml +61 -28
  38. data/spec/recordings/gmail/_new_connects_with_gmail_service_and_return_valid_connection_object.yml +43 -28
  39. data/spec/recordings/gmail/_new_does_not_raise_error_when_couldn_t_connect_with_given_account.yml +21 -13
  40. data/spec/recordings/gmail/_new_raises_error_when_couldn_t_connect_with_given_account.yml +21 -13
  41. data/spec/recordings/gmail_client_plain/instance/delivers_inline_composed_email.yml +61 -42
  42. data/spec/recordings/gmail_client_plain/instance/does_not_log_in_when_given_gmail_account_is_invalid.yml +21 -13
  43. data/spec/recordings/gmail_client_plain/instance/does_not_raise_error_even_though_gmail_account_is_invalid.yml +21 -13
  44. data/spec/recordings/gmail_client_plain/instance/labels/checks_if_there_is_given_label_defined.yml +409 -196
  45. data/spec/recordings/gmail_client_plain/instance/labels/creates_given_label.yml +280 -151
  46. data/spec/recordings/gmail_client_plain/instance/labels/removes_existing_label.yml +271 -146
  47. data/spec/recordings/gmail_client_plain/instance/labels/returns_list_of_all_available_labels.yml +227 -113
  48. data/spec/recordings/gmail_client_plain/instance/properly_logs_in_to_valid_gmail_account.yml +61 -42
  49. data/spec/recordings/gmail_client_plain/instance/properly_logs_out_from_gmail.yml +61 -42
  50. data/spec/recordings/gmail_client_plain/instance/properly_switches_to_given_mailbox.yml +164 -109
  51. data/spec/recordings/gmail_client_plain/instance/properly_switches_to_given_mailbox_using_block_style.yml +164 -109
  52. data/spec/recordings/gmail_client_plain/instance/raises_error_when_given_gmail_account_is_invalid_and_errors_enabled.yml +21 -13
  53. data/spec/recordings/gmail_client_xo_auth2/instance/does_not_log_in_when_given_gmail_account_is_invalid.yml +24 -13
  54. data/spec/recordings/gmail_client_xo_auth2/instance/labels/checks_if_there_is_given_label_defined.yml +39 -27
  55. data/spec/recordings/gmail_client_xo_auth2/instance/labels/creates_given_label.yml +52 -39
  56. data/spec/recordings/gmail_client_xo_auth2/instance/labels/removes_existing_label.yml +52 -39
  57. data/spec/recordings/gmail_client_xo_auth2/instance/labels/returns_list_of_all_available_labels.yml +39 -27
  58. data/spec/recordings/gmail_client_xo_auth2/instance/properly_logs_in_to_valid_gmail_account.yml +26 -15
  59. data/spec/recordings/gmail_client_xo_auth2/instance/properly_logs_out_from_gmail.yml +26 -15
  60. data/spec/recordings/gmail_client_xo_auth2/instance/properly_switches_to_given_mailbox.yml +63 -40
  61. data/spec/recordings/gmail_client_xo_auth2/instance/properly_switches_to_given_mailbox_using_block_style.yml +63 -40
  62. data/spec/recordings/gmail_client_xo_auth2/instance/raises_error_when_given_gmail_account_is_invalid_and_errors_enabled.yml +24 -13
  63. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/all/localizes_into_the_appropriate_label.yml +229 -116
  64. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/and_the_mailbox_does_not_exist/returns_the_mailbox_name_as_a_string.yml +229 -110
  65. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/drafts/localizes_into_the_appropriate_label.yml +229 -116
  66. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/flagged/localizes_into_the_appropriate_label.yml +229 -116
  67. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/important/localizes_into_the_appropriate_label.yml +229 -116
  68. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/inbox/localizes_into_the_appropriate_label.yml +61 -42
  69. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/junk/localizes_into_the_appropriate_label.yml +229 -116
  70. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/sent/localizes_into_the_appropriate_label.yml +229 -116
  71. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/trash/localizes_into_the_appropriate_label.yml +229 -116
  72. data/spec/recordings/gmail_mailbox/instance/counts_all_emails.yml +595 -277
  73. data/spec/recordings/gmail_mailbox/instance/finds_messages.yml +1049 -586
  74. data/spec/recordings/gmail_mailbox/instance/waits_once.yml +191 -136
  75. data/spec/recordings/gmail_mailbox/instance/waits_repeatedly.yml +217 -141
  76. data/spec/recordings/gmail_mailbox/instance/waits_with_29-minute_re-issue.yml +188 -136
  77. data/spec/recordings/gmail_mailbox/instance/waits_with_an_unblocked_connection.yml +644 -207
  78. data/spec/recordings/gmail_mailbox/on_initialize/sets_client_and_name.yml +61 -42
  79. data/spec/recordings/gmail_mailbox/on_initialize/works_in_inbox_by_default.yml +61 -42
  80. data/spec/recordings/gmail_message/initialize/sets_prefetch_attrs.yml +1068 -578
  81. data/spec/recordings/gmail_message/initialize/sets_uid_and_mailbox.yml +1068 -580
  82. data/spec/recordings/gmail_message/instance_methods/deletes_itself.yml +1084 -637
  83. data/spec/recordings/gmail_message/instance_methods/marks_itself_read.yml +1137 -682
  84. data/spec/recordings/gmail_message/instance_methods/marks_itself_unread.yml +1153 -686
  85. data/spec/recordings/gmail_message/instance_methods/moves_from_one_tag_to_other.yml +1447 -862
  86. data/spec/recordings/gmail_message/instance_methods/removes_a_given_label.yml +1288 -776
  87. data/spec/recordings/gmail_message/instance_methods/removes_a_given_label_with_old_method.yml +1288 -776
  88. data/spec/recordings/gmail_message/instance_methods/sets_given_label.yml +1165 -690
  89. data/spec/recordings/gmail_message/instance_methods/sets_given_label_with_old_method.yml +1157 -691
  90. data/spec/spec_helper.rb +56 -53
  91. data/spec/support/imap_mock.rb +181 -181
  92. data/spec/support/obfuscation.rb +49 -52
  93. metadata +21 -90
  94. data/spec/recordings/gmail_client_plain/instance/_connection_automatically_logs_in_to_gmail_account_when_it_s_called.yml +0 -42
@@ -1,52 +1,49 @@
1
- require 'base64'
2
- require 'yaml'
3
-
4
- # Lightweight obfuscation wrapper used to obfuscate account.yml file.
5
- #
6
- # CAUTION; this is not intended to be a robust security mechanism. It is simple
7
- # obfuscation (security through obscurity). There's no strong reason why we couldn't
8
- # store the credentials in clear text, but just taking an extra step to prevent trouble.
9
-
10
- module Spec
11
- module Obfuscation
12
- def encrypt(data)
13
- rot13(Base64.encode64(data))
14
- end
15
-
16
- def decrypt(data)
17
- Base64.decode64(rot13(data))
18
- end
19
-
20
- def rot13(data)
21
- data.tr!("A-Za-z", "N-ZA-Mn-za-m")
22
- end
23
-
24
- def encrypt_file(file)
25
- data = read_if_exist!(file)
26
- begin
27
- File.open("#{file}.obfus", 'w') { |file| file.write(encrypt(data)) }
28
- rescue Exception => e
29
- raise "Unable to encrypt #{file}"
30
- end
31
- end
32
-
33
- def decrypt_file(file)
34
- data = read_if_exist!(file)
35
- begin
36
- return ::YAML::load(decrypt(data))
37
- rescue Exception => e
38
- raise "Unable to decrypt #{file}"
39
- end
40
- end
41
-
42
- def read_if_exist!(file)
43
- if File.exist?(file)
44
- IO.read(file)
45
- else
46
- raise "File not found #{file}"
47
- end
48
- end
49
-
50
- extend self
51
- end
52
- end
1
+ require 'base64'
2
+ require 'yaml'
3
+
4
+ # Lightweight obfuscation wrapper used to obfuscate account.yml file.
5
+ #
6
+ # CAUTION; this is not intended to be a robust security mechanism. It is simple
7
+ # obfuscation (security through obscurity). There's no strong reason why we couldn't
8
+ # store the credentials in clear text, but just taking an extra step to prevent trouble.
9
+
10
+ module Spec
11
+ module Obfuscation
12
+ def encrypt(data)
13
+ rot13(Base64.encode64(data))
14
+ end
15
+
16
+ def decrypt(data)
17
+ Base64.decode64(rot13(data))
18
+ end
19
+
20
+ def rot13(data)
21
+ data.tr!("A-Za-z", "N-ZA-Mn-za-m")
22
+ end
23
+
24
+ def encrypt_file(file)
25
+ data = read_if_exist!(file)
26
+ begin
27
+ File.open("#{file}.obfus", 'w') { |file| file.write(encrypt(data)) }
28
+ rescue Exception => e
29
+ raise "Unable to encrypt #{file}"
30
+ end
31
+ end
32
+
33
+ def decrypt_file(file)
34
+ data = read_if_exist!(file)
35
+ begin
36
+ return ::YAML::load(decrypt(data))
37
+ rescue Exception => e
38
+ raise "Unable to decrypt #{file}"
39
+ end
40
+ end
41
+
42
+ def read_if_exist!(file)
43
+ return IO.read(file) if File.exist?(file)
44
+ raise "File not found #{file}"
45
+ end
46
+
47
+ extend self
48
+ end
49
+ end
metadata CHANGED
@@ -1,45 +1,45 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gmail
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Kowalik
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-24 00:00:00.000000000 Z
11
+ date: 2018-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: mail
14
+ name: gmail_xoauth
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 2.2.1
19
+ version: 0.3.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 2.2.1
26
+ version: 0.3.0
27
27
  - !ruby/object:Gem::Dependency
28
- name: gmail_xoauth
28
+ name: mail
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.3.0
33
+ version: 2.2.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 0.3.0
40
+ version: 2.2.1
41
41
  - !ruby/object:Gem::Dependency
42
- name: rake
42
+ name: gem-release
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -53,47 +53,47 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rspec
56
+ name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '3.1'
61
+ version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '3.1'
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: rubocop
70
+ name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: '3.1'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: '3.1'
83
83
  - !ruby/object:Gem::Dependency
84
- name: gem-release
84
+ name: rubocop
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: 0.34.2
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: 0.34.2
97
97
  description: "A Rubyesque interface to Gmail, with all the tools you will need.\n
98
98
  \ Search, read and send multipart emails; archive, mark as read/unread,\n delete
99
99
  emails; and manage labels.\n "
@@ -103,6 +103,7 @@ executables: []
103
103
  extensions: []
104
104
  extra_rdoc_files: []
105
105
  files:
106
+ - ".coveralls.yml"
106
107
  - ".gitignore"
107
108
  - ".rspec"
108
109
  - ".rubocop.yml"
@@ -141,7 +142,6 @@ files:
141
142
  - spec/recordings/gmail/_new_connects_with_gmail_service_and_return_valid_connection_object.yml
142
143
  - spec/recordings/gmail/_new_does_not_raise_error_when_couldn_t_connect_with_given_account.yml
143
144
  - spec/recordings/gmail/_new_raises_error_when_couldn_t_connect_with_given_account.yml
144
- - spec/recordings/gmail_client_plain/instance/_connection_automatically_logs_in_to_gmail_account_when_it_s_called.yml
145
145
  - spec/recordings/gmail_client_plain/instance/delivers_inline_composed_email.yml
146
146
  - spec/recordings/gmail_client_plain/instance/does_not_log_in_when_given_gmail_account_is_invalid.yml
147
147
  - spec/recordings/gmail_client_plain/instance/does_not_raise_error_even_though_gmail_account_is_invalid.yml
@@ -214,77 +214,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
214
214
  version: '0'
215
215
  requirements: []
216
216
  rubyforge_project:
217
- rubygems_version: 2.4.8
217
+ rubygems_version: 2.6.14
218
218
  signing_key:
219
219
  specification_version: 4
220
220
  summary: A Rubyesque interface to Gmail, with all the tools you will need.
221
- test_files:
222
- - spec/account.yml.example
223
- - spec/account.yml.obfus
224
- - spec/gmail/client/base_spec.rb
225
- - spec/gmail/client/plain_spec.rb
226
- - spec/gmail/client/xoauth2_spec.rb
227
- - spec/gmail/client/xoauth_spec.rb
228
- - spec/gmail/client_spec.rb
229
- - spec/gmail/imap_extensions_spec.rb
230
- - spec/gmail/labels_spec.rb
231
- - spec/gmail/mailbox_spec.rb
232
- - spec/gmail/message_spec.rb
233
- - spec/gmail_spec.rb
234
- - spec/recordings/gmail/_new_connects_with_client_and_give_it_context_when_block_given.yml
235
- - spec/recordings/gmail/_new_connects_with_gmail_service_and_return_valid_connection_object.yml
236
- - spec/recordings/gmail/_new_does_not_raise_error_when_couldn_t_connect_with_given_account.yml
237
- - spec/recordings/gmail/_new_raises_error_when_couldn_t_connect_with_given_account.yml
238
- - spec/recordings/gmail_client_plain/instance/_connection_automatically_logs_in_to_gmail_account_when_it_s_called.yml
239
- - spec/recordings/gmail_client_plain/instance/delivers_inline_composed_email.yml
240
- - spec/recordings/gmail_client_plain/instance/does_not_log_in_when_given_gmail_account_is_invalid.yml
241
- - spec/recordings/gmail_client_plain/instance/does_not_raise_error_even_though_gmail_account_is_invalid.yml
242
- - spec/recordings/gmail_client_plain/instance/labels/checks_if_there_is_given_label_defined.yml
243
- - spec/recordings/gmail_client_plain/instance/labels/creates_given_label.yml
244
- - spec/recordings/gmail_client_plain/instance/labels/removes_existing_label.yml
245
- - spec/recordings/gmail_client_plain/instance/labels/returns_list_of_all_available_labels.yml
246
- - spec/recordings/gmail_client_plain/instance/properly_logs_in_to_valid_gmail_account.yml
247
- - spec/recordings/gmail_client_plain/instance/properly_logs_out_from_gmail.yml
248
- - spec/recordings/gmail_client_plain/instance/properly_switches_to_given_mailbox.yml
249
- - spec/recordings/gmail_client_plain/instance/properly_switches_to_given_mailbox_using_block_style.yml
250
- - spec/recordings/gmail_client_plain/instance/raises_error_when_given_gmail_account_is_invalid_and_errors_enabled.yml
251
- - spec/recordings/gmail_client_xo_auth2/instance/does_not_log_in_when_given_gmail_account_is_invalid.yml
252
- - spec/recordings/gmail_client_xo_auth2/instance/labels/checks_if_there_is_given_label_defined.yml
253
- - spec/recordings/gmail_client_xo_auth2/instance/labels/creates_given_label.yml
254
- - spec/recordings/gmail_client_xo_auth2/instance/labels/removes_existing_label.yml
255
- - spec/recordings/gmail_client_xo_auth2/instance/labels/returns_list_of_all_available_labels.yml
256
- - spec/recordings/gmail_client_xo_auth2/instance/properly_logs_in_to_valid_gmail_account.yml
257
- - spec/recordings/gmail_client_xo_auth2/instance/properly_logs_out_from_gmail.yml
258
- - spec/recordings/gmail_client_xo_auth2/instance/properly_switches_to_given_mailbox.yml
259
- - spec/recordings/gmail_client_xo_auth2/instance/properly_switches_to_given_mailbox_using_block_style.yml
260
- - spec/recordings/gmail_client_xo_auth2/instance/raises_error_when_given_gmail_account_is_invalid_and_errors_enabled.yml
261
- - spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/all/localizes_into_the_appropriate_label.yml
262
- - spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/and_the_mailbox_does_not_exist/returns_the_mailbox_name_as_a_string.yml
263
- - spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/drafts/localizes_into_the_appropriate_label.yml
264
- - spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/flagged/localizes_into_the_appropriate_label.yml
265
- - spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/important/localizes_into_the_appropriate_label.yml
266
- - spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/inbox/localizes_into_the_appropriate_label.yml
267
- - spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/junk/localizes_into_the_appropriate_label.yml
268
- - spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/sent/localizes_into_the_appropriate_label.yml
269
- - spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/trash/localizes_into_the_appropriate_label.yml
270
- - spec/recordings/gmail_mailbox/instance/counts_all_emails.yml
271
- - spec/recordings/gmail_mailbox/instance/finds_messages.yml
272
- - spec/recordings/gmail_mailbox/instance/waits_once.yml
273
- - spec/recordings/gmail_mailbox/instance/waits_repeatedly.yml
274
- - spec/recordings/gmail_mailbox/instance/waits_with_29-minute_re-issue.yml
275
- - spec/recordings/gmail_mailbox/instance/waits_with_an_unblocked_connection.yml
276
- - spec/recordings/gmail_mailbox/on_initialize/sets_client_and_name.yml
277
- - spec/recordings/gmail_mailbox/on_initialize/works_in_inbox_by_default.yml
278
- - spec/recordings/gmail_message/initialize/sets_prefetch_attrs.yml
279
- - spec/recordings/gmail_message/initialize/sets_uid_and_mailbox.yml
280
- - spec/recordings/gmail_message/instance_methods/deletes_itself.yml
281
- - spec/recordings/gmail_message/instance_methods/marks_itself_read.yml
282
- - spec/recordings/gmail_message/instance_methods/marks_itself_unread.yml
283
- - spec/recordings/gmail_message/instance_methods/moves_from_one_tag_to_other.yml
284
- - spec/recordings/gmail_message/instance_methods/removes_a_given_label.yml
285
- - spec/recordings/gmail_message/instance_methods/removes_a_given_label_with_old_method.yml
286
- - spec/recordings/gmail_message/instance_methods/sets_given_label.yml
287
- - spec/recordings/gmail_message/instance_methods/sets_given_label_with_old_method.yml
288
- - spec/spec_helper.rb
289
- - spec/support/imap_mock.rb
290
- - spec/support/obfuscation.rb
221
+ test_files: []
@@ -1,42 +0,0 @@
1
- ---
2
- LOGIN-9a890af1c86854f5170d99be6e10b8f1:
3
- - - :return
4
- - !ruby/struct:Net::IMAP::TaggedResponse
5
- tag: RUBY0001
6
- name: OK
7
- data: !ruby/struct:Net::IMAP::ResponseText
8
- code:
9
- text: ki0zvkyi1yzgy7xu4f4dh46nqrcecm@gmail.com authenticated (Success)
10
- raw_data: "RUBY0001 OK ki0zvkyi1yzgy7xu4f4dh46nqrcecm@gmail.com authenticated
11
- (Success)\r\n"
12
- - CAPABILITY: &1
13
- - - IMAP4REV1
14
- - UNSELECT
15
- - IDLE
16
- - NAMESPACE
17
- - QUOTA
18
- - ID
19
- - XLIST
20
- - CHILDREN
21
- - X-GM-EXT-1
22
- - UIDPLUS
23
- - COMPRESS=DEFLATE
24
- - ENABLE
25
- - MOVE
26
- - CONDSTORE
27
- - ESEARCH
28
- - UTF8=ACCEPT
29
- LOGOUT-e76a09b7766d60a37ff9e1af527a143e:
30
- - - :return
31
- - !ruby/struct:Net::IMAP::TaggedResponse
32
- tag: RUBY0002
33
- name: OK
34
- data: !ruby/struct:Net::IMAP::ResponseText
35
- code:
36
- text: 73 good day (Success)
37
- raw_data: "RUBY0002 OK 73 good day (Success)\r\n"
38
- - CAPABILITY: *1
39
- BYE:
40
- - !ruby/struct:Net::IMAP::ResponseText
41
- code:
42
- text: LOGOUT Requested