Skip to content

Commit 458f7a7

Browse files
committed
feat: Add Preview mailer command
1 parent 3d8fa76 commit 458f7a7

File tree

3 files changed

+18
-1
lines changed

3 files changed

+18
-1
lines changed

Scripts/commands.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ const { RailsMigrations } = require("./commands/RailsMigrations")
77
const { RailsServer } = require("./commands/RailsServer")
88
const { RailsStimulus } = require("./commands/RailsStimulus")
99
const RailsRelatedFiles = require("./commands/RailsRelatedFiles")
10+
const MailerPreview = require("./commands/MailerPreview")
1011

1112
module.exports = {
1213
erbTagSwitcher,
@@ -17,5 +18,6 @@ module.exports = {
1718
RailsMigrations,
1819
RailsServer,
1920
RailsStimulus,
20-
RailsRelatedFiles
21+
RailsRelatedFiles,
22+
MailerPreview
2123
}

Scripts/commands/MailerPreview.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
class MailerPreview {
2+
preview(path) {
3+
const match = path.match(/.+\/views\/([^\.]*).+/)
4+
5+
nova.openURL(`http://localhost:3000/rails/mailers/${match[1]}`)
6+
}
7+
}
8+
9+
module.exports = MailerPreview

Scripts/main.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,3 +150,9 @@ nova.commands.register("tommasonegri.rails.commands.showRelatedFiles", (editor)
150150
const relatedFiles = new COMMANDS.RailsRelatedFiles()
151151
relatedFiles.run(editor.document.path)
152152
})
153+
154+
// Register Nova command for previewing mailers
155+
nova.commands.register("tommasonegri.rails.commands.previewMailer", (editor) => {
156+
const mailerPreview = new COMMANDS.MailerPreview()
157+
mailerPreview.preview(editor.document.path)
158+
})

0 commit comments

Comments
 (0)