gpt4 book ai didi

ruby - 将 Jeweler 的 gem 版本与程序本身的版本字符串同步

转载 作者:数据小太阳 更新时间:2023-10-29 08:41:24 26 4
gpt4 key购买 nike

所以我正在使用 Jeweler维护 little gem of mine ,它提供了一组方便的 rake version:* 任务来管理版本号。 Jeweler 显然将版本号存储在名为 VERSION 的文件中,然后在 rake gemspec 上读取该文件。唯一的问题是,库中的实际 Ruby 代码包含一个版本,例如。在库创建的 HTTP 请求 header 中发送:

module MediaWiki
class << self
def version
"0.1.6"
end
...

有什么办法可以让这两者自动保持同步吗?或者,MediaWiki 库是否可以通过某种方式查询它变成的 gem 以找到它自己的版本?

最佳答案

为什么不让版本方法返回一个常量?

# lib/media_wiki/version.rb
module MediaWiki
VERSION = "1.0.6"
end

# lib/media_wiki.rb (or wherever)
module MediaWiki
class << self
def version
MediaWiki::VERSION
end
end
end

编辑(回应评论):

此外,您还必须更新 Rakefile 以使用常量:

# Rakefile
Jeweler::Tasks.new do |gemspec|
...
gemspec.version = MediaWiki::VERSION
...
end

同行

关于ruby - 将 Jeweler 的 gem 版本与程序本身的版本字符串同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4300062/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com