ro_thor 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d0f90f19100b11c8bcf40023974d3b98bf89993a
4
- data.tar.gz: 8c1129336ace224bfb849a12dbb048e3c36ef4b4
3
+ metadata.gz: 9726973316d57343c8a351edb51914a331461feb
4
+ data.tar.gz: c994e488fd7e69990fd0a3249321b2419f71093e
5
5
  SHA512:
6
- metadata.gz: c655d67dc6ffb5bc5541f7d61f06651a9d85e8d1e44c53784db1acc2cb960b57d3c682972404a03db0b97411507d1874af0e6fb94d682d67e1051936f2b18aea
7
- data.tar.gz: a69e3df06d2af18c89a0fa33bf177c3a346a4171f2f3cfb607d1ad80516a22f80fd3f0547a2e6264c7b3741da373f15fe8313c688fa298299ac435a80e19f0e1
6
+ metadata.gz: 5b8dd05aef9afd824a472906fd10d7d7d2f219c3e3299db03c81b8273d6387ac5cd9921e6a74ada66859a3eabbb23d4e710a6da600708c067f1132c414f68aa0
7
+ data.tar.gz: e35773dd2ca6bf06b0de1a2d548566f4536f579943b4a0e9a6ced5779ad52ae85bf187735cffcf8f7a81c32105ac9337130df3bbf9484a6cb3222fb2544bb787
data/lib/ro_thor.rb CHANGED
@@ -1,6 +1,7 @@
1
+ $LOAD_PATH.unshift(File.expand_path("..", __FILE__))
2
+ require 'core_ext/array'
1
3
  require 'thor'
2
4
  require 'open3'
3
- require 'active_support/core_ext/array'
4
5
  require 'pathname'
5
6
 
6
7
  class RoThor < Thor
@@ -27,9 +28,17 @@ class RoThor < Thor
27
28
  system cmd
28
29
  end
29
30
 
31
+ def rt?(*args, &blk)
32
+ ENV['USER'] == 'root'
33
+ end
34
+
30
35
  def read(f, *args, &blk)
31
- bash "sudo cp -f #{f} #{buffer}"
32
- File.read(buffer)
36
+ if rt?
37
+ bash "sudo cp -f #{f} #{buffer}"
38
+ File.read(buffer)
39
+ else
40
+ File.read(f)
41
+ end
33
42
  end
34
43
 
35
44
  def grep(str, re, *args, &blk)
@@ -51,9 +60,13 @@ class RoThor < Thor
51
60
  end
52
61
 
53
62
  def write(f, *args, &blk)
54
- File.write(buffer, *args, &blk)
55
- pr = Pathname.new(f).parent
56
- bash("sudo mkdir -p #{pr}; sudo cp -f #{buffer} #{f}")
63
+ if rt?
64
+ File.write(buffer, *args, &blk)
65
+ pr = Pathname.new(f).parent
66
+ bash("sudo mkdir -p #{pr}; sudo cp -f #{buffer} #{f}")
67
+ else
68
+ File.write(f, *args, &blk)
69
+ end
57
70
  end
58
71
 
59
72
  class BashErr < StandardError
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ class TryArr < RoThor
4
+ def opts(*args, &blk)
5
+ args, opts = args.ro_opts
6
+ return opts
7
+ end
8
+ end
9
+
10
+ describe "RoThor.new" do
11
+ let(:o) do
12
+ TryArr.new
13
+ end
14
+
15
+ it :opts do
16
+ r = o.opts "key:val k2:v2"
17
+ expect(r).to eq({key: "val", k2: 'v2'})
18
+ end
19
+ end
20
+
@@ -0,0 +1,3 @@
1
+ require File.expand_path('../../conf/ro_thor', __FILE__)
2
+
3
+ require 'ro_thor'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ro_thor
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
  - ''
@@ -33,6 +33,8 @@ extra_rdoc_files: []
33
33
  files:
34
34
  - README.md
35
35
  - lib/ro_thor.rb
36
+ - spec/lib/core_ext/array_spec.rb
37
+ - spec/spec_helper.rb
36
38
  homepage: ''
37
39
  licenses: []
38
40
  metadata: {}
@@ -56,4 +58,6 @@ rubygems_version: 2.4.5
56
58
  signing_key:
57
59
  specification_version: 4
58
60
  summary: ''
59
- test_files: []
61
+ test_files:
62
+ - spec/lib/core_ext/array_spec.rb
63
+ - spec/spec_helper.rb