rake_script 0.2.0 → 0.3.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6c1dbb116588b9b45a4d8809135d771b94ce50236a2009394a525a785f4f9f88
4
- data.tar.gz: 30143aab8a7dd0ffbdd872597b0c07073e9dcf71f603ce5b6c99afade7c95629
3
+ metadata.gz: 8cc103a638ff21e24588737201910ec53ed682abb285567f0cd6e21bd5e6b66e
4
+ data.tar.gz: b11cbc1465ce68e498321533470f423764e171e4d5e3addcad1f9f25c3790ae7
5
5
  SHA512:
6
- metadata.gz: 47c17babcf9499576d4ebfd146b85fda5d8dcaf79fafdf4ca31ddb8dc704d4de51198e199de798c4db0881c91f8e9fc8c78ff6fc70ee2d4ae082eedf302438a7
7
- data.tar.gz: 9eb4d5f2b9b7f617c60222f0e865dc52be5e7de7c3b184fdba68b2a2a025af0020ea1244a27e47e6f809f9413d870f0d52ff0e7f8a28150bacac69c52e6eb5da
6
+ metadata.gz: c0ea2e5bc75e86bf9b7445873493e9613bc32249260eaec5714f2a66077c0e5dbbf421dac0036aacc8e020b6aa1ac01c6cfeed0e336e120e31d6bc51e208328b
7
+ data.tar.gz: 3e1325f937068bf7afa760c79bc41d8ee1b305f07973dcaaad8c7aa79c061b0146506f6430548d49d7c39c2f190e99108627afd1783ac532a0a48a6f374f955b
data/.travis.yml ADDED
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.3
4
+ before_install: gem install bundler
@@ -20,6 +20,7 @@ module RakeScript
20
20
  result.push(flag.to_s)
21
21
  end
22
22
  end
23
+ result
23
24
  end
24
25
 
25
26
  def remove_rf(*paths)
@@ -52,5 +53,23 @@ module RakeScript
52
53
  def chdir(path)
53
54
  Dir.chdir(path) { yield }
54
55
  end
56
+
57
+ def append_file(filepath, string, verbose: false, before: nil, after: nil)
58
+ raise ArgumentError, "can't use :before and :after in same time" if before && after
59
+
60
+ after_index = nil
61
+ if after || before
62
+ content = File.read(filepath)
63
+ after_index = content.index(after || before)
64
+ return if after_index.nil?
65
+ end
66
+ after_index -= before.size if after_index && before
67
+
68
+ File.open(filepath, 'a+') do |f|
69
+ f.seek(after_index, IO::SEEK_SET) if after_index
70
+ f.write(string)
71
+ end
72
+ puts("Append #{string.inspect} to #{filepath}") if verbose
73
+ end
55
74
  end
56
75
  end
@@ -33,12 +33,12 @@ module RakeScript
33
33
  options = arguments.last.is_a?(Hash) ? arguments.pop : {}
34
34
 
35
35
  # extract option keys
36
- stdout = options[:stdout] || proc { |raw_line| STDOUT.puts(raw_line) }
37
- stderr = options[:stderr] || proc { |raw_line| STDERR.puts(raw_line) }
38
- env = options[:env] || {}
36
+ stdout = options.fetch(:stdout) { proc { |raw_line| STDOUT.puts(raw_line) } }
37
+ stderr = options.fetch(:stderr) { proc { |raw_line| STDERR.puts(raw_line) } }
38
+ env = options.fetch(:env, {})
39
39
  debug = options.fetch(:debug, true)
40
- debug_color = options[:debug_color] || :light_cyan
41
- debug_style = options[:debug_style] || :underlined
40
+ debug_color = options.fetch(:debug_color, :light_cyan)
41
+ debug_style = options.fetch(:debug_style, :underlined)
42
42
 
43
43
  # calculating command line
44
44
  env_str = env.map { |k, v| "#{k}=#{v}" }.join(' ')
@@ -1,3 +1,3 @@
1
1
  module RakeScript
2
- VERSION = '0.2.0'.freeze
2
+ VERSION = '0.3.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake_script
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Denis Talakevich
@@ -45,6 +45,7 @@ extensions: []
45
45
  extra_rdoc_files: []
46
46
  files:
47
47
  - ".gitignore"
48
+ - ".travis.yml"
48
49
  - Gemfile
49
50
  - LICENSE.txt
50
51
  - README.md