resend 0.6.0 → 0.7.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 154948a83edaf33d2c541d663519984ce81c88de1dfdce855d6a57b495841e19
4
- data.tar.gz: 77ff14940114642d5099134f4c9ea7eb6a504f9c2f088f208b3492df0238d481
3
+ metadata.gz: 546dd4f52e3f16e399e3d42b6fc5512628ad67249ba9e5a521f97ce428d80682
4
+ data.tar.gz: 1b291656cdbc4456dddf0aa3444e2ef4b80aef9a1429640a38073395cce99e75
5
5
  SHA512:
6
- metadata.gz: 1e4b18829fce8858425ed271eb6608e72ee00e66391d2530e868503389c66e05acb4f65d92f0ca0454abb01c40e2d58742907d628d230bc47d37f0da863290cf
7
- data.tar.gz: ddc74f6a84b63ffc26914d1230b697d04759cea952c14d3e7ec6a8743267850532303eb8260fa7db19e215bc8253b1dfa93f57a8e693e4d8121953721e8e7734
6
+ metadata.gz: e4849accfa344de0ee7db136a06e64ff3111aa73111e68a14ca708c9c5f43af73023a8921d55a436a2a0dfeb2f831dc2572fca01d59014c51adf288c378987e1
7
+ data.tar.gz: 39dfdac4232712f57d6e884318edc09155bf0bdc67110d49b22de0f88e20d4c2475ca98c91b68a0b2e505b7391884d774dcd75dafb074a3a0c17d113f1edda4f
data/lib/resend/mailer.rb CHANGED
@@ -5,11 +5,14 @@ require "resend"
5
5
  module Resend
6
6
  # Mailer class used by railtie
7
7
  class Mailer
8
- attr_accessor :config
8
+ attr_accessor :config, :settings
9
9
 
10
10
  def initialize(config)
11
11
  @config = config
12
- raise Resend::Error.new("Make sure your api is set", @config) unless Resend.api_key
12
+ raise Resend::Error.new("Make sure your API Key is set", @config) unless Resend.api_key
13
+
14
+ # avoids NilError exception
15
+ @settings = { return_response: true }
13
16
  end
14
17
 
15
18
  def deliver!(mail)
@@ -19,6 +22,7 @@ module Resend
19
22
  resp
20
23
  end
21
24
 
25
+ # Builds the payload for sending
22
26
  def build_resend_params(mail)
23
27
  params = {
24
28
  from: get_from(mail.from),
@@ -26,11 +30,20 @@ module Resend
26
30
  subject: mail.subject
27
31
  }
28
32
  params.merge!(get_addons(mail))
33
+ params.merge!(get_headers(mail))
29
34
  params[:attachments] = get_attachments(mail) if mail.attachments.present?
30
35
  params.merge!(get_contents(mail))
31
36
  params
32
37
  end
33
38
 
39
+ # Add custom headers fields
40
+ def get_headers(mail)
41
+ params = {}
42
+ params[:headers] = mail[:headers].unparsed_value if mail[:headers].present?
43
+ params
44
+ end
45
+
46
+ # Add cc, bcc, reply_to fields
34
47
  def get_addons(mail)
35
48
  params = {}
36
49
  params[:cc] = mail.cc if mail.cc.present?
@@ -39,6 +52,7 @@ module Resend
39
52
  params
40
53
  end
41
54
 
55
+ # Gets the body of the email
42
56
  def get_contents(mail)
43
57
  params = {}
44
58
  case mail.mime_type
@@ -53,12 +67,14 @@ module Resend
53
67
  params
54
68
  end
55
69
 
70
+ # Gets the `from` field
56
71
  def get_from(input)
57
72
  return input.first if input.is_a? Array
58
73
 
59
74
  input
60
75
  end
61
76
 
77
+ # Handle attachments when present
62
78
  def get_attachments(mail)
63
79
  attachments = []
64
80
  mail.attachments.each do |part|
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Resend
4
- VERSION = "0.6.0"
4
+ VERSION = "0.7.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: resend
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Derich Pacheco
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-05 00:00:00.000000000 Z
11
+ date: 2023-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -38,7 +38,7 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- description:
41
+ description:
42
42
  email: carlosderich@gmail.com
43
43
  executables: []
44
44
  extensions: []
@@ -59,7 +59,7 @@ homepage: https://github.com/resendlabs/resend-ruby
59
59
  licenses:
60
60
  - MIT
61
61
  metadata: {}
62
- post_install_message:
62
+ post_install_message:
63
63
  rdoc_options: []
64
64
  require_paths:
65
65
  - lib
@@ -74,8 +74,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  requirements: []
77
- rubygems_version: 3.0.3.1
78
- signing_key:
77
+ rubygems_version: 3.3.7
78
+ signing_key:
79
79
  specification_version: 4
80
80
  summary: The Ruby and Rails SDK for resend.com
81
81
  test_files: []