Module: Dunlop::FileSed

Defined in:
app/services/dunlop/file_sed.rb

Class Method Summary collapse

Class Method Details

.fix_line_endings(filename) ⇒ Object



16
17
18
19
20
21
# File 'app/services/dunlop/file_sed.rb', line 16

def self.fix_line_endings(filename)
  %x[dos2unix -f #{filename} > /dev/null 2>&1]
  raise 'error in dos2unix command line' unless $?.exitstatus == 0
  %x[dos2unix -f -c mac #{filename} > /dev/null 2>&1]
  raise 'error in dos2unix command line' unless $?.exitstatus == 0
end

.in_place(filename, sed_expressions) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
# File 'app/services/dunlop/file_sed.rb', line 3

def self.in_place(filename, sed_expressions)
  expression_list = Array.wrap(sed_expressions).map { |exp| "-e '#{exp}'" }.join(' ')
  if /Darwin/i =~ %x[uname]
    #BSD
    %x[ LC_CTYPE=C LANG=C gsed -i'' -r #{expression_list} #{filename} ]
    raise 'error in sed command line' unless $?.exitstatus == 0
  else
    #GNU
    %x[ LC_CTYPE=C LANG=C sed -i'' -r #{expression_list} #{filename} ]
    raise 'error in sed command line' unless $?.exitstatus == 0
  end
end