goodmail 0.3.1 → 0.4.0
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/.rubocop.yml +199 -0
- data/.simplecov +55 -0
- data/CHANGELOG.md +73 -0
- data/README.md +127 -55
- data/Rakefile +12 -1
- data/context7.json +4 -0
- data/examples/PAY_TESTING_GUIDE.md +497 -0
- data/examples/pay_goodmailer.rb +518 -0
- data/lib/goodmail/action_mailer_integration.rb +286 -0
- data/lib/goodmail/builder.rb +304 -15
- data/lib/goodmail/configuration.rb +40 -3
- data/lib/goodmail/dispatcher.rb +41 -42
- data/lib/goodmail/email.rb +82 -46
- data/lib/goodmail/layout.erb +0 -1
- data/lib/goodmail/layout.rb +1 -1
- data/lib/goodmail/mailer.rb +19 -44
- data/lib/goodmail/plaintext.rb +236 -0
- data/lib/goodmail/version.rb +1 -1
- data/lib/goodmail.rb +8 -4
- metadata +22 -29
data/lib/goodmail/version.rb
CHANGED
data/lib/goodmail.rb
CHANGED
|
@@ -10,8 +10,11 @@ require_relative "goodmail/configuration"
|
|
|
10
10
|
require_relative "goodmail/error" # Load Error class explicitly if needed elsewhere
|
|
11
11
|
require_relative "goodmail/builder"
|
|
12
12
|
require_relative "goodmail/layout"
|
|
13
|
+
require_relative "goodmail/plaintext" # Shared plaintext generator
|
|
13
14
|
require_relative "goodmail/email"
|
|
14
|
-
require_relative "goodmail/
|
|
15
|
+
require_relative "goodmail/action_mailer_integration"
|
|
16
|
+
Goodmail.install_action_mailer_integration!
|
|
17
|
+
require_relative "goodmail/mailer" # Require the internal Mailer
|
|
15
18
|
require_relative "goodmail/dispatcher"
|
|
16
19
|
|
|
17
20
|
# The main namespace for the Goodmail gem.
|
|
@@ -20,16 +23,17 @@ module Goodmail
|
|
|
20
23
|
# Extend self with Configuration module methods (config, configure, reset_config!)
|
|
21
24
|
extend Configuration
|
|
22
25
|
|
|
23
|
-
# Composes
|
|
26
|
+
# Composes an ActionMailer::MessageDelivery using the Goodmail DSL and layout.
|
|
24
27
|
#
|
|
25
28
|
# This is the primary entry point for creating emails with Goodmail.
|
|
26
|
-
# The returned
|
|
29
|
+
# The returned MessageDelivery can then have `.deliver_now` or
|
|
27
30
|
# `.deliver_later` called on it.
|
|
28
31
|
#
|
|
29
32
|
# @param headers [Hash] Mail headers (:to, :from, :subject, etc.)
|
|
30
33
|
# Also accepts :unsubscribe (true or String URL).
|
|
31
34
|
# @param block [Proc] Block containing Goodmail DSL calls (text, button, etc.)
|
|
32
|
-
# @return [
|
|
35
|
+
# @return [ActionMailer::MessageDelivery] The generated message delivery,
|
|
36
|
+
# ready for delivery.
|
|
33
37
|
#
|
|
34
38
|
# @example
|
|
35
39
|
# mail = Goodmail.compose(to: 'user@example.com', subject: 'Hello!') do
|
metadata
CHANGED
|
@@ -1,84 +1,70 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: goodmail
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- rameerez
|
|
8
8
|
bindir: exe
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date: 2026-
|
|
10
|
+
date: 2026-05-21 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
|
-
name: rails
|
|
13
|
+
name: premailer-rails
|
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
|
15
15
|
requirements:
|
|
16
16
|
- - ">="
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: '
|
|
18
|
+
version: '1.10'
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - ">="
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: '
|
|
25
|
+
version: '1.10'
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
|
-
name: rails
|
|
27
|
+
name: rails
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
29
29
|
requirements:
|
|
30
30
|
- - ">="
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: '
|
|
32
|
+
version: '7.0'
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
36
36
|
requirements:
|
|
37
37
|
- - ">="
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: '
|
|
39
|
+
version: '7.0'
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
41
|
-
name:
|
|
41
|
+
name: rails-html-sanitizer
|
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
|
43
43
|
requirements:
|
|
44
44
|
- - ">="
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: '1.
|
|
46
|
+
version: '1.0'
|
|
47
47
|
type: :runtime
|
|
48
48
|
prerelease: false
|
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
50
50
|
requirements:
|
|
51
51
|
- - ">="
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: '1.
|
|
53
|
+
version: '1.0'
|
|
54
54
|
- !ruby/object:Gem::Dependency
|
|
55
|
-
name:
|
|
55
|
+
name: ostruct
|
|
56
56
|
requirement: !ruby/object:Gem::Requirement
|
|
57
57
|
requirements:
|
|
58
58
|
- - ">="
|
|
59
59
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: '0'
|
|
61
|
-
type: :
|
|
60
|
+
version: '0.6'
|
|
61
|
+
type: :runtime
|
|
62
62
|
prerelease: false
|
|
63
63
|
version_requirements: !ruby/object:Gem::Requirement
|
|
64
64
|
requirements:
|
|
65
65
|
- - ">="
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: '0'
|
|
68
|
-
- !ruby/object:Gem::Dependency
|
|
69
|
-
name: rake
|
|
70
|
-
requirement: !ruby/object:Gem::Requirement
|
|
71
|
-
requirements:
|
|
72
|
-
- - "~>"
|
|
73
|
-
- !ruby/object:Gem::Version
|
|
74
|
-
version: '13.0'
|
|
75
|
-
type: :development
|
|
76
|
-
prerelease: false
|
|
77
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
78
|
-
requirements:
|
|
79
|
-
- - "~>"
|
|
80
|
-
- !ruby/object:Gem::Version
|
|
81
|
-
version: '13.0'
|
|
67
|
+
version: '0.6'
|
|
82
68
|
description: Send beautiful, simple transactional emails with zero HTML hell. Goodmail
|
|
83
69
|
is a minimal, opinionated, expressive Ruby DSL for sending production-grade transactional
|
|
84
70
|
emails in Rails apps that look good in any email client out of the box.
|
|
@@ -88,11 +74,17 @@ executables: []
|
|
|
88
74
|
extensions: []
|
|
89
75
|
extra_rdoc_files: []
|
|
90
76
|
files:
|
|
77
|
+
- ".rubocop.yml"
|
|
78
|
+
- ".simplecov"
|
|
91
79
|
- CHANGELOG.md
|
|
92
80
|
- LICENSE.txt
|
|
93
81
|
- README.md
|
|
94
82
|
- Rakefile
|
|
83
|
+
- context7.json
|
|
84
|
+
- examples/PAY_TESTING_GUIDE.md
|
|
85
|
+
- examples/pay_goodmailer.rb
|
|
95
86
|
- lib/goodmail.rb
|
|
87
|
+
- lib/goodmail/action_mailer_integration.rb
|
|
96
88
|
- lib/goodmail/builder.rb
|
|
97
89
|
- lib/goodmail/configuration.rb
|
|
98
90
|
- lib/goodmail/dispatcher.rb
|
|
@@ -101,6 +93,7 @@ files:
|
|
|
101
93
|
- lib/goodmail/layout.erb
|
|
102
94
|
- lib/goodmail/layout.rb
|
|
103
95
|
- lib/goodmail/mailer.rb
|
|
96
|
+
- lib/goodmail/plaintext.rb
|
|
104
97
|
- lib/goodmail/version.rb
|
|
105
98
|
- mailgood.webp
|
|
106
99
|
- sig/goodmail.rbs
|