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.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Goodmail
4
- VERSION = "0.3.1"
4
+ VERSION = "0.4.0"
5
5
  end
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/mailer" # Require the internal Mailer
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 a Mail::Message object using the Goodmail DSL and layout.
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 Mail::Message object can then have `.deliver_now` or
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 [Mail::Message] The generated Mail object, ready for delivery.
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.3.1
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-02-25 00:00:00.000000000 Z
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: '7.0'
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: '7.0'
25
+ version: '1.10'
26
26
  - !ruby/object:Gem::Dependency
27
- name: rails-html-sanitizer
27
+ name: rails
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: '1.0'
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: '1.0'
39
+ version: '7.0'
40
40
  - !ruby/object:Gem::Dependency
41
- name: premailer-rails
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.10'
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.10'
53
+ version: '1.0'
54
54
  - !ruby/object:Gem::Dependency
55
- name: pry
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: :development
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