actionmailbox 6.0.0.beta1 → 6.0.0.beta2

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: beb8145f8e8da8e158c0811ec7522495e294d13727c4960ec1810654d17c1299
4
- data.tar.gz: f01ffcc7f94e19ffac7f01c4036886d6ad8ee9e57292e12920a1c98b954a7ce4
3
+ metadata.gz: c23415495825cca15ad9d5a4c9cba1dd5fb5c4cb77e3b2eaf951b5e099b8f9e9
4
+ data.tar.gz: 2cdb3f49842ae19d3bc637faec19bfa1181519a9341c6f56db66ec3dab3787cc
5
5
  SHA512:
6
- metadata.gz: 9219f0eb8d3f102068e9ea9b8c48e223e57ac79348d76c5418eb2e85ba797df68b3f8f8a0ee0f6881044c64ea38a3d0264d123550aef9aa5ac958e5f9d420d51
7
- data.tar.gz: 32707b7b14716c46e76069a189275fd8f8ee064aa164cdbecccce869579719163a6e0ec33336dda9417363923a9e2d4958dffa916a0d9ad2e7ade9ae96e11c97
6
+ metadata.gz: 20cbc8de6837bb3368dd1a05485823620552d67f497f144be37fd939b5745ec6211d67a71a45cc774db7f72cd69b27dc8597903d42fd8a0793343bf1a0ab1d9a
7
+ data.tar.gz: d8bd32f6900c71a653c9479b27b25c4325fd57dd553745cb21f2abf557ff418f05ecbd9f98f7b64b34b91a7694db85164982228a19a64a3facf3d469243b4df9
@@ -1,3 +1,11 @@
1
+ ## Rails 6.0.0.beta2 (February 25, 2019) ##
2
+
3
+ * Allow skipping incineration of processed emails.
4
+
5
+ This can be done by setting `config.action_mailbox.incinerate` to `false`.
6
+
7
+ *Pratik Naik*
8
+
1
9
  ## Rails 6.0.0.beta1 (January 18, 2019) ##
2
10
 
3
11
  * Added to Rails.
@@ -22,7 +22,7 @@ module Rails
22
22
  def new_mail
23
23
  Mail.new(params.require(:mail).permit(:from, :to, :cc, :bcc, :in_reply_to, :subject, :body).to_h).tap do |mail|
24
24
  params[:mail][:attachments].to_a.each do |attachment|
25
- mail.attachments[attachment.original_filename] = { filename: attachment.path, content_type: attachment.content_type }
25
+ mail.add_file(filename: attachment.path, content: attachment.read)
26
26
  end
27
27
  end
28
28
  end
@@ -6,6 +6,9 @@ module ActionMailbox
6
6
  #
7
7
  # Since this incineration is set for the future, it'll automatically ignore any <tt>InboundEmail</tt>s
8
8
  # that have already been deleted and discard itself if so.
9
+ #
10
+ # You can disable incinerating processed emails by setting +config.action_mailbox.incinerate+ or
11
+ # +ActionMailbox.incinerate+ to +false+.
9
12
  class IncinerationJob < ActiveJob::Base
10
13
  queue_as { ActionMailbox.queues[:incineration] }
11
14
 
@@ -7,7 +7,7 @@ module ActionMailbox::InboundEmail::Incineratable
7
7
  extend ActiveSupport::Concern
8
8
 
9
9
  included do
10
- after_update_commit :incinerate_later, if: -> { status_previously_changed? && processed? }
10
+ after_update_commit :incinerate_later, if: -> { ActionMailbox.incinerate && status_previously_changed? && processed? }
11
11
  end
12
12
 
13
13
  def incinerate_later
@@ -4,4 +4,5 @@
4
4
  </head>
5
5
  <body>
6
6
  <%= yield %>
7
+ </body>
7
8
  </html>
@@ -5,11 +5,7 @@ class CreateActionMailboxTables < ActiveRecord::Migration[6.0]
5
5
  t.string :message_id, null: false
6
6
  t.string :message_checksum, null: false
7
7
 
8
- if supports_datetime_with_precision?
9
- t.timestamps precision: 6
10
- else
11
- t.timestamps
12
- end
8
+ t.timestamps
13
9
 
14
10
  t.index [ :message_id, :message_checksum ], name: "index_action_mailbox_inbound_emails_uniqueness", unique: true
15
11
  end
@@ -11,6 +11,7 @@ module ActionMailbox
11
11
 
12
12
  mattr_accessor :ingress
13
13
  mattr_accessor :logger
14
+ mattr_accessor :incinerate, default: true
14
15
  mattr_accessor :incinerate_after, default: 30.days
15
16
  mattr_accessor :queues, default: {}
16
17
  end
