better_mailer_previews 1.0.2 → 1.0.3

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: 8c29be1158c74ff4d8c0e3cf3aa86961bc8036594f60e6c7c85bc1be716d6598
4
- data.tar.gz: bd4621808e9762147f33881161e903caa58f7783b835554b2dc604900ee6b429
3
+ metadata.gz: 36d68792cf007535eae383bb8eb153c3a70be0b8a9bd8b96a30d0627bab8a657
4
+ data.tar.gz: 0f619790868880c9134cd48225260c2d6aa1f051e252d9c8297ebcb5e60a52e0
5
5
  SHA512:
6
- metadata.gz: 8a749e68c91575dad519d4aee7e1e3eef186b6fa02a75bbbc6ddd07807e3599ee2c2281bd252a00f81969bef0bd6f399a700312b17b65dac7c5b21a36d973dec
7
- data.tar.gz: aca9c4067976f393707452df148feb59c982890fc2471fab82a923339e2717e55c7c8b039ac58c8b65609b66c262dc3501945b188e0f2dc4bcfb20e5663d96c5
6
+ metadata.gz: 4d79e1fbb03b4159e1a96fb5e180a3a1b1cce468bcaf39c4beccd71d62b98977a7e8eb434925a65bf064cd3076fbd8d4c40aa7e31c342ee4585358a34e49b1b1
7
+ data.tar.gz: b2d298320e303a19be0da6d38fbd10ea6b6deeaa30f3284f17a8108d35edf6233b6cfe47f5a60dbb47cc4aff3e229c4356d68564b0832cc5398c53289eed74ae
@@ -3,13 +3,12 @@ module BetterMailerPreviews
3
3
  layout "better_mailer_previews/application"
4
4
 
5
5
  def index
6
- mailer_previews = ActionMailer::Preview.all
7
- preview_emails = mailer_previews.map do |preview|
6
+ preview_emails_to_render = ActionMailer::Preview.all.map do |preview|
8
7
  { preview: preview, emails: preview.emails }
9
8
  end
10
9
 
11
10
  @urls_by_mailer = {}
12
- preview_emails.each do |entry|
11
+ preview_emails_to_render.each do |entry|
13
12
  mailer_name = entry[:preview].name.underscore.gsub("_preview", "")
14
13
  urls = entry[:emails].map do |email|
15
14
  email_name = email.underscore
@@ -22,8 +21,11 @@ module BetterMailerPreviews
22
21
  def show
23
22
  @mailer_path = params[:mailer_path]
24
23
  @email_type = params[:email_type]
24
+ @email_address = cookies[:better_mailer_previews_email_address]
25
25
 
26
+ # construct URL for <iframe>, passing through any query params
26
27
  @url_for_mailer = "/rails/mailers/#{@mailer_path}/#{@email_type}"
28
+ @url_for_mailer += "?#{request.query_string}" unless request.query_string.empty?
27
29
  end
28
30
 
29
31
  def send_email
@@ -34,6 +36,9 @@ module BetterMailerPreviews
34
36
  email_type = params[:email_type]
35
37
  email_address = params[:email_address]
36
38
 
39
+ # save email in a cookie so we can re-populate the form
40
+ cookies[:better_mailer_previews_email_address] = email_address
41
+
37
42
  # Instantiate the preview class (ie: InvoiceMailerPreview),
38
43
  # then render it's preview html into a string.
39
44
  preview_class_string = mailer_path.split("/").map(&:camelize).join("::").concat("Preview")
@@ -9,7 +9,7 @@
9
9
  local: true,
10
10
  class: "flex items-end gap-x-2" do |form| %>
11
11
  <div class="flex-1">
12
- <%= form.text_field :email_address, placeholder: "email address...", class: "border text-sm px-1 py-0.5 bg-gray-50 rounded-sm", required: true %>
12
+ <%= form.text_field :email_address, value: @email_address, placeholder: "email address...", class: "border text-sm px-1 py-0.5 bg-gray-50 rounded-sm", required: true %>
13
13
  </div>
14
14
  <div>
15
15
  <%= form.submit "Send Email", class: "text-sm border px-1 py-0.5 hover:bg-gray-200 hover:cursor-pointer rounded-sm" %>
@@ -1,3 +1,3 @@
1
1
  module BetterMailerPreviews
2
- VERSION = "1.0.2"
2
+ VERSION = "1.0.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: better_mailer_previews
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Harrison Broadbent
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-26 00:00:00.000000000 Z
11
+ date: 2024-06-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails