actionmailbox 7.0.8 → 7.1.3.4
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 +4 -4
- data/CHANGELOG.md +21 -115
- data/MIT-LICENSE +1 -1
- data/README.md +2 -2
- data/app/controllers/action_mailbox/ingresses/mailgun/inbound_emails_controller.rb +1 -0
- data/app/controllers/action_mailbox/ingresses/postmark/inbound_emails_controller.rb +1 -0
- data/app/controllers/action_mailbox/ingresses/relay/inbound_emails_controller.rb +1 -1
- data/app/controllers/action_mailbox/ingresses/sendgrid/inbound_emails_controller.rb +1 -0
- data/app/controllers/rails/conductor/action_mailbox/inbound_emails/sources_controller.rb +3 -1
- data/app/controllers/rails/conductor/action_mailbox/inbound_emails_controller.rb +2 -0
- data/app/controllers/rails/conductor/action_mailbox/incinerates_controller.rb +2 -0
- data/app/controllers/rails/conductor/action_mailbox/reroutes_controller.rb +2 -0
- data/app/models/action_mailbox/inbound_email/message_id.rb +1 -1
- data/app/models/action_mailbox/inbound_email.rb +8 -0
- data/app/views/rails/conductor/action_mailbox/inbound_emails/index.html.erb +3 -3
- data/config/routes.rb +1 -1
- data/db/migrate/20180917164000_create_action_mailbox_tables.rb +7 -1
- data/lib/action_mailbox/base.rb +24 -8
- data/lib/action_mailbox/callbacks.rb +2 -0
- data/lib/action_mailbox/deprecator.rb +7 -0
- data/lib/action_mailbox/engine.rb +4 -0
- data/lib/action_mailbox/gem_version.rb +4 -4
- data/lib/action_mailbox/mail_ext/addresses.rb +5 -1
- data/lib/action_mailbox/mail_ext/recipients.rb +2 -1
- data/lib/action_mailbox/router.rb +2 -0
- data/lib/action_mailbox/version.rb +1 -1
- data/lib/action_mailbox.rb +8 -0
- data/lib/rails/generators/mailbox/USAGE +1 -3
- data/lib/tasks/install.rake +1 -1
- metadata +17 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ed5413f36cf32b1e74e18e26d233ff84ab3380826011804ff30576891b8f5786
|
4
|
+
data.tar.gz: e03436544e07d8ff7812ab8f81f11d6a6279c6af30fb869942a5e880b4dc461c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0eb2437ad90bd38422ce5daff524db01274ffa82dcaf659cc4d8bda3db590308f0baf73ddbf8c8893bdf1480f0aa931d56dea02f1ee72148cedbeeb358460e5c
|
7
|
+
data.tar.gz: b55c4d5d64787b06de816b6477b0abc643130eb77af783b23af5935dc09dd826e7cf5944362f6949305ddba75d631629a7318f54012b0906c341a7d25a477063
|
data/CHANGELOG.md
CHANGED
@@ -1,165 +1,71 @@
|
|
1
|
-
## Rails 7.
|
1
|
+
## Rails 7.1.3.4 (June 04, 2024) ##
|
2
2
|
|
3
3
|
* No changes.
|
4
4
|
|
5
5
|
|
6
|
-
## Rails 7.
|
6
|
+
## Rails 7.1.3.3 (May 16, 2024) ##
|
7
7
|
|
8
8
|
* No changes.
|
9
9
|
|
10
10
|
|
11
|
-
## Rails 7.
|
11
|
+
## Rails 7.1.3.2 (February 21, 2024) ##
|
12
12
|
|
13
13
|
* No changes.
|
14
14
|
|
15
15
|
|
16
|
-
## Rails 7.
|
16
|
+
## Rails 7.1.3.1 (February 21, 2024) ##
|
17
17
|
|
18
18
|
* No changes.
|
19
19
|
|
20
20
|
|
21
|
-
## Rails 7.
|
21
|
+
## Rails 7.1.3 (January 16, 2024) ##
|
22
22
|
|
23
23
|
* No changes.
|
24
24
|
|
25
25
|
|
26
|
-
## Rails 7.
|
26
|
+
## Rails 7.1.2 (November 10, 2023) ##
|
27
27
|
|
28
28
|
* No changes.
|
29
29
|
|
30
30
|
|
31
|
-
## Rails 7.
|
31
|
+
## Rails 7.1.1 (October 11, 2023) ##
|
32
32
|
|
33
33
|
* No changes.
|
34
34
|
|
35
35
|
|
36
|
-
## Rails 7.0
|
36
|
+
## Rails 7.1.0 (October 05, 2023) ##
|
37
37
|
|
38
38
|
* No changes.
|
39
39
|
|
40
40
|
|
41
|
-
## Rails 7.0.
|
41
|
+
## Rails 7.1.0.rc2 (October 01, 2023) ##
|
42
42
|
|
43
43
|
* No changes.
|
44
44
|
|
45
45
|
|
46
|
-
## Rails 7.0.
|
46
|
+
## Rails 7.1.0.rc1 (September 27, 2023) ##
|
47
47
|
|
48
48
|
* No changes.
|
49
49
|
|
50
50
|
|
51
|
-
## Rails 7.0.
|
51
|
+
## Rails 7.1.0.beta1 (September 13, 2023) ##
|
52
52
|
|
53
|
-
*
|
54
|
-
|
55
|
-
|
56
|
-
## Rails 7.0.3.1 (July 12, 2022) ##
|
57
|
-
|
58
|
-
* No changes.
|
59
|
-
|
60
|
-
|
61
|
-
## Rails 7.0.3 (May 09, 2022) ##
|
62
|
-
|
63
|
-
* No changes.
|
64
|
-
|
65
|
-
|
66
|
-
## Rails 7.0.2.4 (April 26, 2022) ##
|
67
|
-
|
68
|
-
* No changes.
|
69
|
-
|
70
|
-
|
71
|
-
## Rails 7.0.2.3 (March 08, 2022) ##
|
72
|
-
|
73
|
-
* No changes.
|
74
|
-
|
75
|
-
|
76
|
-
## Rails 7.0.2.2 (February 11, 2022) ##
|
77
|
-
|
78
|
-
* No changes.
|
79
|
-
|
80
|
-
|
81
|
-
## Rails 7.0.2.1 (February 11, 2022) ##
|
82
|
-
|
83
|
-
* No changes.
|
84
|
-
|
85
|
-
|
86
|
-
## Rails 7.0.2 (February 08, 2022) ##
|
87
|
-
|
88
|
-
* No changes.
|
89
|
-
|
90
|
-
|
91
|
-
## Rails 7.0.1 (January 06, 2022) ##
|
92
|
-
|
93
|
-
* No changes.
|
94
|
-
|
95
|
-
|
96
|
-
## Rails 7.0.0 (December 15, 2021) ##
|
97
|
-
|
98
|
-
* No changes.
|
99
|
-
|
100
|
-
|
101
|
-
## Rails 7.0.0.rc3 (December 14, 2021) ##
|
102
|
-
|
103
|
-
* No changes.
|
104
|
-
|
105
|
-
|
106
|
-
## Rails 7.0.0.rc2 (December 14, 2021) ##
|
107
|
-
|
108
|
-
* No changes.
|
109
|
-
|
110
|
-
## Rails 7.0.0.rc1 (December 06, 2021) ##
|
111
|
-
|
112
|
-
* Removed deprecated environment variable `MAILGUN_INGRESS_API_KEY`.
|
113
|
-
|
114
|
-
*Rafael Mendonça França*
|
115
|
-
|
116
|
-
* Removed deprecated `Rails.application.credentials.action_mailbox.mailgun_api_key`.
|
117
|
-
|
118
|
-
*Rafael Mendonça França*
|
119
|
-
|
120
|
-
|
121
|
-
## Rails 7.0.0.alpha2 (September 15, 2021) ##
|
122
|
-
|
123
|
-
* No changes.
|
124
|
-
|
125
|
-
|
126
|
-
## Rails 7.0.0.alpha1 (September 15, 2021) ##
|
127
|
-
|
128
|
-
* Add `attachments` to the list of permitted parameters for inbound emails conductor.
|
129
|
-
|
130
|
-
When using the conductor to test inbound emails with attachments, this prevents an
|
131
|
-
unpermitted parameter warning in default configurations, and prevents errors for
|
132
|
-
applications that set:
|
133
|
-
|
134
|
-
```ruby
|
135
|
-
config.action_controller.action_on_unpermitted_parameters = :raise
|
136
|
-
```
|
137
|
-
|
138
|
-
*David Jones*, *Dana Henke*
|
139
|
-
|
140
|
-
* Add ability to configure ActiveStorage service
|
141
|
-
for storing email raw source.
|
53
|
+
* Added `bounce_now_with` to send the bounce email without going through a mailer queue.
|
142
54
|
|
143
|
-
|
144
|
-
# config/storage.yml
|
145
|
-
incoming_emails:
|
146
|
-
service: Disk
|
147
|
-
root: /secure/dir/for/emails/only
|
148
|
-
```
|
55
|
+
*Ronan Limon Duparcmeur*
|
149
56
|
|
150
|
-
|
151
|
-
config.action_mailbox.storage_service = :incoming_emails
|
152
|
-
```
|
57
|
+
* Support configured primary key types in generated migrations.
|
153
58
|
|
154
|
-
*
|
59
|
+
*Nishiki Liu*
|
155
60
|
|
156
|
-
*
|
61
|
+
* Fixed ingress controllers' ability to accept emails that contain no UTF-8 encoded parts.
|
157
62
|
|
158
|
-
|
63
|
+
Fixes #46297.
|
159
64
|
|
160
|
-
*
|
65
|
+
*Jan Honza Sterba*
|
161
66
|
|
162
|
-
|
67
|
+
* Add X-Forwarded-To addresses to recipients.
|
163
68
|
|
69
|
+
*Andrew Stewart*
|
164
70
|
|
165
|
-
Please check [
|
71
|
+
Please check [7-0-stable](https://github.com/rails/rails/blob/7-0-stable/actionmailbox/CHANGELOG.md) for previous changes.
|
data/MIT-LICENSE
CHANGED
data/README.md
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
# Action Mailbox
|
2
2
|
|
3
|
-
Action Mailbox routes incoming emails to controller-like mailboxes for processing in Rails. It ships with ingresses for Mailgun, Mandrill, Postmark, and SendGrid. You can also handle inbound mails directly via the built-in Exim, Postfix, and Qmail ingresses.
|
3
|
+
Action Mailbox routes incoming emails to controller-like mailboxes for processing in \Rails. It ships with ingresses for Mailgun, Mandrill, Postmark, and SendGrid. You can also handle inbound mails directly via the built-in Exim, Postfix, and Qmail ingresses.
|
4
4
|
|
5
5
|
The inbound emails are turned into `InboundEmail` records using Active Record and feature lifecycle tracking, storage of the original email on cloud storage via Active Storage, and responsible data handling with on-by-default incineration.
|
6
6
|
|
7
7
|
These inbound emails are routed asynchronously using Active Job to one or several dedicated mailboxes, which are capable of interacting directly with the rest of your domain model.
|
8
8
|
|
9
|
-
You can read more about Action Mailbox in the [Action Mailbox Basics](https://
|
9
|
+
You can read more about Action Mailbox in the [Action Mailbox Basics](https://guides.rubyonrails.org/action_mailbox_basics.html) guide.
|
10
10
|
|
11
11
|
## License
|
12
12
|
|
@@ -44,6 +44,7 @@ module ActionMailbox
|
|
44
44
|
# <tt>https://example.com/rails/action_mailbox/mailgun/inbound_emails/mime</tt>.
|
45
45
|
class Ingresses::Mailgun::InboundEmailsController < ActionMailbox::BaseController
|
46
46
|
before_action :authenticate
|
47
|
+
param_encoding :create, "body-mime", Encoding::ASCII_8BIT
|
47
48
|
|
48
49
|
def create
|
49
50
|
ActionMailbox::InboundEmail.create_and_extract_message_id! mail
|
@@ -46,6 +46,7 @@ module ActionMailbox
|
|
46
46
|
# content in JSON payload"*. Action Mailbox needs the raw email content to work.
|
47
47
|
class Ingresses::Postmark::InboundEmailsController < ActionMailbox::BaseController
|
48
48
|
before_action :authenticate_by_password
|
49
|
+
param_encoding :create, "RawEmail", Encoding::ASCII_8BIT
|
49
50
|
|
50
51
|
def create
|
51
52
|
ActionMailbox::InboundEmail.create_and_extract_message_id! params.require("RawEmail")
|
@@ -41,7 +41,7 @@ module ActionMailbox
|
|
41
41
|
# If your application lives at <tt>https://example.com</tt>, you would configure the Postfix SMTP server to pipe
|
42
42
|
# inbound emails to the following command:
|
43
43
|
#
|
44
|
-
# bin/rails action_mailbox:ingress:postfix URL=https://example.com/rails/action_mailbox/postfix/inbound_emails INGRESS_PASSWORD=...
|
44
|
+
# $ bin/rails action_mailbox:ingress:postfix URL=https://example.com/rails/action_mailbox/postfix/inbound_emails INGRESS_PASSWORD=...
|
45
45
|
#
|
46
46
|
# Built-in ingress commands are available for these popular SMTP servers:
|
47
47
|
#
|
@@ -46,6 +46,7 @@ module ActionMailbox
|
|
46
46
|
# full MIME message."* Action Mailbox needs the raw MIME message to work.
|
47
47
|
class Ingresses::Sendgrid::InboundEmailsController < ActionMailbox::BaseController
|
48
48
|
before_action :authenticate_by_password
|
49
|
+
param_encoding :create, :email, Encoding::ASCII_8BIT
|
49
50
|
|
50
51
|
def create
|
51
52
|
ActionMailbox::InboundEmail.create_and_extract_message_id! mail
|
@@ -1,7 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
# :enddoc:
|
4
|
+
|
3
5
|
module Rails
|
4
|
-
class Conductor::ActionMailbox::InboundEmails::SourcesController < Rails::Conductor::BaseController
|
6
|
+
class Conductor::ActionMailbox::InboundEmails::SourcesController < Rails::Conductor::BaseController # :nodoc:
|
5
7
|
def new
|
6
8
|
end
|
7
9
|
|
@@ -5,7 +5,7 @@
|
|
5
5
|
# web request.
|
6
6
|
#
|
7
7
|
# If an inbound email does not, against the rfc822 mandate, specify a Message-ID, one will be generated
|
8
|
-
# using the approach from
|
8
|
+
# using the approach from +Mail::MessageIdField+.
|
9
9
|
module ActionMailbox::InboundEmail::MessageId
|
10
10
|
extend ActiveSupport::Concern
|
11
11
|
|
@@ -2,6 +2,9 @@
|
|
2
2
|
|
3
3
|
<h1>All inbound emails</h1>
|
4
4
|
|
5
|
+
<%= link_to "New inbound email by form", main_app.new_rails_conductor_inbound_email_path %> |
|
6
|
+
<%= link_to "New inbound email by source", main_app.new_rails_conductor_inbound_email_source_path %>
|
7
|
+
|
5
8
|
<table>
|
6
9
|
<tr><th>Message ID</th><th>Status</th></tr>
|
7
10
|
<% @inbound_emails.each do |inbound_email| %>
|
@@ -11,6 +14,3 @@
|
|
11
14
|
</tr>
|
12
15
|
<% end %>
|
13
16
|
</table>
|
14
|
-
|
15
|
-
<%= link_to "New inbound email by form", main_app.new_rails_conductor_inbound_email_path %> |
|
16
|
-
<%= link_to "New inbound email by source", main_app.new_rails_conductor_inbound_email_source_path %>
|
data/config/routes.rb
CHANGED
@@ -16,7 +16,7 @@ Rails.application.routes.draw do
|
|
16
16
|
|
17
17
|
# TODO: Should these be mounted within the engine only?
|
18
18
|
scope "rails/conductor/action_mailbox/", module: "rails/conductor/action_mailbox" do
|
19
|
-
resources :inbound_emails, as: :rails_conductor_inbound_emails
|
19
|
+
resources :inbound_emails, as: :rails_conductor_inbound_emails, only: %i[index new show create]
|
20
20
|
get "inbound_emails/sources/new", to: "inbound_emails/sources#new", as: :new_rails_conductor_inbound_email_source
|
21
21
|
post "inbound_emails/sources", to: "inbound_emails/sources#create", as: :rails_conductor_inbound_email_sources
|
22
22
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
class CreateActionMailboxTables < ActiveRecord::Migration[6.0]
|
2
2
|
def change
|
3
|
-
create_table :action_mailbox_inbound_emails do |t|
|
3
|
+
create_table :action_mailbox_inbound_emails, id: primary_key_type do |t|
|
4
4
|
t.integer :status, default: 0, null: false
|
5
5
|
t.string :message_id, null: false
|
6
6
|
t.string :message_checksum, null: false
|
@@ -10,4 +10,10 @@ class CreateActionMailboxTables < ActiveRecord::Migration[6.0]
|
|
10
10
|
t.index [ :message_id, :message_checksum ], name: "index_action_mailbox_inbound_emails_uniqueness", unique: true
|
11
11
|
end
|
12
12
|
end
|
13
|
+
|
14
|
+
private
|
15
|
+
def primary_key_type
|
16
|
+
config = Rails.configuration.generators
|
17
|
+
config.options[config.orm][:primary_key_type] || :primary_key
|
18
|
+
end
|
13
19
|
end
|
data/lib/action_mailbox/base.rb
CHANGED
@@ -6,6 +6,8 @@ require "action_mailbox/callbacks"
|
|
6
6
|
require "action_mailbox/routing"
|
7
7
|
|
8
8
|
module ActionMailbox
|
9
|
+
# = Action Mailbox \Base
|
10
|
+
#
|
9
11
|
# The base class for all application mailboxes. Not intended to be inherited from directly. Inherit from
|
10
12
|
# +ApplicationMailbox+ instead, as that's where the app-specific routing is configured. This routing
|
11
13
|
# is specified in the following ways:
|
@@ -29,7 +31,7 @@ module ActionMailbox
|
|
29
31
|
#
|
30
32
|
# Application mailboxes need to override the #process method, which is invoked by the framework after
|
31
33
|
# callbacks have been run. The callbacks available are: +before_processing+, +after_processing+, and
|
32
|
-
# +around_processing+. The primary use case is ensure certain preconditions to processing are fulfilled
|
34
|
+
# +around_processing+. The primary use case is to ensure that certain preconditions to processing are fulfilled
|
33
35
|
# using +before_processing+ callbacks.
|
34
36
|
#
|
35
37
|
# If a precondition fails to be met, you can halt the processing using the +#bounced!+ method,
|
@@ -79,14 +81,16 @@ module ActionMailbox
|
|
79
81
|
end
|
80
82
|
|
81
83
|
def perform_processing # :nodoc:
|
82
|
-
|
83
|
-
|
84
|
-
process
|
84
|
+
ActiveSupport::Notifications.instrument "process.action_mailbox", instrumentation_payload do
|
85
|
+
track_status_of_inbound_email do
|
86
|
+
run_callbacks :process do
|
87
|
+
process
|
88
|
+
end
|
85
89
|
end
|
90
|
+
rescue => exception
|
91
|
+
# TODO: Include a reference to the inbound_email in the exception raised so error handling becomes easier
|
92
|
+
rescue_with_handler(exception) || raise
|
86
93
|
end
|
87
|
-
rescue => exception
|
88
|
-
# TODO: Include a reference to the inbound_email in the exception raised so error handling becomes easier
|
89
|
-
rescue_with_handler(exception) || raise
|
90
94
|
end
|
91
95
|
|
92
96
|
def process
|
@@ -97,14 +101,26 @@ module ActionMailbox
|
|
97
101
|
inbound_email.delivered? || inbound_email.bounced?
|
98
102
|
end
|
99
103
|
|
100
|
-
|
101
104
|
# Enqueues the given +message+ for delivery and changes the inbound email's status to +:bounced+.
|
102
105
|
def bounce_with(message)
|
103
106
|
inbound_email.bounced!
|
104
107
|
message.deliver_later
|
105
108
|
end
|
106
109
|
|
110
|
+
# Immediately sends the given +message+ and changes the inbound email's status to +:bounced+.
|
111
|
+
def bounce_now_with(message)
|
112
|
+
inbound_email.bounced!
|
113
|
+
message.deliver_now
|
114
|
+
end
|
115
|
+
|
107
116
|
private
|
117
|
+
def instrumentation_payload
|
118
|
+
{
|
119
|
+
mailbox: self,
|
120
|
+
inbound_email: inbound_email.instrumentation_payload
|
121
|
+
}
|
122
|
+
end
|
123
|
+
|
108
124
|
def track_status_of_inbound_email
|
109
125
|
inbound_email.processing!
|
110
126
|
yield
|
@@ -22,6 +22,10 @@ module ActionMailbox
|
|
22
22
|
|
23
23
|
config.action_mailbox.storage_service = nil
|
24
24
|
|
25
|
+
initializer "action_mailbox.deprecator", before: :load_environment_config do |app|
|
26
|
+
app.deprecators[:action_mailbox] = ActionMailbox.deprecator
|
27
|
+
end
|
28
|
+
|
25
29
|
initializer "action_mailbox.config" do
|
26
30
|
config.after_initialize do |app|
|
27
31
|
ActionMailbox.logger = app.config.action_mailbox.logger || Rails.logger
|
@@ -1,16 +1,16 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module ActionMailbox
|
4
|
-
# Returns the currently loaded version of Action Mailbox as a
|
4
|
+
# Returns the currently loaded version of Action Mailbox as a +Gem::Version+.
|
5
5
|
def self.gem_version
|
6
6
|
Gem::Version.new VERSION::STRING
|
7
7
|
end
|
8
8
|
|
9
9
|
module VERSION
|
10
10
|
MAJOR = 7
|
11
|
-
MINOR =
|
12
|
-
TINY =
|
13
|
-
PRE =
|
11
|
+
MINOR = 1
|
12
|
+
TINY = 3
|
13
|
+
PRE = "4"
|
14
14
|
|
15
15
|
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
16
16
|
end
|
@@ -7,7 +7,7 @@ module Mail
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def recipients_addresses
|
10
|
-
to_addresses + cc_addresses + bcc_addresses + x_original_to_addresses
|
10
|
+
to_addresses + cc_addresses + bcc_addresses + x_original_to_addresses + x_forwarded_to_addresses
|
11
11
|
end
|
12
12
|
|
13
13
|
def to_addresses
|
@@ -26,6 +26,10 @@ module Mail
|
|
26
26
|
Array(header[:x_original_to]).collect { |header| Mail::Address.new header.to_s }
|
27
27
|
end
|
28
28
|
|
29
|
+
def x_forwarded_to_addresses
|
30
|
+
Array(header[:x_forwarded_to]).collect { |header| Mail::Address.new header.to_s }
|
31
|
+
end
|
32
|
+
|
29
33
|
private
|
30
34
|
def address_list(obj)
|
31
35
|
if obj&.respond_to?(:element)
|
@@ -3,7 +3,8 @@
|
|
3
3
|
module Mail
|
4
4
|
class Message
|
5
5
|
def recipients
|
6
|
-
Array(to) + Array(cc) + Array(bcc) + Array(header[:x_original_to]).map(&:to_s)
|
6
|
+
Array(to) + Array(cc) + Array(bcc) + Array(header[:x_original_to]).map(&:to_s) +
|
7
|
+
Array(header[:x_forwarded_to]).map(&:to_s)
|
7
8
|
end
|
8
9
|
end
|
9
10
|
end
|
data/lib/action_mailbox.rb
CHANGED
@@ -1,7 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "active_support"
|
4
|
+
require "active_support/rails"
|
5
|
+
require "active_support/core_ext/numeric/time"
|
6
|
+
|
7
|
+
require "action_mailbox/version"
|
8
|
+
require "action_mailbox/deprecator"
|
3
9
|
require "action_mailbox/mail_ext"
|
4
10
|
|
11
|
+
# :markup: markdown
|
12
|
+
# :include: actionmailbox/README.md
|
5
13
|
module ActionMailbox
|
6
14
|
extend ActiveSupport::Autoload
|
7
15
|
|
@@ -1,11 +1,9 @@
|
|
1
1
|
Description:
|
2
|
-
============
|
3
2
|
Generates a new mailbox class in app/mailboxes and invokes your template
|
4
3
|
engine and test framework generators.
|
5
4
|
|
6
5
|
Example:
|
7
|
-
|
8
|
-
bin/rails generate mailbox inbox
|
6
|
+
`bin/rails generate mailbox inbox`
|
9
7
|
|
10
8
|
creates an InboxMailbox class and test:
|
11
9
|
Mailbox: app/mailboxes/inbox_mailbox.rb
|
data/lib/tasks/install.rake
CHANGED
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: 7.
|
4
|
+
version: 7.1.3.4
|
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:
|
12
|
+
date: 2024-06-04 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: 7.
|
20
|
+
version: 7.1.3.4
|
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: 7.
|
27
|
+
version: 7.1.3.4
|
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: 7.
|
34
|
+
version: 7.1.3.4
|
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: 7.
|
41
|
+
version: 7.1.3.4
|
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: 7.
|
48
|
+
version: 7.1.3.4
|
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: 7.
|
55
|
+
version: 7.1.3.4
|
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: 7.
|
62
|
+
version: 7.1.3.4
|
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: 7.
|
69
|
+
version: 7.1.3.4
|
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: 7.
|
76
|
+
version: 7.1.3.4
|
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: 7.
|
83
|
+
version: 7.1.3.4
|
84
84
|
- !ruby/object:Gem::Dependency
|
85
85
|
name: mail
|
86
86
|
requirement: !ruby/object:Gem::Requirement
|
@@ -177,6 +177,7 @@ files:
|
|
177
177
|
- lib/action_mailbox.rb
|
178
178
|
- lib/action_mailbox/base.rb
|
179
179
|
- lib/action_mailbox/callbacks.rb
|
180
|
+
- lib/action_mailbox/deprecator.rb
|
180
181
|
- lib/action_mailbox/engine.rb
|
181
182
|
- lib/action_mailbox/gem_version.rb
|
182
183
|
- lib/action_mailbox/mail_ext.rb
|
@@ -206,10 +207,10 @@ licenses:
|
|
206
207
|
- MIT
|
207
208
|
metadata:
|
208
209
|
bug_tracker_uri: https://github.com/rails/rails/issues
|
209
|
-
changelog_uri: https://github.com/rails/rails/blob/v7.
|
210
|
-
documentation_uri: https://api.rubyonrails.org/v7.
|
210
|
+
changelog_uri: https://github.com/rails/rails/blob/v7.1.3.4/actionmailbox/CHANGELOG.md
|
211
|
+
documentation_uri: https://api.rubyonrails.org/v7.1.3.4/
|
211
212
|
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
|
212
|
-
source_code_uri: https://github.com/rails/rails/tree/v7.
|
213
|
+
source_code_uri: https://github.com/rails/rails/tree/v7.1.3.4/actionmailbox
|
213
214
|
rubygems_mfa_required: 'true'
|
214
215
|
post_install_message:
|
215
216
|
rdoc_options: []
|
@@ -226,7 +227,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
226
227
|
- !ruby/object:Gem::Version
|
227
228
|
version: '0'
|
228
229
|
requirements: []
|
229
|
-
rubygems_version: 3.
|
230
|
+
rubygems_version: 3.3.27
|
230
231
|
signing_key:
|
231
232
|
specification_version: 4
|
232
233
|
summary: Inbound email handling framework.
|