分享 寫一個 Gem 要用到哪些知識

xdite · 2013年05月09日 · 最后由 chanshunli 回复于 2015年04月21日 · 4876 次阅读
本帖已被设为精华帖!

剛剛在此帖 http://ruby-china.org/topics/10833 分享 BootColor。有個兄弟問了寫 Gem 需要哪些常識。

就我個人的經驗,我覺得需要以下知識:

1. 如何撰寫 / release gem

2. Rails Gem 的話要大概了解以下 topic

  • Rails Engine 結構,如何掛上 controller, model , helper , view, asset ,routing, initializer, middleware
  • Rails generator 要怎麼寫,因為掛了 thor,寫複雜的 generator 需要研究 thor 語法
  • 如果是要攔結在啟動 process 當中的(如 Rack middleware),那要先了解 Rails 的啟動順序
  • Rails 的基本結構。如何在 Rails API 中找到你要的東西

3. 維護

  • LICENSE
  • CHANGELOG
  • semver
  • README

4. Testing, how to test a gem

5. pre-release gem (遇到 Rails4 想出 beta 要怎麼作 )

能想到的大概就這些....

各位有覺得還需要哪些知識的嗎?

共收到 17 条回复

持续关注,建议@xdite 大神整理一篇博文出来:)

我就知道~~你們又推我坑~~~

十分感谢! 虽然我是新手 不过因为你的回应 我一定加油让自己赶紧跑起来! 希望能尽快把你的指导学到~~~ 好感动 TvT

#2楼 @xdite 小弟持续关注你两个会发博文的地方。我觉得你给出的建议的确是很实用,你之前发了那篇upgrade rails 4的文章,然后我就花了两天时间,果断升了我的3.2.13了……

最近 @xdite 的出品很多啊。。 哈哈

😄 热烈期盼大神博文发表 技术可能大家都会 但是思路不是每个人都有的

#2楼 @xdite 哈哈期待,ruby如果不做web开发,还能干些什么?这是我一直想知道的事

个人觉得值得一提的两个细节:

  • bundle gem foo -t 生成新 gem 的 skeleton.
  • Rubygems 是怎样修改 $: 的; gem 作者自己不要去碰 $:. gem 代码中何时应当用 require, 何时用 require_relative (这个其实我也拿不准, 趁机求教www).

月底發。這幾週忙死了

帖子里的列表是怎么写出来的啊?

正好最近想把一些东西拉出来包装成 Gem ,坐等大神文章,哈哈

@xdite 你的bootstrappers是怎么写出来的

@zealinux 可以看我的 commit log 。寫 generator 沒那麼難 XD

CI & Testing

:plus1:

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册