txt_file_mutator 0.2.0 → 0.2.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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.2.1
@@ -1,40 +1,47 @@
1
1
  module TextFileMutator
2
2
  def self.insert_before(file, line, txt_before)
3
- gsub_file file, /(#{Regexp.escape(line)})/mi do |match|
3
+ gsub_file file, /(#{Regexp.escape(line)})/ do |match|
4
4
  "#{txt_before}\n#{match}"
5
5
  end
6
6
  end
7
7
 
8
8
  def self.insert_after(file, line, txt_after)
9
- gsub_file file, /(#{Regexp.escape(line)})/mi do |match|
9
+ gsub_file file, /(#{Regexp.escape(line)})/ do |match|
10
10
  "#{match}\n#{txt_after}"
11
11
  end
12
12
  end
13
13
 
14
14
  def self.comment_gem_config(file, line)
15
- gsub_file file, /^#?(config.gem.+'#{Regexp.escape(line)}'.+)/mi do |match|
15
+ gsub_file file, /^\s*[^#]\s*config.gem.+'#{Regexp.escape(line)}'$/ do |match|
16
16
  "# " + "#{match}"
17
17
  end
18
18
  end
19
19
 
20
20
  def self.remove_require(file, line)
21
- gsub_file file, /(require.+'#{Regexp.escape(line)}'.+)/mi do |match|
21
+ gsub_file file, /^\s*require\s+'#{Regexp.escape(line)}'$/ do |match|
22
22
  ""
23
23
  end
24
24
  end
25
25
 
26
26
  def self.comment_line(file, line)
27
- gsub_file file, /^#?(#{Regexp.escape(line)})/mi do |match|
27
+ gsub_file file, /^\s*[^#]\s*(#{Regexp.escape(line)}$)/i do |match|
28
28
  "# " + "#{match}"
29
29
  end
30
30
  end
31
31
 
32
+ def self.remove_content(file, line)
33
+ gsub_file file, /(#{Regexp.escape(line)})/i do |match|
34
+ ""
35
+ end
36
+ end
37
+
32
38
  def self.remove_line(file, line)
33
- gsub_file file, /(#{Regexp.escape(line)})/mi do |match|
39
+ gsub_file file, /^.*#{Regexp.escape(line)}.*$)/i do |match|
34
40
  ""
35
41
  end
36
42
  end
37
43
 
44
+
38
45
  protected
39
46
  def self.gsub_file(path, regexp, *args, &block)
40
47
  content = File.read(path).gsub(regexp, *args, &block)
@@ -0,0 +1,20 @@
1
+ require 'txt_file_mutator'
2
+ require "test/unit"
3
+
4
+ class TestTxtFileMutator < Test::Unit::TestCase
5
+
6
+ def setup
7
+ @tfm = TextFileMutator
8
+ @file = 'DATA_REMOVE.txt'
9
+ puts @tfm.instance_methods
10
+ end
11
+
12
+ def teardown
13
+ ## Nothing really
14
+ end
15
+
16
+ def test_remove_line
17
+ @tfm.remove_line @file, 'delete me'
18
+ end
19
+
20
+ end
@@ -22,10 +22,20 @@ class TestTxtFileMutator < Test::Unit::TestCase
22
22
  @tfm.comment_gem_config @file, 'hobo'
23
23
  end
24
24
 
25
+ def test_remove_content
26
+ @tfm.remove_content @file, 'remove me'
27
+ end
28
+
25
29
  def test_remove_line
26
- @tfm.remove_line @file, 'remove me'
30
+ @tfm.remove_line @file, 'delete me'
31
+ end
32
+
33
+
34
+ def test_remove_require
35
+ @tfm.remove_require @file, 'hobo/tasks/rails'
27
36
  end
28
37
 
38
+
29
39
  def test_insert_before
30
40
  @tfm.insert_before @file, 'before', "BEFORE"
31
41
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: txt_file_mutator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kristian Mandrup
@@ -76,4 +76,5 @@ summary: mutate a text file in various ways
76
76
  test_files:
77
77
  - spec/spec_helper.rb
78
78
  - spec/txt_file_mutator_spec.rb
79
+ - test/test_remove_line_w_content.rb
79
80
  - test/test_txt_file_mutator.rb