ishapi 0.1.8.291 → 0.1.8.292

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
  SHA256:
3
- metadata.gz: 43ce4a2424f89a52445feed0a9eb1ec84c960aed3820bf98e1acd8338337a67a
4
- data.tar.gz: a85fa506200f1e92aaf39eb333556aefe621f1420773ade7a519278aa78d7202
3
+ metadata.gz: f0eccc109ec40b082e8f36531cda0b97d004b21dd4ecaa6e5631614fdc8d9051
4
+ data.tar.gz: de11d35fa75d9752c32dc8d6e0ee83b31a3cbfc5df3d05e11305931bb34ca555
5
5
  SHA512:
6
- metadata.gz: 808696b157e630761b8405a82ccb98006b1078a1199a1653fba6f7920e1ce4f1a6a09c423db19417eb920d39605fef6d8df383ee4e71c0e75f85189d62b083b1
7
- data.tar.gz: 578585f583cc1a941675d278b281f67cbe6c0344baa6861a627197e9712c92b68f0a3e6c136cc7dbb91d4ed6f214e5b0cf51f6507a8e1889ecf15ba0ed50c101
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: the_mail.subject || '(wco no 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: the_mail.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: the_mail.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.291
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-24 00:00:00.000000000 Z
11
+ date: 2023-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails