insert_from_file 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c68f26e113e57a2a312915371360b840a1e7c9e1
4
- data.tar.gz: a1065eed67c28edf90c57111ace6ed59886098fa
3
+ metadata.gz: 37d5710541f1f3d0e382d0956150a312c40490f4
4
+ data.tar.gz: e9045dc7b6601cfd30b1d96677982448c83478d4
5
5
  SHA512:
6
- metadata.gz: 67a0b5bd90c7295f113fc5cf04e81f068c2c19c24698c226f11f224182ddc33513fe95186e79c4e9547cacd8857c6a533d002ff095fe70c40f74042893ba579b
7
- data.tar.gz: 2f58867b36c1ad75ce794540e1323fd99761e0f34f48698ef126409056b7ec0bd95c4ae67722e02d0d96f4a6253606f481ce84f3d120bc063b70a2fe6f0a7516
6
+ metadata.gz: 64f19c042cacb3c59f541d35186b1395e2b39864519c83f56850a3d87460efd8c4acb9c4d3b5dedf8378fe7d2d7551df526235a8c70171a770c078b431e27f86
7
+ data.tar.gz: b41ad115d96c3922a0b0c7270f34d2cbcd32e93e99c005e4504295d7e64adf69c1983111a3b48202f0fdf2d434868f4014d80663feb8299f29e1e4080d0f9591
data/.rubocop.yml CHANGED
@@ -1,3 +1,7 @@
1
+ Metrics/AbcSize:
2
+ Exclude:
3
+ - lib/insert_from_file.rb
4
+
1
5
  Metrics/BlockLength:
2
6
  Exclude:
3
7
  - insert_from_file.gemspec
@@ -6,3 +10,7 @@ Metrics/BlockLength:
6
10
  Metrics/LineLength:
7
11
  Exclude:
8
12
  - insert_from_file.gemspec
13
+
14
+ Metrics/ModuleLength:
15
+ Exclude:
16
+ - lib/insert_from_file.rb
data/README.md CHANGED
@@ -17,12 +17,12 @@ The InsertFromFile gem is for inserting the contents of one file into another fi
17
17
  * tmp/file1.txt:
18
18
  ```
19
19
  one two three
20
- four five six
21
20
  ten eleven twelve
22
21
  thirteen fourteen fifteen
23
22
  ```
24
23
  * tmp/file2.txt:
25
24
  ```
25
+ four five six
26
26
  seven eight nine
27
27
  ```
28
28
  * Adding the contents of tmp/file2.txt before the line in tmp/file1.txt containing 'ten':
@@ -35,12 +35,12 @@ InsertFromFile.add_before('tmp/file2.txt', 'tmp/file1.txt', 'ten')
35
35
  ```
36
36
  one two three
37
37
  four five six
38
- ten eleven twelve
39
38
  thirteen fourteen fifteen
40
39
  ```
41
40
  * tmp/file4.txt:
42
41
  ```
43
42
  seven eight nine
43
+ ten eleven twelve
44
44
  ```
45
45
  * Adding the contents of tmp/file4.txt after the line in tmp/file3.txt containing 'six':
46
46
  ```
@@ -53,12 +53,12 @@ InsertFromFile.add_after('tmp/file4.txt', 'tmp/file3.txt', 'six')
53
53
  one two three
54
54
  four five six
55
55
  sixteen seventeen eighteen
56
- ten eleven twelve
57
56
  thirteen fourteen fifteen
58
57
  ```
59
58
  * tmp/file6.txt:
60
59
  ```
61
60
  seven eight nine
61
+ ten eleven twelve
62
62
  ```
63
63
  * Adding the contents of tmp/file6.txt into tmp/file5.txt in place of the line containing 'sixteen':
64
64
  ```
@@ -71,12 +71,12 @@ InsertFromFile.replace('tmp/file6.txt', 'tmp/file5.txt', 'sixteen')
71
71
  one two three
72
72
  four five six
73
73
  sixteen seventeen eighteen
74
- ten eleven twelve
75
74
  thirteen fourteen fifteen
76
75
  ```
77
76
  * tmp/file12.txt:
78
77
  ```
79
78
  seven eight nine
79
+ ten eleven twelve
80
80
  ```
81
81
  * Adding the contents of tmp/file12.txt into tmp/file11.txt and replacing everything after the line containing "five" and before the line containing "eleven":
82
82
  ```
@@ -86,7 +86,6 @@ InsertFromFile.replace_between('tmp/file12.txt', 'tmp/file11.txt', 'five', 'elev
86
86
  ### add_beginning
87
87
  * tmp/file13.txt:
88
88
  ```
89
- four five six
90
89
  seven eight nine
91
90
  ten eleven twelve
