Class: BigKeeper::VersionConfigOperator

Inherits:
Object
  • Object
show all
Defined in:
lib/big_keeper/util/version_config_operator.rb

Class Method Summary collapse

Class Method Details

.change_version(version_config_file, modules, version) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/big_keeper/util/version_config_operator.rb', line 3

def self.change_version(version_config_file, modules, version)
  temp_file = Tempfile.new('.version-config.gradle.tmp')
  begin
    File.open(version_config_file, 'r') do |file|
      file.each_line do |line|
        temp_file.puts(replace_module_version(line, modules, version))
      end
    end
    temp_file.close
    FileUtils.mv(temp_file.path, version_config_file)
  ensure
    temp_file.close
    temp_file.unlink
  end
end

.replace_module_version(line, modules, version) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/big_keeper/util/version_config_operator.rb', line 19

def self.replace_module_version(line, modules, version)
  modules.each do |module_name|
    version_alias = BigkeeperParser.module_version_alias(module_name)
    if !version_alias.nil? && !version_alias.empty? && line.match(/\s*#{version_alias}\s*=\s*('|")([\s\S]*)('|")\s*/)
      return line.sub(/(\s*#{version_alias}\s*=\s*)('|")([\s\S]*)('|")\s*/){"#{$1}\'#{version}\'"}
    end
  end
  line
end