mailhandler 1.0.22 → 1.0.23

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: 6ffda69ae4a9be229a9071524a77f71a3b873748
4
- data.tar.gz: 6b28a918816ee5f8830529792066210b781321d2
3
+ metadata.gz: 5f8e335049c423ab5a7dd04516929263d3abe7a6
4
+ data.tar.gz: 44561c8ce6b1761f37ea3b59264d8d7368957983
5
5
  SHA512:
6
- metadata.gz: 836a3e85fe73ca400d881c44b1e520fabb78fdc63859ea98df4f7cfb8d7c34fa6188b911d3aa061e256749da63474723cb4a7fd2b4c59b5fff6a4a7708ea2bd9
7
- data.tar.gz: 13ad0ea77e75ce066cd71789343f01f49333d764e159921ea120374fcf55823a75e3742cab9bf6e7bfc1739e780d8943e441ce16b4cd644131f7945d04ec095d
6
+ metadata.gz: 680d8eaf89695cf7b3bffbbac7836f28add1142d86010f53e5adb9db4070a1a60c19736088a497a5bdc55f3e98bc93e6a109322f3cc361213cb43fb4ae7243f7
7
+ data.tar.gz: 16382ec35ecaf8044a55bb65d694217567c7c860487453895a4331f3594af735fe68a1da1c1b80787e43923ef1b765289527e686578bfc151a28d205ffb1ac6d
@@ -55,6 +55,7 @@ module MailHandler
55
55
  :by_subject,
56
56
  :by_content,
57
57
  :since,
58
+ :before,
58
59
  :by_recipient,
59
60
  :count,
60
61
  :archive,
@@ -54,6 +54,13 @@ module MailHandler
54
54
 
55
55
  end
56
56
 
57
+ def reconnect
58
+
59
+ mailer.disconnect
60
+ mailer.connect
61
+
62
+ end
63
+
57
64
  def connect
58
65
 
59
66
  mailer.connect
@@ -80,10 +87,13 @@ module MailHandler
80
87
  :before,
81
88
  :count,
82
89
  :archive,
83
- :by_recipient
90
+ :by_recipient,
91
+ :fast_check
84
92
 
85
93
  ]
86
94
 
95
+ RETRY_ON_ERROR_COUNT = 3
96
+
87
97
  # delegate retrieval details to Mail library
88
98
  def init_retriever
89
99
 
@@ -124,9 +134,29 @@ module MailHandler
124
134
 
125
135
  def find_emails(options)
126
136
 
137
+ imap_search(RETRY_ON_ERROR_COUNT, options)
138
+
139
+ end
140
+
141
+ def imap_search(retry_count, options)
142
+
127
143
  result = mailer.find(:what => :last, :count => search_options[:count], :order => :desc, :keys => imap_filter_keys(options), :delete_after_find => options[:archive])
128
144
  (result.kind_of? Array)? result : [result]
129
145
 
146
+ rescue Net::IMAP::ResponseError => e
147
+
148
+ if (retry_count -=1) >= 0
149
+
150
+ puts e
151
+ reconnect
152
+ retry
153
+
154
+ else
155
+
156
+ raise e
157
+
158
+ end
159
+
130
160
  end
131
161
 
132
162
  def imap_filter_keys(options)
@@ -62,7 +62,6 @@ module Mail
62
62
  # Start an IMAP session
63
63
  def connect(config=Mail::Configuration.instance)
64
64
 
65
- puts "connect"
66
65
  @imap = Net::IMAP.new(settings[:address], settings[:port], settings[:enable_ssl], nil, false)
67
66
 
68
67
  if settings[:authentication].nil?
@@ -77,7 +76,6 @@ module Mail
77
76
 
78
77
  def disconnect
79
78
 
80
- puts "disconnect"
81
79
  if defined?(imap) && imap && !imap.disconnected?
82
80
 
83
81
  imap.disconnect
@@ -1,5 +1,5 @@
1
1
  module MailHandler
2
2
 
3
- VERSION = '1.0.22'
3
+ VERSION = '1.0.23'
4
4
 
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mailhandler
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.22
4
+ version: 1.0.23
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Balos
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-03 00:00:00.000000000 Z
11
+ date: 2016-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mail