mailpy 0.2.0 → 0.2.1

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/mailpy/version.rb +1 -1
  3. data/lib/mailpy.rb +12 -3
  4. metadata +3 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ba6e5cb49ef2945eb15ec71e4c82fc3a00b04fa611551de15222a693e192de7a
4
- data.tar.gz: 996c89f4dc9fe937f64b8a764071840230f55972d0e7a1f43328fb2c09f1e541
3
+ metadata.gz: d9d791b5c534459004d1c9a4e7245d8c7acf7c4c5977c53fd7a07495ca54d249
4
+ data.tar.gz: 1f9da98450a4592cd73f53d375283a8a3decdf1231ec8d860646e9058d19068e
5
5
  SHA512:
6
- metadata.gz: cca3471d496cb3141b2ab8663ca1fecb750290657d3b8fbb3e438538d038c72839b98333039637754d3030b47b74ff2c9b3078855dd46f77fa7f253b15b4e41f
7
- data.tar.gz: b48d73b9750ec27f9e67c0b095da3af32a322c9a6dee387a2b375936d550f9bab81f687b7805b46e855385aa9930735412f2607c493ec508e238acaf6615a4e2
6
+ metadata.gz: 6655fba70be203ed02bed5b25dbe9abc15b73ac7f99ed69835f9d8a5cfa61bfb4eae22df85964f9ce8464ebe92811205a9f0a14c307a1c806c7f2f9c02131069
7
+ data.tar.gz: 685be6622c5f5891c746048f03f6a1e0c78af06cdce1f3494d314c6c602e9e803d4f2976d39f8960f14951b7fc018d520b2179fc16a7bdc11b20f12d409f93eb
@@ -1,3 +1,3 @@
1
1
  module Mailpy
2
- VERSION = '0.2.0'
2
+ VERSION = '0.2.1'
3
3
  end
data/lib/mailpy.rb CHANGED
@@ -17,17 +17,26 @@ module Mailpy
17
17
  end
18
18
 
19
19
  private
20
+
20
21
  def perform_send_request(mail, settings)
21
22
  begin
22
23
  result = MailerApi.new(mail, settings).send
23
- raise(MailpyDeliveryError, JSON.parse(result.body)['message']) unless result.code === 200
24
- result
25
- rescue Errno::ECONNREFUSED, Mailpy::DeliveryMethod::MailpyDeliveryError
24
+ return result if result.code == 200
25
+ error_message = extract_error_message(result.body)
26
+ raise(MailpyDeliveryError, error_message)
27
+ rescue Errno::ECONNREFUSED, Mailpy::DeliveryMethod::MailpyDeliveryError, Errno::ECONNRESET
26
28
  smtp_settings = Rails.application.config.action_mailer.smtp_settings
27
29
  raise(MailpyDeliveryError, "SMTP miss configured. Please add SMTP configuration in your environment config") if smtp_settings.blank?
28
30
  result = SMTPApi.new(mail, smtp_settings).send
29
31
  result
30
32
  end
31
33
  end
34
+
35
+ def extract_error_message(response_body)
36
+ JSON.parse(response_body)['message']
37
+ rescue JSON::ParserError
38
+ Rails.logger.error("Mailpy response is not JSON: #{response_body[0..300]}")
39
+ "Unexpected response from Mailpy: #{response_body[0..100]}"
40
+ end
32
41
  end
33
42
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mailpy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nasrul Gunawan
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-01-11 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: httparty
@@ -57,7 +56,6 @@ homepage: https://github.com/nasrulgunawan/mailpy
57
56
  licenses:
58
57
  - MIT
59
58
  metadata: {}
60
- post_install_message:
61
59
  rdoc_options: []
62
60
  require_paths:
63
61
  - lib
@@ -72,8 +70,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
72
70
  - !ruby/object:Gem::Version
73
71
  version: '0'
74
72
  requirements: []
75
- rubygems_version: 3.3.23
76
- signing_key:
73
+ rubygems_version: 3.7.1
77
74
  specification_version: 4
78
75
  summary: Summary of Mailpy.
79
76
  test_files: []