rake_script 0.2.0 → 0.3.0

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
  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