`

rubygems.org guides 翻译二(什么是一个gem)

    博客分类:
  • gem
gem 
阅读更多

目录:

1.结构化你的gem

2.gemspec

 

1.架构化你的gem

每一个gem都有自己的名字/版本/平台(platform)。举个例子,rake这个gem的版本是0.8.7(2009年5月),平台是ruby,意味着你可以在任何平台的ruby上运行。

平台的基础是CPU架构,操作系统类型和操作系统版本。

 

gem help platform

在一个gem里面包括三部分,code,文档和gemspec

 

每个gem的功能也许不同,但是他们都得遵循相同的标准结构。

freewill/
├── bin/
│   └── freewill
├── lib/
│   └── freewill.rb
├── test/
│   └── test_freewill.rb
├── README
├── Rakefile
└── freewill.gemspec
  • lib目录下方的是gem的原代码
  • test或者spec目录下放的是测试文件,依赖于作者使用的而是那个测试框架
  • gem通常包含一个Rakefile,通常用于自动测试,生成代码,执行任务等工作。
  • gem通常还包含一个扩展的bin目录,当该gem安装后会被自动加载到用户的PATH目录。
  • 文档通常位于README文件和代码注释中,当你安装一个gem后,文档也会自动为你生成。大多数gem包含RDoc文档,但是也有一些使用YARD的。
  • 最后一块是gemspec,包含一个gem的具体信息。gem文件,测试信息,平台,版本号,作者邮箱/姓名等。

2.gemspec

gemspec包含了该gem的具体信息。

% cat freewill.gemspec
Gem::Specification.new do |s|
  s.name        = 'freewill'
  s.version     = '1.0.0'
  s.summary     = "Freewill!"
  s.description = "I will choose Freewill!"
  s.authors     = ["Nick Quaranto"]
  s.email       = 'nick@quaran.to'
  s.homepage    = 'http://example.com/freewill'
  s.files       = ["lib/freewill.rb", ...]
end

 

 

 

分享到:
评论

相关推荐

    gemstash, 一个 RubyGems.org 缓存和 private gem 服务器.zip

    gemstash, 一个 RubyGems.org 缓存和 private gem 服务器 什么是 Gemstash?Gemstash是远程服务器( 如 https://rubygems.org ) 和 private gem 源的缓存。在你的控制范围内,如果你使用的是多个可以访问服务器的...

    rubygems-update-3.1.3.gem

    A package (also known as a library) contains a set of functionality that can be invoked by a Ruby program, such as reading and parsing an XML ... See our guide on publishing a Gem at guides.rubygems.org

    2.4-3.0.rubygems.rar

    标题“2.4-3.0.rubygems.rar”暗示了这个压缩包可能包含了Ruby Gems从版本2.4到3.0之间的升级或集合,这对于Ruby开发者来说是一个重要的资源,因为版本升级通常会带来性能优化、新功能以及对旧问题的修复。...

    rubygems.org:Ruby社区的gem托管服务

    RubyGems.org(néeGemcutter) Ruby社区的gem主机。 目的 提供更好的API处理宝石 创建更透明,更易于访问的项目页面 使社区能够改善和增强网站 支持 由管理, 是一个社区资助的组织,通过门票和赞助为和的会议...

    rubygems-master-(1).zip_GEM

    Download from: rubygems.org/pages/download Unpack into a directory and cd there Install with: ruby setup.rb # you may need admin/root privilege For more details and other options, see: ruby setup....

    adoption.rubygems.org

    创建一个新的Web UI,以使用带有框架导轨的gem 使用包含供选择的gem和搜索器的列表制作主页视图 开发功能并提出提出采用的观点 开发功能,并为采用gem做好准备 开发身份验证视图 与rubygems.org A

    Ruby Toolbox data on Rubygems.org-crx插件

    例如,如果您正在https://rubygems.org/gems/simplecov上查看诸如simplecov之类的gem,它将从Ruby Toolbox中获取信息,它是“一个仍在接受更新的长期项目”。 其他gem将基于Ruby Toolbox收集的指标显示其他信息。

    rubygems.org-backup:这是历史重写之前 ruby​​gems.org 的 BACKUP 存储库。 不使用。 请不要拉请求

    RubyGems.org(姓氏 Gemcutter) Ruby 社区的 Gem 托管。目的提供更好的 API 来处理 gems 创建更透明和可访问的项目页面使社区能够改进和增强站点链接 :#rubygems 在 Freenode 上: : :贡献请遵循我们的。 要进行...

    meg:帮助管理和支持 RubyGems.org 的快速命令

    帮助管理和支持 RubyGems.org 的快速命令。 目前帮助通过 SSH 连接到 RubyGems.org 基础设施和运行命令。 安装 $ cd $ git clone git://github.com/rubygems/meg.git .meg 对于 bash 用户: $ echo 'eval "$($...

    redis集群离线安装包。redis-3.2.1.gem,rubygems-2.4.2.zip

    本安装包包含两个关键文件:`redis-3.2.1.gem` 和 `rubygems-2.4.2.zip`,它们都是为了在离线环境下搭建Redis集群而准备的。 首先,`redis-3.2.1.gem` 是Redis的Ruby gem包,适用于使用Ruby语言进行部署和管理Redis...

    rubygems-3.2.27.zip

    RubyGems是Ruby编程语言的一个核心组成部分,它提供了一个管理和分发Ruby库和程序的框架。这个名为"rubygems-3.2.27.zip"的压缩包包含了RubyGems的3.2.27版本,这是一个重要的更新,旨在提高稳定性和性能,同时也...

    rubygems-update-1.3.1.gem

    rubygems-update-1.3.1.gem

    rubygems-update-1.3.7.gem

    rubygems-update-1.3.7.gem

    rubygems-1.8.7.gz for linux

    RubyGems是Ruby编程语言的一个核心组成部分,它提供了一个管理和分发Ruby库和程序的框架。这个特定的压缩包“rubygems-1.8.7.gz”是RubyGems的一个旧版本,适用于Linux操作系统。在深入理解这个压缩包之前,我们先来...

    ruby-2.2.4.tar.gz、rubygems-2.6.2.zip、redis-3.2.2.gem

    RubyGems 2.6.2是一个重要的版本,它支持对Gems的依赖关系进行管理,使得开发者可以便捷地构建和部署项目。`.zip`文件是跨平台的压缩格式,通常包含解压后可以直接使用的文件。RubyGems的`.zip`文件可能包含了源代码...

    rubygems-2.4.2 redis-3.2.1.gem

    接下来,我们来看"redis-3.2.1.gem",这是一个Redis客户端库的Gem包。这个Gem使得在Ruby环境中与Redis服务器进行交互变得更加简单。要安装这个Gem,首先确保你已经正确安装了RubyGems,然后在终端中输入: ```bash ...

    rubygems ruby 包管理

    3. **RubyGems.org**:这是一个在线的Gem仓库,存储了大量的公开可用Gem,开发者可以通过RubyGems客户端从这里下载和安装Gem。 ### 安装和使用RubyGems 在大多数Ruby环境中,RubyGems已经预装。要检查RubyGems的...

    rubygems-2.4.2.tgz

    RubyGems是Ruby编程语言的一个核心组成部分,它提供了一个管理和分发Ruby库的框架,使得开发者可以方便地安装、更新和使用各种Gem(Ruby的软件包)。RubyGems的版本"2.4.2"是这个系统的一个特定迭代,包含了在那个...

Global site tag (gtag.js) - Google Analytics