ohmysmtp-rails 0.1.0 → 0.1.5

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: 056dbcc06cf514f4ea4ab5b24eb3606a7b170ffd485c32aead49088b4e2666ef
4
- data.tar.gz: 54faecc5475e5fb710bc63242c80e287cfc0be004ba0cdf4eecdcf14eaf428b2
3
+ metadata.gz: cb55e14160a857b8a6fc2355551c8ad9121f1cd715afb741baa062793b1560b8
4
+ data.tar.gz: 32251e93c2b3c08f3d59f185e427df7d84bea295be08a90c90a57854111dc976
5
5
  SHA512:
6
- metadata.gz: 2fb219e0e85ce7e3df8431b96f2abad253439a5ef51c2d4b8e367c1e6eec6f6b0c1cfb76bcbf8c2cf4090171dfdedf256689c206b0edad17355b3c11fb71db36
7
- data.tar.gz: 29d62a2f03de60de38187c8e6dfcf4509d34b04dcbbecb05c1bbae757156f2ce72ee7184f9faf271841038537a04c980900f6b941ebdec76e1a9841f11753d96
6
+ metadata.gz: f0b424316ae395667c4c833f38944f955eb508104facf16f601a973f00b8603149592fa3b6cf9ae210ab2e0047df5ff7dcc59130415523a39cf02ec19c0d2dcf
7
+ data.tar.gz: 17bcb1101f56de25245fcc319b693e7c8629a598a89dbeb971bebc28a00def77f86d100d8ef2e822cf57fc97b50b5aba1d5f9471e808660e5ceb3ae345d3d101
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # OhMySMTP::Rails
2
2
 
3
3
  [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
4
+ [![Gem Version](https://badge.fury.io/rb/ohmysmtp-rails.svg)](https://badge.fury.io/rb/ohmysmtp-rails)
4
5
 
5
6
 
6
7
  [OhMySMTP](https://ohmysmtp.com) lets you send transactional emails from your app over an easy to use API.
@@ -86,6 +87,10 @@ For support please check the [OhMySMTP Documentation](https://docs.ohmysmtp.com)
86
87
 
87
88
  ## Contributing
88
89
 
90
+ Please ensure to add a test for any change you make. To run the tests:
91
+
92
+ `bin/test`
93
+
89
94
  Pull requests always welcome
90
95
 
91
96
  ## License
@@ -20,14 +20,16 @@ module OhMySMTP
20
20
  result = HTTParty.post(
21
21
  'https://app.ohmysmtp.com/api/v1/send',
22
22
  body: {
23
- from: mail.from.join(','),
23
+ from: mail.from_address.to_s,
24
24
  to: mail.to.join(','),
25
25
  subject: mail.subject,
26
- htmlbody: mail.body,
26
+ htmlbody: mail.html_part ? mail.html_part.body.decoded : mail.body.to_s,
27
+ textbody: mail.multipart? ? (mail.text_part ? mail.text_part.body.decoded : nil) : nil,
27
28
  cc: mail.cc&.join(','),
28
29
  bcc: mail.bcc&.join(','),
29
- replyto: mail.reply_to
30
- }.to_json,
30
+ replyto: mail.reply_to,
31
+ attachments: format_attachments(mail.attachments)
32
+ }.compact.to_json,
31
33
  headers: {
32
34
  'User-Agent' => "OhMySMTP Rails Gem v#{OhMySMTP::Rails::VERSION}",
33
35
  'Accept' => 'application/json',
@@ -56,7 +58,20 @@ module OhMySMTP
56
58
  def handle_response(result)
57
59
  return unless result.code != 200
58
60
 
59
- raise result['error']
61
+ # TODO: Improved error handling
62
+ res = result.parsed_response
63
+ raise res['error']&.to_s || res['errors']&.to_s
64
+ end
65
+
66
+ def format_attachments(attachments)
67
+ attachments.map do |attachment|
68
+ {
69
+ name: attachment.filename,
70
+ content_type: attachment.mime_type,
71
+ content: Base64.encode64(attachment.body.encoded),
72
+ cid: attachment.content_id
73
+ }.compact
74
+ end
60
75
  end
61
76
  end
62
77
  end
@@ -1,5 +1,5 @@
1
1
  module OhMySMTP
2
2
  module Rails
3
- VERSION = '0.1.0'
3
+ VERSION = '0.1.5'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,35 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ohmysmtp-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - OhMySMTP
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-17 00:00:00.000000000 Z
11
+ date: 2021-03-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: 6.0.2
20
17
  - - ">="
21
18
  - !ruby/object:Gem::Version
22
- version: 6.0.2.2
23
- type: :runtime
19
+ version: '0'
20
+ type: :development
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - "~>"
28
- - !ruby/object:Gem::Version
29
- version: 6.0.2
30
24
  - - ">="
31
25
  - !ruby/object:Gem::Version
32
- version: 6.0.2.2
26
+ version: '0'
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: actionmailer
35
29
  requirement: !ruby/object:Gem::Requirement