gmail 0.4.2 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
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