如何为Rails选择轻量级Gems?

时间:2013-03-11 10:57:56

标签: ruby-on-rails ruby ruby-on-rails-3

我是Rails的新手,我在为我的应用选择正确的宝石时遇到了问题。作为一个例子,现在我需要一个宝石来制作链接的slu ..我在这里发现了很多https://www.ruby-toolbox.com。但最受欢迎的宝石正在做我将永远不会使用的+10件事。所有最流行的宝石都会发生这种情况。

有没有一种聪明的方法可以为Rails选择轻量级的Gems?也许有办法看看github中的Gem有多少代码?或者有多少个文件?

2 个答案:

答案 0 :(得分:4)

我个人想知道如果宝石只有有限的功能,是否真的需要宝石。为什么不自己为链接构建slu ??使用宝石几乎不值得。

另一方面,通常您可以根据需要自定义宝石。例如,devise包含许多您可能不需要的功能。在这个宝石中,您可以简单地选择仅使用您实际需要的部分。此外,您可以自定义所需的一切。

检查流行宝石的github可能是重要的第一步。它可以让您深入了解gem实际执行的操作以及它包含的代码。如果它太大了你的口味,你甚至可以考虑只使用提供的代码的一部分。例如,您可以复制粘贴github代码(而不是需要gem文件中的gem)并注释掉与您的案例无关的代码,尽管这不是我个人推荐的。

答案 1 :(得分:1)

以下是选择宝石的非常好的指南:Exploring RubyGems

以下是Ryan建议计算宝石中的线条的方法:

  1. clone gem repo
  2. 使用cloc命令计算行数
  3. 示例:

    $ git clone https://github.com/plataformatec/devise.git
    $ cloc app lib
          87 text files.
          86 unique files.                              
          23 files ignored.
    
    http://cloc.sourceforge.net v 1.56  T=1.0 s (64.0 files/s, 5294.0 lines/s)
    -------------------------------------------------------------------------------
    Language                     files          blank        comment           code
    -------------------------------------------------------------------------------
    Ruby                            64            762           1513           3019
    -------------------------------------------------------------------------------
    SUM:                            64            762           1513           3019
    -------------------------------------------------------------------------------
    

    您还可以检查testspec目录中的行数,以检查测试覆盖率。