首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >理想的Ruby项目结构

理想的Ruby项目结构
EN

Stack Overflow用户
提问于 2009-03-05 10:52:11
回答 4查看 45.4K关注 0票数 130

我想了解一下ruby (非rails/merb/等)项目的理想项目结构。我猜是这样的

app/
  bin/                  #Files for command-line execution
  lib/
    appname.rb
    appname/            #Classes and so on
  Rakefile              #Running tests
  README
  test,spec,features/   #Whichever means of testing you go for
  appname.gemspec       #If it's a gem

我是不是搞错了?我遗漏了哪些部分?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-03-05 11:20:59

我认为这是非常正确的。默认情况下,Rubygems会将lib目录添加到装入路径中,但您可以使用$:变量将任何您想要的目录推入到该目录中。即

$:.push File.expand_path(File.dirname(__FILE__) + '/../surfcompstuff')

这意味着当您在目录中输入surfer.rb时,您可以require "surfer" anywhere并找到该文件。

同样,按照惯例,类和单例获取一个文件,模块获取一个目录。例如,如果您有LolCatz模块和LolCatz::Moar类,它将如下所示:

lib/
  appname.rb
  lolcatz/
    moar.rb

这就是存在lib/appname文件夹的原因,因为大多数库都在appname名称空间中。

此外,如果您尝试运行newgem --simple [projectname]命令,它将很快为您生成一个脚手架,其中只包含Ruby项目的基本要素(扩展为Ruby Gem)。我知道还有其他工具可以做到这一点,但newgem很常见。我通常会去掉TODO文件和所有的脚本。

票数 93
EN

Stack Overflow用户

发布于 2013-07-25 17:35:38

请参阅来自http://guides.rubygems.org/what-is-a-gem/的以下示例

 % tree freewill
    freewill/
    ├── bin/
    │   └── freewill
    ├── lib/
    │   └── freewill.rb
    ├── test/
    │   └── test_freewill.rb
    ├── README
    ├── Rakefile
    └── freewill.gemspec
票数 12
EN

Stack Overflow用户

发布于 2009-03-06 05:32:56

我尝试模仿Rails项目结构,因为我的团队通常处理Rails,他们会比另一个配置更好地理解该结构。约定重于配置-从Rails中渗出。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/614309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档