ishapi 0.1.8.291 → 0.1.8.292
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/jobs/ishapi/email_message_intake_job.rb +29 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f0eccc109ec40b082e8f36531cda0b97d004b21dd4ecaa6e5631614fdc8d9051
|
4
|
+
data.tar.gz: de11d35fa75d9752c32dc8d6e0ee83b31a3cbfc5df3d05e11305931bb34ca555
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c1b9e369a9dd15f3aa8dbba842bddf94ab5ea3c3d99df44f452b90da7b906a9f65e69475814aaf7cf04d78c79c7d1862047b3138e1b7d0d27b6ed411b8e952b0
|
7
|
+
data.tar.gz: 8d461fc7c5ba44dc92c1e27bb1a5ede8188b9387578341a5848cd0d29155aa30b6e004b4cdac4cd580a756561c4b4c45d80a13562a3665dd8855975b244c600a
|
@@ -44,6 +44,28 @@ class Ishapi::EmailMessageIntakeJob < Ishapi::ApplicationJob
|
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
|
+
## From: https://stackoverflow.com/questions/24672834/how-do-i-remove-emoji-from-string/24673322
|
48
|
+
def strip_emoji(text)
|
49
|
+
text = text.force_encoding('utf-8').encode
|
50
|
+
clean = ""
|
51
|
+
|
52
|
+
# symbols & pics
|
53
|
+
regex = /[\u{1f300}-\u{1f5ff}]/
|
54
|
+
clean = text.gsub regex, ""
|
55
|
+
|
56
|
+
# enclosed chars
|
57
|
+
regex = /[\u{2500}-\u{2BEF}]/ # I changed this to exclude chinese char
|
58
|
+
clean = clean.gsub regex, ""
|
59
|
+
|
60
|
+
# emoticons
|
61
|
+
regex = /[\u{1f600}-\u{1f64f}]/
|
62
|
+
clean = clean.gsub regex, ""
|
63
|
+
|
64
|
+
#dingbats
|
65
|
+
regex = /[\u{2702}-\u{27b0}]/
|
66
|
+
clean = clean.gsub regex, ""
|
67
|
+
end
|
68
|
+
|
47
69
|
def perform id
|
48
70
|
stub = ::Office::EmailMessageStub.find id
|
49
71
|
if !Rails.env.test?
|
@@ -69,6 +91,10 @@ class Ishapi::EmailMessageIntakeJob < Ishapi::ApplicationJob
|
|
69
91
|
the_mail.to = [ 'NO-RECIPIENT' ]
|
70
92
|
end
|
71
93
|
|
94
|
+
|
95
|
+
subject = strip_emoji the_mail.subject
|
96
|
+
subject ||= '(wco no subject)'
|
97
|
+
|
72
98
|
@message = ::Office::EmailMessage.where( message_id: message_id ).first
|
73
99
|
@message ||= ::Office::EmailMessage.new
|
74
100
|
@message.assign_attributes({
|
@@ -80,7 +106,7 @@ class Ishapi::EmailMessageIntakeJob < Ishapi::ApplicationJob
|
|
80
106
|
object_key: stub.object_key,
|
81
107
|
# object_path: stub.object_path,
|
82
108
|
|
83
|
-
subject:
|
109
|
+
subject: subject,
|
84
110
|
date: the_mail.date,
|
85
111
|
|
86
112
|
from: the_mail.from ? the_mail.from[0] : "nobody@unknown.domain",
|
@@ -139,7 +165,7 @@ class Ishapi::EmailMessageIntakeJob < Ishapi::ApplicationJob
|
|
139
165
|
in_reply_to_msg = ::Office::EmailMessage.where({ message_id: in_reply_to_id }).first
|
140
166
|
if !in_reply_to_msg
|
141
167
|
conv = ::Office::EmailConversation.find_or_create_by({
|
142
|
-
subject:
|
168
|
+
subject: @message.subject,
|
143
169
|
})
|
144
170
|
in_reply_to_msg = ::Office::EmailMessage.find_or_create_by({
|
145
171
|
message_id: in_reply_to_id,
|
@@ -149,7 +175,7 @@ class Ishapi::EmailMessageIntakeJob < Ishapi::ApplicationJob
|
|
149
175
|
conv = in_reply_to_msg.email_conversation
|
150
176
|
else
|
151
177
|
conv = ::Office::EmailConversation.find_or_create_by({
|
152
|
-
subject:
|
178
|
+
subject: @message.subject,
|
153
179
|
})
|
154
180
|
end
|
155
181
|
@message.update_attributes({ email_conversation_id: conv.id })
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ishapi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.8.
|
4
|
+
version: 0.1.8.292
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- piousbox
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-09-
|
11
|
+
date: 2023-09-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|