class DYAutomate::DYAutomateConfig

Attributes

codeSnippsets_git_url[RW]
detailObj[RW]
detail_git[RW]
detail_git_tag[RW]
templates_cache_path[RW]
templates_git_url[RW]

Public Class Methods

cachePath() click to toggle source
# File lib/DYAutomate/CustomConfig/DYAutomateConfig.rb, line 34
def self.cachePath
  @@cachePath
end
checkConfigFile?() click to toggle source

检测config.rb是否存在

# File lib/DYAutomate/CustomConfig/DYAutomateConfig.rb, line 61
def self.checkConfigFile?
  path = File.join(@@configFilePath)
  unless File.exist?(path)
    creatConfigFile
    puts "*** At first ,you should edit the config file at path<#{@@configFilePath}>!!"

    `open #{@@configFilePath}`
  end
end
configFilePath() click to toggle source
# File lib/DYAutomate/CustomConfig/DYAutomateConfig.rb, line 38
def self.configFilePath
  @@configFilePath
end
configGitClonePath() click to toggle source
# File lib/DYAutomate/CustomConfig/DYAutomateConfig.rb, line 42
def self.configGitClonePath
  @@configGitClonePath
end
creatConfigFile() click to toggle source

创建一个ConfigFile例子

# File lib/DYAutomate/CustomConfig/DYAutomateConfig.rb, line 72
    def self.creatConfigFile

      unless Dir.exist?(@@cachePath)
        Dir.mkdir(@@cachePath,0777)
      end

      File.new(@@configFilePath,'w+')

      f = File.open(@@configFilePath, "w+")
      demo = <<-EOF
  #DYAutomate 配置

  DYAutomateConfig.new do |c|
    # 配置的git地址
    c.detail_git = ""

    # 配置的git tag
    c.detail_git_tag = ""
  end
  EOF
      f.write(demo)
    end
loadConfig() click to toggle source

从配置中心读取

# File lib/DYAutomate/CustomConfig/DYAutomateConfig.rb, line 51
def self.loadConfig
  checkConfigFile?
  cc = DYAutomateConfig.fromFile(@@configFilePath)
  cc.loadDetailFromGit if cc
  cc
end
logsDirPath() click to toggle source
# File lib/DYAutomate/CustomConfig/DYAutomateConfig.rb, line 46
def self.logsDirPath
  @@logsDirPath
end
new() click to toggle source
Calls superclass method DYAutomate::DYBaseObj::new
# File lib/DYAutomate/CustomConfig/DYAutomateConfig.rb, line 30
def initialize
  super
end

Public Instance Methods

check_git_dir() click to toggle source
# File lib/DYAutomate/CustomConfig/DYAutomateConfig.rb, line 111
def check_git_dir
  unless Dir.exist?(@@configGitClonePath)
    Dir.mkdir(@@configGitClonePath,0777)
  end
end
check_git_version() click to toggle source
# File lib/DYAutomate/CustomConfig/DYAutomateConfig.rb, line 117
def check_git_version
  versionFile = File.join(@@configGitClonePath,"version")
  isSame = false
  if File.exist?(versionFile)
    versionContent = File.open(versionFile, 'r:utf-8', &:read)
    if versionContent
      isSame = versionContent.chomp.eql?(@detail_git_tag.chomp)
    end
  end
  isSame
end
clone_git() click to toggle source
# File lib/DYAutomate/CustomConfig/DYAutomateConfig.rb, line 129
def clone_git
  check_git_dir
  if @detail_git_tag && @detail_git
    url = "#{@detail_git} --branch #{@detail_git_tag}"
    # url = "#{@git} "
    cloneOk = system "git clone #{url} #{@@configGitClonePath}"
    if cloneOk
      puts "clone #{url}成功。。。"
    else
      puts "clone #{url}失败!!"
    end
  else
    puts
  end
end
loadDetailFromGit() click to toggle source
# File lib/DYAutomate/CustomConfig/DYAutomateConfig.rb, line 145
def loadDetailFromGit
  puts "加载配置。。。"
  check_git_dir
  unless check_git_version
    system("rm -rf #{@@configGitClonePath}")
    clone_git
  end
  path = File.join(@@configGitClonePath,'detailConfig.rb')
  @detailObj = DYAutomateConfigDetail.fromFile(path) if File.exist?(path)
  puts "加载配置成功。。。" if @detailObj
end