我开发的代码是作为大型 Rails 项目的一部分。现在我想把它提取为一个独立的脚本,独立于 Rails 与社区分享。

这是我的第一个 gem,包括 Active Support 在内,将日期函数和变形用作相对较小的 gem 的一部分可能有点矫枉过正。

什么是最好的解决方案?

最佳答案

这是一个非常主观的电话。虽然 ActiveSupport 确实提供了许多有用的日期操作方法,但包括它只是因为它非常繁重,并且当包含在不期望它的项目中时会导致绝对困惑。某些功能(如果启用)(如自动加载器系统)可以以戏剧性和意想不到的方式改变 require 的工作方式以及处理缺失类的方式。

如果您正在创建一个无论如何都可能会与 Rails 或 ActiveSupport 配对的项目,这可能没什么大不了的。如果这种情况很少发生,您可能只想在自己的模块中重新实现日期方法,以便没有依赖性。

请记住,ActiveSupport 对许多核心类进行了重要的重新装饰,因此将其强加给使用您的 gem 的人可能会使您的 gem 成为相当不守规矩的客人。

没有什么比陷入依赖 hell 更烦人的了,在这种情况下,一个人无法使用比 X 新的 ActiveSupport,而另一个人无法使用这么旧的版本,这意味着根本没有单一的版本可以工作。

关于ruby - 在非 Rails gem 中使用 ActiveSupport 是否被认为是一种好习惯?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13652863/

10-13 02:18