如何在ruby宝石中使用钩子

我有一个gem需要在安装gem之后执行一些rake任务.使用 http://blog.costan.us/2008/11/post-install-post-update-scripts-for.html中描述的方法安装后执行代码有一种hackish方式.

但是Gem类现在有钩子,其中一个是post_install钩子.我想添加一行像

Gem.post_install { puts 'post hook example' }

进入Rakefile,它似乎没有在安装过程中执行.这条线应该放在哪里以便挂钩?

解决方法

在lib / ruby​​gems_plugin.rb上创建一个文件

在此文件中,您可以定义自定义挂钩.例如:

Gem.post_install do
  puts "post_install called for gem"
end

无需任何要求.
输出示例:

Successfully built RubyGem
  Name: post_install_test
  Version: 0.1.0
  File: post_install_test-0.1.0.gem
post_install called for gem
Successfully installed post_install_test-0.1.0
1 gem installed

我在source中只找到了相关文档.

如果这不起作用,或者您对post安装挂钩的更改似乎并不总是更新,请在重建和安装之前完全卸载gem.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...