jumpstart 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :jumpstart_version_major: 0
3
3
  :jumpstart_version_minor: 5
4
- :jumpstart_version_patch: 0
4
+ :jumpstart_version_patch: 1
@@ -125,18 +125,24 @@ module JumpStart::FileTools
125
125
  def replace_strings(target_file, args)
126
126
  if File.file?(target_file)
127
127
  txt = IO.read(target_file)
128
+ old_dir = target_file.sub(/\/\w+\.*\w*$/, '')
128
129
  new_file = target_file.dup
129
130
  args.each do |x, y|
130
131
  txt.gsub!(/#{x.to_s.upcase}_CLASS/, y.capitalize)
131
132
  txt.gsub!(/#{x.to_s.upcase}/, y)
132
133
  new_file.gsub!(/#{x.to_s.downcase}/, y)
133
134
  end
134
- dir = new_file.sub(/\/\w+\.*\w*$/, '')
135
- FileUtils.mkdir_p(dir)
135
+ new_dir = new_file.sub(/\/\w+\.*\w*$/, '')
136
+ FileUtils.mkdir_p(new_dir)
136
137
  FileUtils.rm(target_file)
137
138
  File.open(new_file, "w") do |file|
138
139
  file.puts txt
139
140
  end
141
+ if File.directory?(old_dir)
142
+ if (Dir.entries(old_dir) - JumpStart::IGNORE_DIRS).empty?
143
+ FileUtils.remove_dir(old_dir)
144
+ end
145
+ end
140
146
  end
141
147
  end
142
148
 
@@ -243,6 +243,7 @@ class TestJumpstartFileTools < Test::Unit::TestCase
243
243
  @target_files = []
244
244
  @target_files << @target_file_1 << @target_file_2 << @target_file_3
245
245
  @source_file = IO.readlines("#{JumpStart::ROOT_PATH}/test/test_jumpstart_templates/test_fileutils/config_capistrano_source.rb")
246
+ FileUtils.mkdir_p("#{JumpStart::ROOT_PATH}/test/test_jumpstart_templates/test_fileutils/app_name")
246
247
  @target_files.each do |x|
247
248
  File.open(x, 'w+') do |file|
248
249
  file.puts @source_file
@@ -258,6 +259,9 @@ class TestJumpstartFileTools < Test::Unit::TestCase
258
259
  if File.directory?("#{JumpStart::ROOT_PATH}/test/test_jumpstart_templates/test_fileutils/bungle")
259
260
  FileUtils.remove_dir("#{JumpStart::ROOT_PATH}/test/test_jumpstart_templates/test_fileutils/bungle")
260
261
  end
262
+ if File.directory?("#{JumpStart::ROOT_PATH}/test/test_jumpstart_templates/test_fileutils/app_name")
263
+ FileUtils.remove_dir("#{JumpStart::ROOT_PATH}/test/test_jumpstart_templates/test_fileutils/app_name")
264
+ end
261
265
  end
262
266
 
263
267
  should "replace strings with replace_strings method if the path does not contain the replacement strings and only one replacement string is provided" do
@@ -306,6 +310,18 @@ class TestJumpstartFileTools < Test::Unit::TestCase
306
310
  assert File.exists?(@new_file_3)
307
311
  assert !File.exists?(@target_file_3)
308
312
  end
313
+
314
+ should "remove old dirs when empty after string replacement" do
315
+ FileUtils.replace_strings(@target_file_3, :app_name => 'bungle', :remote_server => 'boxy')
316
+ assert !File.directory?("#{JumpStart::ROOT_PATH}/test/test_jumpstart_templates/test_fileutils/app_name")
317
+ end
318
+
319
+ should "not remove old dirs after string replacement if they are not empty" do
320
+ FileUtils.touch("#{JumpStart::ROOT_PATH}/test/test_jumpstart_templates/test_fileutils/app_name/another_file.txt")
321
+ FileUtils.replace_strings(@target_file_3, :app_name => 'bungle', :remote_server => 'boxy')
322
+ assert File.directory?("#{JumpStart::ROOT_PATH}/test/test_jumpstart_templates/test_fileutils/app_name")
323
+ assert File.exists?(@new_file_3)
324
+ end
309
325
 
310
326
  end
311
327
 
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 5
8
- - 0
9
- version: 0.5.0
8
+ - 1
9
+ version: 0.5.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Ian Alexander Wood (i0n)