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 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