0

我现在正在创建一个 jRuby gem,我可能需要向不同类型的用户公开不同的命令(来自 bin 文件夹)。这是创建不同 gem 的好标准吗,例如“_userX”或“_userY”?(而且 gem 名称可能与项目名称不同,我知道这不是标准)

所以我需要“mygem_for_admin_users”与“mygem_for_normal_users”之类的东西。

干杯

4

1 回答 1

1

它确实有效,而且肯定有人这样做(例如:https ://github.com/mongodb/mongo-ruby-driver )。

这显然是非常主观的,但我个人觉得有一个与项目名称不匹配的 gemspec,或者单个项目中有多个 gemspec 是不好的做法。最终,如果它是解决问题的最干净的解决方案,那么它就是最干净的解决方案,你应该去尝试它,但首先要考虑其他解决方法:

  • 您可以拥有一个基础 gem 和 2+ 个接口 gem,它们从基础 gem 中公开不同的命令集。

  • 您可以以某种方式从库本身识别不同类别的用户,使所有命令都可用,但其中一些命令会受到限制,除非设置了正确的用户类型

  • 您可以使用许多子命令(如 bundle 或 git)将所有内容构建到一个命令中,这些子命令对用户类型进行相同的推理

可能有更多选择。

TL;DR:这不是一个很好的做法,但人们这样做了,什么都不会着火。只要确保没有一种简单的方法可以首先避免它。

于 2012-04-04T05:06:49.220 回答