Module: Git::Gsub::Files

Defined in:
lib/git/gsub/files.rb,
lib/git/gsub/files/version.rb

Constant Summary collapse

VERSION =
'0.0.4'

Class Method Summary collapse

Class Method Details

.gsub_files(command, *args) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/git/gsub/files.rb', line 23

def self.gsub_files(command, *args)
  from, to, path, = args.map do |arg|
    Shellwords.escape arg if arg
  end

  abort 'No argument to gsub-files was given' if to.nil?

  (`git ls-files #{path}`).each_line.map(&:chomp).map do |file|
    next unless File.basename(file).match(from)
    to_file = File.dirname(file) + '/' + File.basename(file).gsub(from, to)
    system %|#{command} -v #{file} #{to_file}|
  end
end

.runObject



8
9
10
11
12
13
14
15
16
17
# File 'lib/git/gsub/files.rb', line 8

def self.run
  params = ARGV.getopts('av', 'add', 'version')
  if params['v'] || params['version']
    version
  else
    command = 'mv'
    command = 'git mv' if params['a'] || params['add']
    gsub_files(command, *ARGV)
  end
end

.versionObject



19
20
21
# File 'lib/git/gsub/files.rb', line 19

def self.version
  puts Git::Gsub::Files::VERSION
end