email-verification 0.1.3 → 0.1.4

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
  SHA256:
3
- metadata.gz: 702f0833319b309cd3965f937dc4fc227c49a4d8be80f74189fd8b5c9bab8d3e
4
- data.tar.gz: 6993c38b5add429ad7414fb45c8b25fc50da26ccb341578c0723a08091279caa
3
+ metadata.gz: 7f255eb6d2773f206b9c43a2df45012c5c342a755483f39862d519e191bdc1f8
4
+ data.tar.gz: c43048bd9c00b2410624d4fb75aebddf73d42542f4ab47e99159a9c0bab86458
5
5
  SHA512:
6
- metadata.gz: 07f70cc1ed87d500a6b24780833bee31a4b71ce60ee34cc040650835316e6e6548c7cd80f32f692195a0d40ae1234892fd0c9587c93a01135366c5d5e2522ba6
7
- data.tar.gz: 9f91d48d9339116f82cbad905b0233f515f4dc4b223b391e1c515a3f78c7d973c0ac0997f86ccfcfda9be51beb971b95b757853ad2a4aa5a9d7149650236b9d3
6
+ metadata.gz: 1f5d037971474115d513de1b47337bb6c7fdd0b03ed4745eb06e58f55155f6704342dc3894bf53879ec05ca32061141db71ef82a67ab6aa0c68235389f2988fd
7
+ data.tar.gz: ad29ae280885a522eb3f4d915c10bb917b1291a6fe14363dd32f69cc7e6c6100c73a23f61f764e3e8cdb22d71595e0c371bd64aaf77628f8b3f98d37afe3d63c
@@ -27,11 +27,9 @@ module Email
27
27
  if settings_provided?(settings)
28
28
  matching_subject = settings[:subject].nil? || (!settings[:subject].nil? && email.subject =~ settings[:subject])
29
29
 
30
- if email.from&.first&.strip == settings[:address] && matching_subject
31
- emails << (email.html_part || email.text_part || email).body.decoded
32
- end
30
+ emails << email_body(email) if email.from&.first&.strip == settings[:address] && matching_subject
33
31
  else
34
- emails << (email.html_part || email.text_part || email).body.decoded
32
+ emails << email_body(email)
35
33
  end
36
34
  end
37
35
  end
@@ -54,6 +52,15 @@ module Email
54
52
  settings && !settings.empty?
55
53
  end
56
54
 
55
+ def email_body(email)
56
+ body = (email.html_part || email.text_part || email)&.body&.decoded
57
+ force_utf8(body)
58
+ end
59
+
60
+ def force_utf8(string)
61
+ string&.encode("UTF-8", invalid: :replace, undef: :replace, replace: '')&.force_encoding('UTF-8')
62
+ end
63
+
57
64
  def log(message)
58
65
  puts "[Email::Verification] - #{Time.now.to_s}: #{message}" if self.configuration.verbose
59
66
  end
@@ -17,14 +17,12 @@ module Email
17
17
  matching_name = settings[:from].to_s.empty? || (!settings[:from].to_s.empty? && email.from.first.name == settings[:from])
18
18
  matching_subject = settings[:subject].nil? || (!settings[:subject].nil? && email.subject =~ settings[:subject])
19
19
 
20
- if matching_name && matching_subject
21
- emails << (email.html_part || email.text_part || email).body.decoded
22
- email.read! if mark_as_read
23
- end
20
+ emails << email_body(email) if matching_name && matching_subject
24
21
  else
25
- emails << (email.html_part || email.text_part || email).body.decoded
26
- email.read! if mark_as_read
22
+ emails << email_body(email)
27
23
  end
24
+
25
+ email.read! if mark_as_read
28
26
  end
29
27
  end
30
28
 
@@ -1,5 +1,5 @@
1
1
  module Email
2
2
  module Verification
3
- VERSION = "0.1.3"
3
+ VERSION = "0.1.4"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: email-verification
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sebastian Johnsson