gmail 0.4.2 → 0.5.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.
Files changed (89) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rubocop.yml +13 -0
  4. data/.rubocop_todo.yml +239 -0
  5. data/.travis.yml +19 -0
  6. data/CHANGELOG.md +75 -18
  7. data/Gemfile +1 -1
  8. data/README.md +214 -131
  9. data/Rakefile +11 -0
  10. data/gmail.gemspec +8 -8
  11. data/lib/gmail.rb +31 -18
  12. data/lib/gmail/client.rb +11 -7
  13. data/lib/gmail/client/base.rb +52 -48
  14. data/lib/gmail/client/plain.rb +9 -5
  15. data/lib/gmail/client/xoauth.rb +23 -6
  16. data/lib/gmail/client/xoauth2.rb +39 -0
  17. data/lib/gmail/imap_extensions.rb +150 -0
  18. data/lib/gmail/labels.rb +33 -16
  19. data/lib/gmail/mailbox.rb +60 -42
  20. data/lib/gmail/message.rb +142 -101
  21. data/lib/gmail/version.rb +2 -2
  22. data/spec/account.yml.obfus +2 -0
  23. data/spec/gmail/client/base_spec.rb +5 -0
  24. data/spec/gmail/client/plain_spec.rb +168 -0
  25. data/spec/gmail/client/xoauth2_spec.rb +186 -0
  26. data/spec/gmail/client/xoauth_spec.rb +5 -0
  27. data/spec/gmail/client_spec.rb +5 -0
  28. data/spec/gmail/imap_extensions_spec.rb +12 -0
  29. data/spec/gmail/labels_spec.rb +18 -0
  30. data/spec/{mailbox_spec.rb → gmail/mailbox_spec.rb} +14 -14
  31. data/spec/gmail/message_spec.rb +181 -0
  32. data/spec/gmail_spec.rb +21 -21
  33. data/spec/recordings/gmail/_new_connects_with_client_and_give_it_context_when_block_given.yml +28 -0
  34. data/spec/recordings/gmail/_new_connects_with_gmail_service_and_return_valid_connection_object.yml +28 -0
  35. data/spec/recordings/gmail/_new_does_not_raise_error_when_couldn_t_connect_with_given_account.yml +13 -0
  36. data/spec/recordings/gmail/_new_raises_error_when_couldn_t_connect_with_given_account.yml +13 -0
  37. data/spec/recordings/gmail_client_plain/instance/_connection_automatically_logs_in_to_gmail_account_when_it_s_called.yml +42 -0
  38. data/spec/recordings/gmail_client_plain/instance/delivers_inline_composed_email.yml +42 -0
  39. data/spec/recordings/gmail_client_plain/instance/does_not_log_in_when_given_gmail_account_is_invalid.yml +13 -0
  40. data/spec/recordings/gmail_client_plain/instance/does_not_raise_error_even_though_gmail_account_is_invalid.yml +13 -0
  41. data/spec/recordings/gmail_client_plain/instance/labels/checks_if_there_is_given_label_defined.yml +196 -0
  42. data/spec/recordings/gmail_client_plain/instance/labels/creates_given_label.yml +151 -0
  43. data/spec/recordings/gmail_client_plain/instance/labels/removes_existing_label.yml +146 -0
  44. data/spec/recordings/gmail_client_plain/instance/labels/returns_list_of_all_available_labels.yml +113 -0
  45. data/spec/recordings/gmail_client_plain/instance/properly_logs_in_to_valid_gmail_account.yml +42 -0
  46. data/spec/recordings/gmail_client_plain/instance/properly_logs_out_from_gmail.yml +42 -0
  47. data/spec/recordings/gmail_client_plain/instance/properly_switches_to_given_mailbox.yml +109 -0
  48. data/spec/recordings/gmail_client_plain/instance/properly_switches_to_given_mailbox_using_block_style.yml +109 -0
  49. data/spec/recordings/gmail_client_plain/instance/raises_error_when_given_gmail_account_is_invalid_and_errors_enabled.yml +13 -0
  50. data/spec/recordings/gmail_client_xo_auth2/instance/does_not_log_in_when_given_gmail_account_is_invalid.yml +13 -0
  51. data/spec/recordings/gmail_client_xo_auth2/instance/labels/checks_if_there_is_given_label_defined.yml +27 -0
  52. data/spec/recordings/gmail_client_xo_auth2/instance/labels/creates_given_label.yml +39 -0
  53. data/spec/recordings/gmail_client_xo_auth2/instance/labels/removes_existing_label.yml +39 -0
  54. data/spec/recordings/gmail_client_xo_auth2/instance/labels/returns_list_of_all_available_labels.yml +27 -0
  55. data/spec/recordings/gmail_client_xo_auth2/instance/properly_logs_in_to_valid_gmail_account.yml +15 -0
  56. data/spec/recordings/gmail_client_xo_auth2/instance/properly_logs_out_from_gmail.yml +15 -0
  57. data/spec/recordings/gmail_client_xo_auth2/instance/properly_switches_to_given_mailbox.yml +40 -0
  58. data/spec/recordings/gmail_client_xo_auth2/instance/properly_switches_to_given_mailbox_using_block_style.yml +40 -0
  59. data/spec/recordings/gmail_client_xo_auth2/instance/raises_error_when_given_gmail_account_is_invalid_and_errors_enabled.yml +13 -0
  60. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/all/localizes_into_the_appropriate_label.yml +116 -0
  61. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/drafts/localizes_into_the_appropriate_label.yml +116 -0
  62. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/flagged/localizes_into_the_appropriate_label.yml +116 -0
  63. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/important/localizes_into_the_appropriate_label.yml +116 -0
  64. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/inbox/localizes_into_the_appropriate_label.yml +42 -0
  65. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/junk/localizes_into_the_appropriate_label.yml +116 -0
  66. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/sent/localizes_into_the_appropriate_label.yml +116 -0
  67. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/trash/localizes_into_the_appropriate_label.yml +116 -0
  68. data/spec/recordings/gmail_mailbox/instance/counts_all_emails.yml +277 -0
  69. data/spec/recordings/gmail_mailbox/instance/finds_messages.yml +586 -0
  70. data/spec/recordings/gmail_mailbox/on_initialize/sets_client_and_name.yml +42 -0
  71. data/spec/recordings/gmail_mailbox/on_initialize/works_in_inbox_by_default.yml +42 -0
  72. data/spec/recordings/gmail_message/initialize/sets_prefetch_attrs.yml +578 -0
  73. data/spec/recordings/gmail_message/initialize/sets_uid_and_mailbox.yml +580 -0
  74. data/spec/recordings/gmail_message/instance_methods/deletes_itself.yml +637 -0
  75. data/spec/recordings/gmail_message/instance_methods/marks_itself_read.yml +682 -0
  76. data/spec/recordings/gmail_message/instance_methods/marks_itself_unread.yml +686 -0
  77. data/spec/recordings/gmail_message/instance_methods/moves_from_one_tag_to_other.yml +862 -0
  78. data/spec/recordings/gmail_message/instance_methods/removes_a_given_label.yml +776 -0
  79. data/spec/recordings/gmail_message/instance_methods/removes_a_given_label_with_old_method.yml +776 -0
  80. data/spec/recordings/gmail_message/instance_methods/sets_given_label.yml +690 -0
  81. data/spec/recordings/gmail_message/instance_methods/sets_given_label_with_old_method.yml +691 -0
  82. data/spec/spec_helper.rb +34 -10
  83. data/spec/support/imap_mock.rb +129 -0
  84. data/spec/support/obfuscation.rb +52 -0
  85. metadata +79 -30
  86. data/TODO.md +0 -12
  87. data/lib/gmail/client/imap_extensions.rb +0 -54
  88. data/spec/client_spec.rb +0 -178
  89. data/spec/message_spec.rb +0 -51
