Tel*_*hus 39
我觉得有些帖子很有用:
编辑(2012-01-10):宝石最佳实践的优秀全能指南是RubyGems指南.我强烈建议从现在开始.
总结关键点:
lib/gem.rb和lib/gem/结构.bin,任何数据文件放入data或测试test或spec.require或依赖于加载路径之外的文件.(VERSION文件通常似乎生活在宝石的奇怪地方.)require 'rubygems'.$LOAD_PATH.require File.join(__FILE__, 'foo', 'bar'),那你做错了.使用bundler的最简单方法是:
bundle gem <gem_name>
Run Code Online (Sandbox Code Playgroud)
您甚至可以在父目录的现有项目中使用它.
小智 6
本rubygems 指南提供了有关 gem 结构的信息,然后详细介绍了gemspec中应包含的内容
您可能会发现使用bundler为您创建gem的文件夹结构更容易:
bundle gem <gem_name>
my_gem$ bundle gem my_gem
create my_gem/Gemfile
create my_gem/Rakefile
create my_gem/LICENSE.txt
create my_gem/README.md
create my_gem/.gitignore
create my_gem/my_gem.gemspec
create my_gem/lib/my_gem.rb
create my_gem/lib/my_gem/version.rb
Initializing git repo in /Users/keith/projects/my_gem/my_gem
当编写胖(二进制)gem 时,结构通常是这样的:
lib/1.8/binary.so
lib/1.9/binary.so
lib/my_gem.rb(此文件只是binary.so根据 ruby 版本选择要加载的文件)
对于本机扩展:
lib/ext/my_gem/my_sources.*
lib/my_gem.rb
我通常也在version.rb这里放一个文件:
lib/my_gem/version.rb
它只包含如下内容:
module MyGem
VERSION = "0.1.0"
end
Run Code Online (Sandbox Code Playgroud)
另外,IMO,除了您希望人们用来加载 gem 的文件之外,不要在lib/目录中放置任何 .rb 文件。而是将所有辅助文件放入lib/my_gem/
| 归档时间: |
|
| 查看次数: |
9181 次 |
| 最近记录: |