@@ -14,6 +14,7 @@ module ActionMailbox
14
14
  config.eager_load_namespaces << ActionMailbox
15
15
 
16
16
  config.action_mailbox = ActiveSupport::OrderedOptions.new
17
+ config.action_mailbox.incinerate = true
17
18
  config.action_mailbox.incinerate_after = 30.days
18
19
 
19
20
  config.action_mailbox.queues = ActiveSupport::InheritableOptions.new \
@@ -22,18 +23,17 @@ module ActionMailbox
22
23
  initializer "action_mailbox.config" do
23
24
  config.after_initialize do |app|
24
25
  ActionMailbox.logger = app.config.action_mailbox.logger || Rails.logger
26
+ ActionMailbox.incinerate = app.config.action_mailbox.incinerate.nil? ? true : app.config.action_mailbox.incinerate
25
27
  ActionMailbox.incinerate_after = app.config.action_mailbox.incinerate_after || 30.days
26
28
  ActionMailbox.queues = app.config.action_mailbox.queues || {}
27
29
  end
28
30
  end
29
31
 
30
- initializer "action_mailbox.ingress" do
31
- config.after_initialize do |app|
32
+ initializer "action_mailbox.ingress" do |app|
33
+ config.to_prepare do
32
34
  if ActionMailbox.ingress = app.config.action_mailbox.ingress.presence
33
- config.to_prepare do
34
- if ingress_controller_class = "ActionMailbox::Ingresses::#{ActionMailbox.ingress.to_s.classify}::InboundEmailsController".safe_constantize
35
- ingress_controller_class.prepare
36
- end
35
+ if ingress_controller_class = "ActionMailbox::Ingresses::#{ActionMailbox.ingress.to_s.classify}::InboundEmailsController".safe_constantize
36
+ ingress_controller_class.prepare
37
37
  end
38
38
  end
39
39
  end
@@ -10,7 +10,7 @@ module ActionMailbox
10
10
  MAJOR = 6
11
11
  MINOR = 0
12
12
  TINY = 0
13
- PRE = "beta1"
13
+ PRE = "beta2"
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
16
16
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: actionmailbox
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.0.beta1
4
+ version: 6.0.0.beta2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-01-18 00:00:00.000000000 Z
12
+ date: 2019-02-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -17,70 +17,70 @@ dependencies:
17
17
  requirements:
18
18
  - - '='
19
19
  - !ruby/object:Gem::Version
20
- version: 6.0.0.beta1
20
+ version: 6.0.0.beta2
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - '='
26
26
  - !ruby/object:Gem::Version
27
- version: 6.0.0.beta1
27
+ version: 6.0.0.beta2
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: activerecord
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - '='
33
33
  - !ruby/object:Gem::Version
34
- version: 6.0.0.beta1
34
+ version: 6.0.0.beta2
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - '='
40
40
  - !ruby/object:Gem::Version
41
- version: 6.0.0.beta1
41
+ version: 6.0.0.beta2
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: activestorage
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - '='
47
47
  - !ruby/object:Gem::Version
48
- version: 6.0.0.beta1
48
+ version: 6.0.0.beta2
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - '='
54
54
  - !ruby/object:Gem::Version
55
- version: 6.0.0.beta1
55
+ version: 6.0.0.beta2
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: activejob
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - '='
61
61
  - !ruby/object:Gem::Version
62
- version: 6.0.0.beta1
62
+ version: 6.0.0.beta2
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - '='
68
68
  - !ruby/object:Gem::Version
69
- version: 6.0.0.beta1
69
+ version: 6.0.0.beta2
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: actionpack
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - '='
75
75
  - !ruby/object:Gem::Version
76
- version: 6.0.0.beta1
76
+ version: 6.0.0.beta2
77
77
  type: :runtime
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - '='
82
82
  - !ruby/object:Gem::Version
83
- version: 6.0.0.beta1
83
+ version: 6.0.0.beta2
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: mail
86
86
  requirement: !ruby/object:Gem::Requirement
@@ -160,8 +160,8 @@ homepage: https://rubyonrails.org
160
160
  licenses:
161
161
  - MIT
162
162
  metadata:
163
- source_code_uri: https://github.com/rails/rails/tree/v6.0.0.beta1/actionmailbox
164
- changelog_uri: https://github.com/rails/rails/blob/v6.0.0.beta1/actionmailbox/CHANGELOG.md
163
+ source_code_uri: https://github.com/rails/rails/tree/v6.0.0.beta2/actionmailbox
164
+ changelog_uri: https://github.com/rails/rails/blob/v6.0.0.beta2/actionmailbox/CHANGELOG.md
165
165
  post_install_message:
166
166
  rdoc_options: []
167
167
  require_paths: