在哪里定义Rails应用程序的版本号

时间:2012-06-26 01:09:41

标签: ruby-on-rails ruby documentation versioning

是否有关于如何/在何处指定应用程序版本号的约定?

例如,对于ruby gems lib/mygem/version.rb是通常用于此目的的文件。

我的猜测是创建config/version.rb这样的文件:

module MySite
  VERSION = "0.0.4"

  # or in MySite::Application class
  # 
  # class Application
  #   VERSION = "0.0.4"
  # end
end

2 个答案:

答案 0 :(得分:19)

我会回答我自己的问题,但我找不到更好的答案。

由于Rails应用程序基本上是MySite::Application,我认为应该通过MySite::Application::VERSION访问应用程序的版本,所以创建:

<强>配置/初始化/ version.rb

module MySite
  class Application
    VERSION = "0.0.4"
  end
end

config/version.rb并要求config/application.rb

中的此文件

答案 1 :(得分:8)

我使用初始化程序将自己的版本添加到Configuration类:

<强> app_version.rb

class Configuration
  class << self
    attr_accessor :app_version
  end
  @app_version = 0.72
end

在应用程序中,我可以提取版本:

@app_version = Configuration.app_version

不确定为什么要使用该版本,但我经常使用版本控制,因此我可以看到特定版本的代码是否实际运行。在这种情况下,我需要将每个代码修订版本反映为新版本,因此我在我的代码上使用Git版本,并且通常只显示它的前几个字符,因为它可能足以识别它。

@git_version = `git show --pretty=%H`[0..39]