我正在创建一个开源工作流,它将通过以下方式将 OS X 应用程序 Devonthink 绑定到 Zotero:
- 在 OS X 应用程序 devonthink 中调用的 AppleScript 将通过 shell 运行 Ruby 脚本
- 这个 Ruby 脚本(我发现它比旧的 applescript 更快,更适合这类事情)将进行 API 调用并以 Atom 格式下载响应数据 示例数据
- ruby 脚本将解析 Atom 文件并提取该数据的子集并输出
- Applescript 将捕获 Ruby 脚本的输出,并以各种方式与 devonthink 交互,同步数据。
我想在这里获得帮助的是解析这个工作流的 Atom 文件部分。
我知道有一些很棒的库可以在 Ruby 中解析 Atom,例如 Feedzirra 等,但它们需要安装 Gem。我将把 applescript+ruby 组合分发给可能对命令行或安装 gem 等几乎不熟悉或什至完全不熟悉的用户。我想让最终用户尽可能简单地将我的脚本放入他们的 applescript 文件夹和 ruby 脚本连同它一起,无需他们采取任何进一步的行动。
鉴于此:对于在 ruby 中解析 Atom 文件而不需要为脚本的最终用户安装任何 gem 或其他任务的最佳解决方案,您有哪些建议(是否有可以简单地包含在正文中的解析代码?例如脚本本身?)。
我想一些可能的解决方案可能会暗示答案:
a) 使用原生 ruby 功能来解析 xml
b) 使用一些可以直接复制/粘贴到我的 ruby 脚本中的方法
提前致谢。