mailhandler 1.0.4 → 1.0.5
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/mailhandler.rb +42 -15
- data/lib/mailhandler/receiving/base.rb +1 -3
- data/lib/mailhandler/sending/smtp.rb +0 -3
- data/lib/mailhandler/version.rb +1 -1
- data/readme.md +1 -1
- data/spec/unit/mailhandler_spec.rb +9 -9
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 513610366e1d8b264ccfc91af621b85adf15c917
|
4
|
+
data.tar.gz: 209bc05e5aa3bae0032326ccdc7874e1ac5c909c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e0db9b1f071f937d0a3644098d7cf493043612b971e71e189b25cd06b85321fed59a08f0ef24f627a48737ebad2cf643e32bd04554a9cf33a3cfbf9a8dbfeba
|
7
|
+
data.tar.gz: 176ab667687c4d3ae5aa651fbf9a7fae6aa9d9630bf74bf6268bb8bed333ecf527381ef3b705854c5e6dfd0dc112bd69a2d204673018767427cb981f477c3c35
|
data/lib/mailhandler.rb
CHANGED
@@ -6,35 +6,62 @@ require_relative 'mailhandler/receiving/notification/console'
|
|
6
6
|
|
7
7
|
module MailHandler
|
8
8
|
|
9
|
+
extend self
|
10
|
+
|
11
|
+
# sending accessor
|
12
|
+
def sender(type = :postmark_api)
|
13
|
+
|
14
|
+
handler = Handler.new
|
15
|
+
handler.init_sender(type)
|
16
|
+
yield(handler.sender.dispatcher) if block_given?
|
17
|
+
|
18
|
+
handler.sender
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
# receiving accessor
|
23
|
+
def receiver(type = :folder, notifications = [])
|
24
|
+
|
25
|
+
handler = Handler.new
|
26
|
+
handler.init_receiver(type, notifications)
|
27
|
+
yield(handler.receiver.checker) if block_given?
|
28
|
+
|
29
|
+
handler.receiver
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
# handling accessor
|
34
|
+
def handler(receiver, sender)
|
35
|
+
|
36
|
+
handler = Handler.new
|
37
|
+
handler.handler(receiver, sender)
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
# main handler class for creating sender, receiver handlers
|
9
42
|
class Handler
|
10
43
|
|
11
44
|
attr_accessor :sender,
|
12
45
|
:receiver
|
13
46
|
|
14
|
-
def
|
47
|
+
def init_sender(type = :postmark_api)
|
15
48
|
|
16
49
|
verify_type(type, SENDER_TYPES)
|
17
|
-
sender = MailHandler::Sender.new(SENDER_TYPES[type].new)
|
18
|
-
yield(sender.dispatcher) if block_given?
|
19
|
-
|
20
|
-
sender
|
50
|
+
@sender = MailHandler::Sender.new(SENDER_TYPES[type].new)
|
21
51
|
|
22
52
|
end
|
23
53
|
|
24
54
|
|
25
|
-
def
|
55
|
+
def init_receiver(type = :folder, notifications = [])
|
26
56
|
|
27
57
|
verify_type(type, CHECKER_TYPES)
|
28
|
-
receiver = MailHandler::Receiver.new(CHECKER_TYPES[type].new)
|
29
|
-
add_receiving_notifications(receiver, notifications)
|
30
|
-
|
31
|
-
yield(receiver.checker) if block_given?
|
32
|
-
|
33
|
-
receiver
|
58
|
+
@receiver = MailHandler::Receiver.new(CHECKER_TYPES[type].new)
|
59
|
+
add_receiving_notifications(@receiver, notifications)
|
60
|
+
@receiver
|
34
61
|
|
35
62
|
end
|
36
63
|
|
37
|
-
def
|
64
|
+
def handler(sender, receiver)
|
38
65
|
|
39
66
|
handler = new
|
40
67
|
handler.sender = sender
|
@@ -45,7 +72,7 @@ module MailHandler
|
|
45
72
|
|
46
73
|
private
|
47
74
|
|
48
|
-
def
|
75
|
+
def add_receiving_notifications(receiver, notifications)
|
49
76
|
|
50
77
|
if (notifications - NOTIFICATION_TYPES.keys).empty?
|
51
78
|
|
@@ -55,7 +82,7 @@ module MailHandler
|
|
55
82
|
|
56
83
|
end
|
57
84
|
|
58
|
-
def
|
85
|
+
def verify_type(type, types)
|
59
86
|
|
60
87
|
raise StandardError, "Unknown type - #{type}, possible options: #{types.keys}" unless types.keys.include? type
|
61
88
|
|
@@ -3,11 +3,9 @@ module MailHandler
|
|
3
3
|
module Receiving
|
4
4
|
|
5
5
|
#
|
6
|
-
# Email receiving checker
|
6
|
+
# Email receiving checker main class.
|
7
7
|
# @see MailHandler::Receiving::FolderChecker for example for one of implemented checkers.
|
8
8
|
#
|
9
|
-
# Checker interface is used for doing a single check whether email is in your inbox.
|
10
|
-
#
|
11
9
|
class Checker
|
12
10
|
|
13
11
|
attr_accessor :search_options,
|
@@ -9,9 +9,6 @@ module MailHandler
|
|
9
9
|
# class which describes methods to send and receive emails
|
10
10
|
class SMTPSender < Sender
|
11
11
|
|
12
|
-
# address - for smtp for example smtp.gmail.com
|
13
|
-
# port which would be used for sending
|
14
|
-
# domain for example for smtp.gmail.com it would be gmail.com
|
15
12
|
attr_accessor :address,
|
16
13
|
:port,
|
17
14
|
:domain,
|
data/lib/mailhandler/version.rb
CHANGED
data/readme.md
CHANGED
@@ -2,55 +2,55 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe MailHandler::Handler do
|
4
4
|
|
5
|
-
subject { MailHandler::Handler }
|
5
|
+
subject { MailHandler::Handler.new }
|
6
6
|
|
7
7
|
context 'receiver' do
|
8
8
|
|
9
9
|
it 'create - invalid type' do
|
10
10
|
|
11
|
-
expect { subject.
|
11
|
+
expect { subject.init_receiver(:test) }.
|
12
12
|
to raise_error(StandardError, 'Unknown type - test, possible options: [:folder, :imap]')
|
13
13
|
|
14
14
|
end
|
15
15
|
|
16
16
|
it 'create - folder' do
|
17
17
|
|
18
|
-
expect(subject.
|
18
|
+
expect(subject.init_receiver(:folder)).to be_kind_of MailHandler::Receiver
|
19
19
|
|
20
20
|
end
|
21
21
|
|
22
22
|
it 'create - imap' do
|
23
23
|
|
24
|
-
expect(subject.
|
24
|
+
expect(subject.init_receiver(:imap)).to be_kind_of MailHandler::Receiver
|
25
25
|
|
26
26
|
end
|
27
27
|
|
28
28
|
end
|
29
29
|
|
30
|
-
context '
|
30
|
+
context 'init_sender' do
|
31
31
|
|
32
32
|
it 'create - invalid type' do
|
33
33
|
|
34
|
-
expect { subject.
|
34
|
+
expect { subject.init_sender(:test) }.
|
35
35
|
to raise_error(StandardError, 'Unknown type - test, possible options: [:postmark_api, :postmark_batch_api, :smtp]')
|
36
36
|
|
37
37
|
end
|
38
38
|
|
39
39
|
it 'create - postmark api' do
|
40
40
|
|
41
|
-
expect(subject.
|
41
|
+
expect(subject.init_sender(:postmark_api)).to be_kind_of MailHandler::Sender
|
42
42
|
|
43
43
|
end
|
44
44
|
|
45
45
|
it 'create - postmark batch api' do
|
46
46
|
|
47
|
-
expect(subject.
|
47
|
+
expect(subject.init_sender(:postmark_batch_api)).to be_kind_of MailHandler::Sender
|
48
48
|
|
49
49
|
end
|
50
50
|
|
51
51
|
it 'create - smtp' do
|
52
52
|
|
53
|
-
expect(subject.
|
53
|
+
expect(subject.init_sender(:smtp)).to be_kind_of MailHandler::Sender
|
54
54
|
|
55
55
|
end
|
56
56
|
|