0

我编写了一个 ruby​​ cli 脚本,它采用 CSV 并基于所述 CSV 生成 PDF 报告。我对 Ruby 还很陌生,所以虽然它可能不是最好的代码,但我为我所做的感到非常自豪。

无论如何,我现在真正想做的是让我的脚本电子邮件将 PDF 作为附件。我确定有一个库可以理解 SMTP 并可以代表我发送,但我想修改电子邮件正文,并在发送前查看附件。所以看起来最简单的事情是让脚本在我的系统默认邮件客户端中启动一封新电子邮件,提供收件人、主题和样板文本,并附加生成的文件,有点像 mailto: link in a网页(mailto 是否支持附件?)。

似乎有一个系统命令可以做到这一点,与 Ruby 完全无关,我可以调用我的 Ruby 脚本。那会很好。如果它依赖于平台,我在 OSX 上,但我四处走动,所以对 Windows 和 Linux 解决方案也很感兴趣。

我猜 B 计划是将一个简单的 CLI 编辑器塞进我的 Ruby 脚本中,让我编辑电子邮件文本,然后使用 SMTP 库发送电子邮件的一种方法。这似乎更难,除非它已经完成。

4

1 回答 1

0

实际上,您可以使用console_runner gem从命令行界面 (CLI) 执行任何 ruby​​ 文件。如果您已经编写了代码,则可以从命令行运行它。您只需要在 Ruby 代码中添加注释(类似于 YARD的语法),然后从命令行执行它:

$ c_run /path/your_file.rb say_hello

/path/your_file.rb

# @runnable
class MyClass

    # @runnable
    def say_hello
      puts 'Hello!'
    end

end
于 2019-04-16T08:55:13.867 回答