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

Ogu*_*gic 15 ruby versioning documentation ruby-on-rails

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

例如,对于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
Run Code Online (Sandbox Code Playgroud)

Ogu*_*gic 21

我会回答我自己的问题,我无法找到更好的答案.

由于Rails应用程序基本上MySite::Application我认为应该通过以下方式访问应用程序的版本MySite::Application::VERSION:

配置/初始化/ version.rb

module MySite
  class Application
    VERSION = "0.0.4"
  end
end
Run Code Online (Sandbox Code Playgroud)

或者config/version.rb要求提供此文件config/application.rb


Car*_*ole 8

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

app_version.rb

class Configuration
  class << self
    attr_accessor :app_version
  end
  @app_version = 0.72
end
Run Code Online (Sandbox Code Playgroud)

在应用程序中,我可以拉出版本:

@app_version = Configuration.app_version
Run Code Online (Sandbox Code Playgroud)

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

@git_version = `git show --pretty=%H`[0..39]
Run Code Online (Sandbox Code Playgroud)