mailhandler 1.0.4 → 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b924395c54f4c7430e84a0fac5858ce6d72910ed
4
- data.tar.gz: 3f083c164e4c3463bfbe1aecfff8c7ca4eae8693
3
+ metadata.gz: 513610366e1d8b264ccfc91af621b85adf15c917
4
+ data.tar.gz: 209bc05e5aa3bae0032326ccdc7874e1ac5c909c
5
5
  SHA512:
6
- metadata.gz: 688de2340bfaa6f2814f1cb8ff7a4fec88377fb4b20849d3eb0eff8f3228adf493d68f4e89dc599d25b7e9c44cf72f885bcd0b09275f87e82a6287f5fec762c9
7
- data.tar.gz: d0c0fc313e83921e811f72bace70a6857e582befebe13f775113905807ebfb0332eaae633dbb8a0d8e56a9281dc5ebb85aec7be4bd9507fdbfc87da124d56b6d
6
+ metadata.gz: 7e0db9b1f071f937d0a3644098d7cf493043612b971e71e189b25cd06b85321fed59a08f0ef24f627a48737ebad2cf643e32bd04554a9cf33a3cfbf9a8dbfeba
7
+ data.tar.gz: 176ab667687c4d3ae5aa651fbf9a7fae6aa9d9630bf74bf6268bb8bed333ecf527381ef3b705854c5e6dfd0dc112bd69a2d204673018767427cb981f477c3c35
@@ -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 self.sender(type = :postmark_api)
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 self.receiver(type = :folder, notifications = [])
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 self.handler(sender, receiver)
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 self.add_receiving_notifications(receiver, notifications)
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 self.verify_type(type, types)
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 interface. All email checking types need to implement it.
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,
@@ -1,5 +1,5 @@
1
1
  module MailHandler
2
2
 
3
- VERSION = '1.0.4'
3
+ VERSION = '1.0.5'
4
4
 
5
5
  end
data/readme.md CHANGED
@@ -41,7 +41,7 @@ If you plan to check for an email in your inbox which support IMAP, you can use
41
41
 
42
42
  ``` ruby
43
43
  email_receiver = MailHandler::Handler.receiver(:imap) do |checker|
44
- checker.imap_details(
44
+ checker.details(
45
45
  address,
46
46
  port,
47
47
  username,
@@ -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.receiver(:test) }.
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.receiver(:folder)).to be_kind_of MailHandler::Receiver
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.receiver(:imap)).to be_kind_of MailHandler::Receiver
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 'sender' do
30
+ context 'init_sender' do
31
31
 
32
32
  it 'create - invalid type' do
33
33
 
34
- expect { subject.sender(:test) }.
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.sender(:postmark_api)).to be_kind_of MailHandler::Sender
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.sender(:postmark_batch_api)).to be_kind_of MailHandler::Sender
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.sender(:smtp)).to be_kind_of MailHandler::Sender
53
+ expect(subject.init_sender(:smtp)).to be_kind_of MailHandler::Sender
54
54
 
55
55
  end
56
56
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mailhandler
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Balos