1

我在 macOS 上安装了一个本地应用程序 (NotePlan),它发布了一个x-callback-url 方案。我只是想从 ruby​​ 脚本中调用它,但找不到帮助。(大量的帮助可用于 HTTP 调用,但这是针对本地应用程序的。)

require 'open-uri'
title = "note title"
uri = "noteplan://x-callback-url/openNote?noteTitle=#{title}"
uriEncoded = URI.escape(uri)
response = open(uriEncoded).read

它返回此错误:

No such file or directory @ rb_sysopen - noteplan://x-callback-url/openNote?noteTitle=note%20title (Errno::ENOENT)

从命令行调用open "noteplan://x-callback-url/openNote?noteTitle=note%20title"会做预期的事情,所以基本机制似乎工作。

4

1 回答 1

0

好吧,我找到了一种方法,尽管我认为它是一种技巧,而不是一个好的答案。

response = %x[open "#{uri}"]

open即在新的shell 中调用命令。

我仍然希望有人可以提供更好的答案。

于 2019-07-24T22:43:55.463 回答