@@ -0,0 +1,42 @@
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
@@ -0,0 +1,116 @@
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
+ LIST-b30698c3407aff5520448484b159fc07:
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: Success
37
+ raw_data: "RUBY0002 OK Success\r\n"
38
+ - CAPABILITY: *1
39
+ LIST:
40
+ - !ruby/struct:Net::IMAP::MailboxList
41
+ attr:
42
+ - :Hasnochildren
43
+ delim: "/"
44
+ name: Awesome
45
+ - !ruby/struct:Net::IMAP::MailboxList
46
+ attr:
47
+ - :Hasnochildren
48
+ delim: "/"
49
+ name: Great
50
+ - !ruby/struct:Net::IMAP::MailboxList
51
+ attr:
52
+ - :Hasnochildren
53
+ delim: "/"
54
+ name: INBOX
55
+ - !ruby/struct:Net::IMAP::MailboxList
56
+ attr:
57
+ - :Noselect
58
+ - :Haschildren
59
+ delim: "/"
60
+ name: "[Gmail]"
61
+ - !ruby/struct:Net::IMAP::MailboxList
62
+ attr:
63
+ - :Hasnochildren
64
+ - :All
65
+ delim: "/"
66
+ name: "[Gmail]/All Mail"
67
+ - !ruby/struct:Net::IMAP::MailboxList
68
+ attr:
69
+ - :Hasnochildren
70
+ - :Drafts
71
+ delim: "/"
72
+ name: "[Gmail]/Drafts"
73
+ - !ruby/struct:Net::IMAP::MailboxList
74
+ attr:
75
+ - :Hasnochildren
76
+ - :Important
77
+ delim: "/"
78
+ name: "[Gmail]/Important"
79
+ - !ruby/struct:Net::IMAP::MailboxList
80
+ attr:
81
+ - :Sent
82
+ - :Hasnochildren
83
+ delim: "/"
84
+ name: "[Gmail]/Sent Mail"
85
+ - !ruby/struct:Net::IMAP::MailboxList
86
+ attr:
87
+ - :Hasnochildren
88
+ - :Junk
89
+ delim: "/"
90
+ name: "[Gmail]/Spam"
91
+ - !ruby/struct:Net::IMAP::MailboxList
92
+ attr:
93
+ - :Hasnochildren
94
+ - :Flagged
95
+ delim: "/"
96
+ name: "[Gmail]/Starred"
97
+ - !ruby/struct:Net::IMAP::MailboxList
98
+ attr:
99
+ - :Trash
100
+ - :Hasnochildren
101
+ delim: "/"
102
+ name: "[Gmail]/Trash"
103
+ LOGOUT-e76a09b7766d60a37ff9e1af527a143e:
104
+ - - :return
105
+ - !ruby/struct:Net::IMAP::TaggedResponse
106
+ tag: RUBY0003
107
+ name: OK
108
+ data: !ruby/struct:Net::IMAP::ResponseText
109
+ code:
110
+ text: 73 good day (Success)
111
+ raw_data: "RUBY0003 OK 73 good day (Success)\r\n"
112
+ - CAPABILITY: *1
113
+ BYE:
114
+ - !ruby/struct:Net::IMAP::ResponseText
115
+ code:
116
+ text: LOGOUT Requested
@@ -0,0 +1,116 @@
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
+ LIST-b30698c3407aff5520448484b159fc07:
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: Success
37
+ raw_data: "RUBY0002 OK Success\r\n"
38
+ - CAPABILITY: *1
39
+ LIST:
40
+ - !ruby/struct:Net::IMAP::MailboxList
41
+ attr:
42
+ - :Hasnochildren
43
+ delim: "/"
44
+ name: Awesome
45
+ - !ruby/struct:Net::IMAP::MailboxList
46
+ attr:
47
+ - :Hasnochildren
48
+ delim: "/"
49
+ name: Great
50
+ - !ruby/struct:Net::IMAP::MailboxList
51
+ attr:
52
+ - :Hasnochildren
53
+ delim: "/"
54
+ name: INBOX
55
+ - !ruby/struct:Net::IMAP::MailboxList
56
+ attr:
57
+ - :Noselect
58
+ - :Haschildren
59
+ delim: "/"
60
+ name: "[Gmail]"
61
+ - !ruby/struct:Net::IMAP::MailboxList
62
+ attr:
63
+ - :Hasnochildren
64
+ - :All
65
+ delim: "/"
66
+ name: "[Gmail]/All Mail"
67
+ - !ruby/struct:Net::IMAP::MailboxList
68
+ attr:
69
+ - :Hasnochildren
70
+ - :Drafts
71
+ delim: "/"
72
+ name: "[Gmail]/Drafts"
73
+ - !ruby/struct:Net::IMAP::MailboxList
74
+ attr:
75
+ - :Hasnochildren
76
+ - :Important
77
+ delim: "/"
78
+ name: "[Gmail]/Important"
79
+ - !ruby/struct:Net::IMAP::MailboxList
80
+ attr:
81
+ - :Sent
82
+ - :Hasnochildren
83
+ delim: "/"
84
+ name: "[Gmail]/Sent Mail"
85
+ - !ruby/struct:Net::IMAP::MailboxList
86
+ attr:
87
+ - :Hasnochildren
88
+ - :Junk
89
+ delim: "/"
90
+ name: "[Gmail]/Spam"
91
+ - !ruby/struct:Net::IMAP::MailboxList
92
+ attr:
93
+ - :Hasnochildren
94
+ - :Flagged
95
+ delim: "/"
96
+ name: "[Gmail]/Starred"
97
+ - !ruby/struct:Net::IMAP::MailboxList
98
+ attr:
99
+ - :Trash
100
+ - :Hasnochildren
101
+ delim: "/"
102
+ name: "[Gmail]/Trash"
103
+ LOGOUT-e76a09b7766d60a37ff9e1af527a143e:
104
+ - - :return
105
+ - !ruby/struct:Net::IMAP::TaggedResponse
106
+ tag: RUBY0003
107
+ name: OK
108
+ data: !ruby/struct:Net::IMAP::ResponseText
109
+ code:
110
+ text: 73 good day (Success)
111
+ raw_data: "RUBY0003 OK 73 good day (Success)\r\n"
112
+ - CAPABILITY: *1
113
+ BYE:
114
+ - !ruby/struct:Net::IMAP::ResponseText
115
+ code:
116
+ text: LOGOUT Requested
@@ -0,0 +1,116 @@
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
+ LIST-b30698c3407aff5520448484b159fc07:
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: Success
37
+ raw_data: "RUBY0002 OK Success\r\n"
38
+ - CAPABILITY: *1
39
+ LIST:
40
+ - !ruby/struct:Net::IMAP::MailboxList
41
+ attr:
42
+ - :Hasnochildren
43
+ delim: "/"
44
+ name: Awesome
45
+ - !ruby/struct:Net::IMAP::MailboxList
46
+ attr:
47
+ - :Hasnochildren
48
+ delim: "/"
49
+ name: Great
50
+ - !ruby/struct:Net::IMAP::MailboxList
51
+ attr:
52
+ - :Hasnochildren
53
+ delim: "/"
54
+ name: INBOX
55
+ - !ruby/struct:Net::IMAP::MailboxList
56
+ attr:
57
+ - :Noselect
58
+ - :Haschildren
59
+ delim: "/"
60
+ name: "[Gmail]"
61
+ - !ruby/struct:Net::IMAP::MailboxList
62
+ attr:
63
+ - :Hasnochildren
64
+ - :All
65
+ delim: "/"
66
+ name: "[Gmail]/All Mail"
67
+ - !ruby/struct:Net::IMAP::MailboxList
68
+ attr:
69
+ - :Hasnochildren
70
+ - :Drafts
71
+ delim: "/"
72
+ name: "[Gmail]/Drafts"
73
+ - !ruby/struct:Net::IMAP::MailboxList
74
+ attr:
75
+ - :Hasnochildren
76
+ - :Important
77
+ delim: "/"
78
+ name: "[Gmail]/Important"
79
+ - !ruby/struct:Net::IMAP::MailboxList
80
+ attr:
81
+ - :Sent
82
+ - :Hasnochildren
83
+ delim: "/"
84
+ name: "[Gmail]/Sent Mail"
85
+ - !ruby/struct:Net::IMAP::MailboxList
86
+ attr:
87
+ - :Hasnochildren
88
+ - :Junk
89
+ delim: "/"
90
+ name: "[Gmail]/Spam"
91
+ - !ruby/struct:Net::IMAP::MailboxList
92
+ attr:
93
+ - :Hasnochildren
94
+ - :Flagged
95
+ delim: "/"
96
+ name: "[Gmail]/Starred"
97
+ - !ruby/struct:Net::IMAP::MailboxList
98
+ attr:
99
+ - :Trash
100
+ - :Hasnochildren
101
+ delim: "/"
102
+ name: "[Gmail]/Trash"
103
+ LOGOUT-e76a09b7766d60a37ff9e1af527a143e:
104
+ - - :return
105
+ - !ruby/struct:Net::IMAP::TaggedResponse
106
+ tag: RUBY0003
107
+ name: OK
108
+ data: !ruby/struct:Net::IMAP::ResponseText
109
+ code:
110
+ text: 73 good day (Success)
111
+ raw_data: "RUBY0003 OK 73 good day (Success)\r\n"
112
+ - CAPABILITY: *1
113
+ BYE:
114
+ - !ruby/struct:Net::IMAP::ResponseText
115
+ code:
116
+ text: LOGOUT Requested
@@ -0,0 +1,277 @@
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:
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
+ SELECT-505f013d922af4caf157dc91d6b45a60:
30
+ - - :return
31
+ - !ruby/struct:Net::IMAP::TaggedResponse
32
+ tag: RUBY0002
33
+ name: OK
34
+ data: !ruby/struct:Net::IMAP::ResponseText
35
+ code: !ruby/struct:Net::IMAP::ResponseCode
36
+ name: READ-WRITE
37
+ data:
38
+ text: " INBOX selected. (Success)"
39
+ raw_data: "RUBY0002 OK [READ-WRITE] INBOX selected. (Success)\r\n"
40
+ - FLAGS: &2
41
+ - - :Answered
42
+ - :Flagged
43
+ - :Draft
44
+ - :Deleted
45
+ - :Seen
46
+ - "$Phishing"
47
+ - "$NotPhishing"
48
+ OK: &3
49
+ - !ruby/struct:Net::IMAP::ResponseText
50
+ code: !ruby/struct:Net::IMAP::ResponseCode
51
+ name: PERMANENTFLAGS
52
+ data: &1
53
+ - :Answered
54
+ - :Flagged
55
+ - :Draft
56
+ - :Deleted
57
+ - :Seen
58
+ - "$Phishing"
59
+ - "$NotPhishing"
60
+ - :*
61
+ text: " Flags permitted."
62
+ - !ruby/struct:Net::IMAP::ResponseText
63
+ code: !ruby/struct:Net::IMAP::ResponseCode
64
+ name: UIDVALIDITY
65
+ data: 1
66
+ text: " UIDs valid."
67
+ - !ruby/struct:Net::IMAP::ResponseText
68
+ code: !ruby/struct:Net::IMAP::ResponseCode
69
+ name: UIDNEXT
70
+ data: 159
71
+ text: " Predicted next UID."
72
+ - !ruby/struct:Net::IMAP::ResponseText
73
+ code: !ruby/struct:Net::IMAP::ResponseCode
74
+ name: HIGHESTMODSEQ
75
+ data: '13352'
76
+ text: ''
77
+ PERMANENTFLAGS: &4
78
+ - *1
79
+ UIDVALIDITY: &5
80
+ - 1
81
+ EXISTS: &6
82
+ - 150
83
+ RECENT: &7
84
+ - 0
85
+ UIDNEXT: &8
86
+ - 159
87
+ HIGHESTMODSEQ: &9
88
+ - '13352'
89
+ UID SEARCH-b19658413e2b63d2bac9c290a67c2cb3:
90
+ - - :return
91
+ - !ruby/struct:Net::IMAP::TaggedResponse
92
+ tag: RUBY0003
93
+ name: OK
94
+ data: !ruby/struct:Net::IMAP::ResponseText
95
+ code:
96
+ text: SEARCH completed (Success)
97
+ raw_data: "RUBY0003 OK SEARCH completed (Success)\r\n"
98
+ - FLAGS: *2
99
+ OK: *3
100
+ PERMANENTFLAGS: *4
101
+ UIDVALIDITY: *5
102
+ EXISTS: *6
103
+ RECENT: *7
104
+ UIDNEXT: *8
105
+ HIGHESTMODSEQ: *9
106
+ SEARCH:
107
+ - - 1
108
+ - 2
109
+ - 3
110
+ - 4
111
+ - 5
112
+ - 6
113
+ - 7
114
+ - 8
115
+ - 9
116
+ - 10
117
+ - 11
118
+ - 12
119
+ - 13
120
+ - 14
121
+ - 15
122
+ - 16
123
+ - 17
124
+ - 18
125
+ - 19
126
+ - 20
127
+ - 21
128
+ - 22
129
+ - 23
130
+ - 24
131
+ - 25
132
+ - 26
133
+ - 27
134
+ - 28
135
+ - 29
136
+ - 30
137
+ - 31
138
+ - 32
139
+ - 33
140
+ - 34
141
+ - 35
142
+ - 36
143
+ - 37
144
+ - 38
145
+ - 39
146
+ - 40
147
+ - 41
148
+ - 42
149
+ - 43
150
+ - 44
151
+ - 45
152
+ - 46
153
+ - 47
154
+ - 48
155
+ - 49
156
+ - 50
157
+ - 51
158
+ - 52
159
+ - 53
160
+ - 54
161
+ - 55
162
+ - 56
163
+ - 57
164
+ - 58
165
+ - 59
166
+ - 60
167
+ - 61
168
+ - 62
169
+ - 63
170
+ - 64
171
+ - 65
172
+ - 66
173
+ - 67
174
+ - 68
175
+ - 69
176
+ - 70
177
+ - 71
178
+ - 72
179
+ - 73
180
+ - 74
181
+ - 75
182
+ - 76
183
+ - 77
184
+ - 78
185
+ - 79
186
+ - 80
187
+ - 81
188
+ - 82
189
+ - 83
190
+ - 84
191
+ - 85
192
+ - 86
193
+ - 87
194
+ - 88
195
+ - 89
196
+ - 90
197
+ - 91
198
+ - 92
199
+ - 93
200
+ - 94
201
+ - 95
202
+ - 96
203
+ - 97
204
+ - 98
205
+ - 99
206
+ - 100
207
+ - 101
208
+ - 102
209
+ - 103
210
+ - 104
211
+ - 105
212
+ - 106
213
+ - 107
214
+ - 108
215
+ - 109
216
+ - 110
217
+ - 111
218
+ - 112
219
+ - 113
220
+ - 114
221
+ - 115
222
+ - 116
223
+ - 117
224
+ - 118
225
+ - 119
226
+ - 120
227
+ - 121
228
+ - 122
229
+ - 123
230
+ - 124
231
+ - 125
232
+ - 126
233
+ - 127
234
+ - 128
235
+ - 129
236
+ - 130
237
+ - 131
238
+ - 132
239
+ - 133
240
+ - 134
241
+ - 135
242
+ - 136
243
+ - 137
244
+ - 138
245
+ - 139
246
+ - 140
247
+ - 141
248
+ - 142
249
+ - 143
250
+ - 144
251
+ - 145
252
+ - 150
253
+ - 151
254
+ - 156
255
+ - 157
256
+ - 158
257
+ LOGOUT-e76a09b7766d60a37ff9e1af527a143e:
258
+ - - :return
259
+ - !ruby/struct:Net::IMAP::TaggedResponse
260
+ tag: RUBY0004
261
+ name: OK
262
+ data: !ruby/struct:Net::IMAP::ResponseText
263
+ code:
264
+ text: 73 good day (Success)
265
+ raw_data: "RUBY0004 OK 73 good day (Success)\r\n"
266
+ - FLAGS: *2
267
+ OK: *3
268
+ PERMANENTFLAGS: *4
269
+ UIDVALIDITY: *5
270
+ EXISTS: *6
271
+ RECENT: *7
272
+ UIDNEXT: *8
273
+ HIGHESTMODSEQ: *9
274
+ BYE:
275
+ - !ruby/struct:Net::IMAP::ResponseText
276
+ code:
277
+ text: LOGOUT Requested