所以我使用Jeweler来维护little gem of mine,它提供了一组方便的rake version:*
任务来管理版本号。 Jeweler显然将版本号存储在名为VERSION的文件中,然后在rake gemspec
上读取。唯一的问题是,库中的实际Ruby代码也包含一个版本,例如。在库创建的HTTP请求标头中发送:
module MediaWiki
class << self
def version
"0.1.6"
end
...
有关保持这两者自动同步的任何想法吗?或者,是否有某种方式MediaWiki库可以查询它变成的gem以找到自己的版本?
答案 0 :(得分:4)
为什么你没有版本方法返回常量?
# 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
对等