92
91
  thirteen fourteen fifteen
@@ -94,6 +93,7 @@ thirteen fourteen fifteen
94
93
  * tmp/file14.txt:
95
94
  ```
96
95
  one two three
96
+ four five six
97
97
  ```
98
98
  * Adding the contents of tmp/file14.txt to the beginning of tmp/file13.txt:
99
99
  ```
@@ -106,10 +106,10 @@ InsertFromFile.add_beginning('tmp/file14.txt', 'tmp/file13.txt')
106
106
  one two three
107
107
  four five six
108
108
  seven eight nine
109
- ten eleven twelve
110
109
  ```
111
110
  * tmp/file16.txt:
112
111
  ```
112
+ ten eleven twelve
113
113
  thirteen fourteen fifteen
114
114
  ```
115
115
  * Adding the contents of temp/file16.txt to the beginning of tmp/file15.txt:
@@ -6,23 +6,83 @@ require 'string_in_file'
6
6
  #
7
7
  module InsertFromFile
8
8
  def self.add_before(file_source, file_dest, str_dest)
9
- str_to_add = StringInFile.read(file_source)
10
- LineContaining.add_before(str_dest, str_to_add, file_dest)
9
+ path_old = file_dest
10
+ path_new = "#{path_old}.new"
11
+ file_w = open(path_new, 'w')
12
+ File.readlines(path_old).each do |line|
13
+ if line.include? str_dest
14
+ File.readlines(file_source).each do |line_s|
15
+ file_w.write(line_s)
16
+ end
17
+ end
18
+ file_w.write(line)
19
+ end
20
+ file_w.close
21
+ system("rm #{path_old}")
22
+ system("mv #{path_new} #{path_old}")
11
23
  end
12
24
 
13
25
  def self.add_after(file_source, file_dest, str_dest)
14
- str_to_add = StringInFile.read(file_source)
15
- LineContaining.add_after(str_dest, str_to_add, file_dest)
26
+ path_old = file_dest
27
+ path_new = "#{path_old}.new"
28
+ file_w = open(path_new, 'w')
29
+ File.readlines(path_old).each do |line|
30
+ file_w.write(line)
31
+ # rubocop:disable Style/Next
32
+ if line.include? str_dest
33
+ File.readlines(file_source).each do |line_s|
34
+ file_w.write(line_s)
35
+ end
36
+ end
37
+ # rubocop:enable Style/Next
38
+ end
39
+ file_w.close
40
+ system("rm #{path_old}")
41
+ system("mv #{path_new} #{path_old}")
16
42
  end
17
43
 
18
44
  def self.replace(file_source, file_dest, str_dest)
19
- str_to_add = StringInFile.read(file_source)
20
- LineContaining.replace(str_dest, str_to_add, file_dest)
45
+ path_old = file_dest
46
+ path_new = "#{path_old}.new"
47
+ file_w = open(path_new, 'w')
48
+ File.readlines(path_old).each do |line|
49
+ if line.include? str_dest
50
+ File.readlines(file_source).each do |line_s|
51
+ file_w.write(line_s)
52
+ end
53
+ else
54
+ file_w.write(line)
55
+ end
56
+ end
57
+ file_w.close
58
+ system("rm #{path_old}")
59
+ system("mv #{path_new} #{path_old}")
21
60
  end
22
61
 
23
62
  def self.replace_between(file_source, file_dest, str1, str2)
24
- LineContaining.delete_between(str1, str2, file_dest)
25
- InsertFromFile.add_after(file_source, file_dest, str1)
63
+ path_old = file_dest
64
+ path_new = "#{path_old}.new"
65
+ file_w = open(path_new, 'w')
66
+ is_before = true
67
+ is_after = false
68
+ File.readlines(path_old).each do |line|
69
+ if is_before == true # Beginning
70
+ file_w.write(line)
71
+ if line.include? str1
72
+ File.readlines(file_source).each do |line_s|
73
+ file_w.write(line_s)
74
+ end
75
+ end
76
+ elsif is_after == true # End
77
+ file_w.write(line)
78
+ elsif line.include? str2 # Middle
79
+ file_w.write(line)
80
+ is_after = true
81
+ end
82
+ end
83
+ file_w.close
84
+ system("rm #{path_old}")
85
+ system("mv #{path_new} #{path_old}")
26
86
  end
27
87
 
28
88
  def self.add_beginning(file_source, file_dest)
@@ -1,4 +1,4 @@
1
1
  #
2
2
  module InsertFromFile
3
- VERSION = '0.0.2'.freeze
3
+ VERSION = '0.0.3'.freeze
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: insert_from_file
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Hsu
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-04-25 00:00:00.000000000 Z
11
+ date: 2017-05-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler