scout-gear 1.2.0 → 2.0.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 +4 -4
- data/.gitmodules +4 -0
- data/.vimproject +604 -2
- data/Rakefile +1 -0
- data/VERSION +1 -1
- data/bin/scout +28 -0
- data/lib/scout/indiferent_hash.rb +0 -30
- data/lib/scout/misc/format.rb +227 -0
- data/lib/scout/misc.rb +1 -0
- data/lib/scout/path/find.rb +15 -9
- data/lib/scout/path/util.rb +4 -5
- data/lib/scout/path.rb +13 -7
- data/lib/scout/simple_opt/accessor.rb +54 -0
- data/lib/scout/simple_opt/doc.rb +120 -0
- data/lib/scout/simple_opt/get.rb +57 -0
- data/lib/scout/simple_opt/parse.rb +66 -0
- data/lib/scout/simple_opt/setup.rb +26 -0
- data/lib/scout/simple_opt.rb +5 -0
- data/lib/scout-gear.rb +1 -0
- data/scout-gear.gemspec +15 -3
- data/test/scout/indiferent_hash/test_case_insensitive.rb +16 -0
- data/test/scout/path/test_find.rb +9 -1
- data/test/scout/simple_opt/test_get.rb +11 -0
- data/test/scout/simple_opt/test_parse.rb +10 -0
- data/test/scout/simple_opt/test_setup.rb +77 -0
- metadata +14 -2
@@ -0,0 +1,26 @@
|
|
1
|
+
module SOPT
|
2
|
+
|
3
|
+
def self.setup(str)
|
4
|
+
parts = str.split(/\n\n+/)
|
5
|
+
|
6
|
+
summary = parts.shift unless parts.first =~ /^\s*\$-/
|
7
|
+
synopsys = parts.shift if parts.first =~ /^\s*\$/
|
8
|
+
|
9
|
+
description = []
|
10
|
+
while parts.first and parts.first !~ /^\s*-/
|
11
|
+
description << parts.shift
|
12
|
+
end
|
13
|
+
description = description * "\n\n"
|
14
|
+
|
15
|
+
options = parts.collect{|part| part.split("\n").select{|l| l=~ /^\s*-/ } }.flatten.compact * "\n"
|
16
|
+
|
17
|
+
synopsys.sub!(/^\$\s+/,'') if synopsys
|
18
|
+
|
19
|
+
SOPT.summary = summary.strip if summary
|
20
|
+
SOPT.synopsys = synopsys.strip if synopsys
|
21
|
+
SOPT.description = description.strip if description
|
22
|
+
SOPT.parse options if options
|
23
|
+
|
24
|
+
SOPT.consume
|
25
|
+
end
|
26
|
+
end
|
data/lib/scout-gear.rb
CHANGED
data/scout-gear.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: scout-gear
|
5
|
+
# stub: scout-gear 2.0.0 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "scout-gear".freeze
|
9
|
-
s.version = "
|
9
|
+
s.version = "2.0.0"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib".freeze]
|
13
13
|
s.authors = ["Miguel Vazquez".freeze]
|
14
|
-
s.date = "2023-03-
|
14
|
+
s.date = "2023-03-30"
|
15
15
|
s.description = "Temporary files, logs, etc.".freeze
|
16
16
|
s.email = "mikisvaz@gmail.com".freeze
|
17
17
|
s.executables = ["scout".freeze]
|
@@ -21,6 +21,7 @@ Gem::Specification.new do |s|
|
|
21
21
|
]
|
22
22
|
s.files = [
|
23
23
|
".document",
|
24
|
+
".gitmodules",
|
24
25
|
".vimproject",
|
25
26
|
"LICENSE.txt",
|
26
27
|
"README.rdoc",
|
@@ -41,15 +42,26 @@ Gem::Specification.new do |s|
|
|
41
42
|
"lib/scout/log/progress/util.rb",
|
42
43
|
"lib/scout/meta_extension.rb",
|
43
44
|
"lib/scout/misc.rb",
|
45
|
+
"lib/scout/misc/format.rb",
|
44
46
|
"lib/scout/path.rb",
|
45
47
|
"lib/scout/path/find.rb",
|
46
48
|
"lib/scout/path/util.rb",
|
49
|
+
"lib/scout/simple_opt.rb",
|
50
|
+
"lib/scout/simple_opt/accessor.rb",
|
51
|
+
"lib/scout/simple_opt/doc.rb",
|
52
|
+
"lib/scout/simple_opt/get.rb",
|
53
|
+
"lib/scout/simple_opt/parse.rb",
|
54
|
+
"lib/scout/simple_opt/setup.rb",
|
47
55
|
"lib/scout/tmpfile.rb",
|
48
56
|
"scout-gear.gemspec",
|
57
|
+
"test/scout/indiferent_hash/test_case_insensitive.rb",
|
49
58
|
"test/scout/indiferent_hash/test_options.rb",
|
50
59
|
"test/scout/log/test_progress.rb",
|
51
60
|
"test/scout/path/test_find.rb",
|
52
61
|
"test/scout/path/test_util.rb",
|
62
|
+
"test/scout/simple_opt/test_get.rb",
|
63
|
+
"test/scout/simple_opt/test_parse.rb",
|
64
|
+
"test/scout/simple_opt/test_setup.rb",
|
53
65
|
"test/scout/test_indiferent_hash.rb",
|
54
66
|
"test/scout/test_log.rb",
|
55
67
|
"test/scout/test_meta_extension.rb",
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require File.expand_path(__FILE__).sub(%r(/test/.*), '/test/test_helper.rb')
|
2
|
+
require File.expand_path(__FILE__).sub(%r(.*/test/), '').sub(/test_(.*)\.rb/,'\1')
|
3
|
+
|
4
|
+
class TestCaseInsensitiveHash < Test::Unit::TestCase
|
5
|
+
def test_case_insensitive_hash
|
6
|
+
a = {:a => 1, "b" => 2}
|
7
|
+
a.extend CaseInsensitiveHash
|
8
|
+
|
9
|
+
assert_equal 1, a[:a]
|
10
|
+
assert_equal 1, a["A"]
|
11
|
+
assert_equal 1, a[:A]
|
12
|
+
assert_equal 2, a["B"]
|
13
|
+
assert_equal 2, a[:b]
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
@@ -10,7 +10,7 @@ class TestPathFind < Test::Unit::TestCase
|
|
10
10
|
assert_equal "data/some_file", path._subpath
|
11
11
|
|
12
12
|
path = Path.setup("data", 'scout')
|
13
|
-
assert_equal
|
13
|
+
assert_equal "", path._toplevel
|
14
14
|
assert_equal "data", path._subpath
|
15
15
|
end
|
16
16
|
|
@@ -63,5 +63,13 @@ class TestPathFind < Test::Unit::TestCase
|
|
63
63
|
end
|
64
64
|
end
|
65
65
|
|
66
|
+
def test_located?
|
67
|
+
|
68
|
+
p = Path.setup("/tmp/foo/bar")
|
69
|
+
assert p.located?
|
70
|
+
assert_equal p, p.find
|
71
|
+
|
72
|
+
end
|
73
|
+
|
66
74
|
end
|
67
75
|
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require File.expand_path(__FILE__).sub(%r(/test/.*), '/test/test_helper.rb')
|
2
|
+
require 'scout/simple_opt'
|
3
|
+
require File.expand_path(__FILE__).sub(%r(.*/test/), '').sub(/test_(.*)\.rb/,'\1')
|
4
|
+
|
5
|
+
class TestSOPTParse < Test::Unit::TestCase
|
6
|
+
def test_consume
|
7
|
+
SOPT.parse("-f--first* first arg:-f--fun")
|
8
|
+
args = "-f myfile --fun".split(" ")
|
9
|
+
assert_equal "myfile", SOPT.consume(args)[:first]
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
require File.expand_path(__FILE__).sub(%r(/test/.*), '/test/test_helper.rb')
|
2
|
+
require 'scout/path'
|
3
|
+
require File.expand_path(__FILE__).sub(%r(.*/test/), '').sub(/test_(.*)\.rb/,'\1')
|
4
|
+
|
5
|
+
class TestSOPTParse < Test::Unit::TestCase
|
6
|
+
def test_parse
|
7
|
+
SOPT.parse("-f--first* first arg:-f--fun")
|
8
|
+
assert_equal "fun", SOPT.shortcuts["fu"]
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
require File.expand_path(__FILE__).sub(%r(/test/.*), '/test/test_helper.rb')
|
2
|
+
require 'scout/simple_opt'
|
3
|
+
require File.expand_path(__FILE__).sub(%r(.*/test/), '').sub(/test_(.*)\.rb/,'\1')
|
4
|
+
|
5
|
+
class TestSOPTSetup < Test::Unit::TestCase
|
6
|
+
def setup
|
7
|
+
SOPT.inputs = nil
|
8
|
+
SOPT.input_types = nil
|
9
|
+
SOPT.input_descriptions = nil
|
10
|
+
SOPT.input_shortcuts = nil
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_setup
|
14
|
+
SOPT.setup <<-EOF
|
15
|
+
Test application
|
16
|
+
|
17
|
+
$ test cmd -arg 1
|
18
|
+
|
19
|
+
It does some imaginary stuff
|
20
|
+
|
21
|
+
-a--arg* Argument
|
22
|
+
-a2--arg2* Argument
|
23
|
+
|
24
|
+
EOF
|
25
|
+
|
26
|
+
assert_equal "test cmd -arg 1", SOPT.synopsys
|
27
|
+
assert SOPT.inputs.include? "arg"
|
28
|
+
assert SOPT.inputs.include? "arg2"
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_setup_alt
|
32
|
+
SOPT.setup <<-EOF
|
33
|
+
Test application
|
34
|
+
|
35
|
+
It does some imaginary stuff
|
36
|
+
|
37
|
+
-a--arg* Argument
|
38
|
+
-a2--arg2* Argument
|
39
|
+
|
40
|
+
EOF
|
41
|
+
|
42
|
+
assert SOPT.inputs.include? "arg"
|
43
|
+
assert SOPT.inputs.include? "arg2"
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_setup_alt2
|
47
|
+
SOPT.setup <<-EOF
|
48
|
+
Test application
|
49
|
+
|
50
|
+
-a--arg* Argument
|
51
|
+
-a2--arg2* Argument
|
52
|
+
|
53
|
+
EOF
|
54
|
+
|
55
|
+
assert SOPT.inputs.include? "arg"
|
56
|
+
assert SOPT.inputs.include? "arg2"
|
57
|
+
end
|
58
|
+
|
59
|
+
def test_setup_alt3
|
60
|
+
SOPT.setup <<-EOF
|
61
|
+
Pulls the values from a tsv colum
|
62
|
+
|
63
|
+
$ rbbt tsv values [options] <filename.tsv|->
|
64
|
+
|
65
|
+
Use - to read from STDIN
|
66
|
+
|
67
|
+
-tch--tokyocabinet File is a tokyocabinet hash database
|
68
|
+
-tcb--tokyocabinet_bd File is a tokyocabinet B database
|
69
|
+
-h--help Print this help
|
70
|
+
EOF
|
71
|
+
|
72
|
+
assert SOPT.inputs.include? "tokyocabinet"
|
73
|
+
end
|
74
|
+
|
75
|
+
end
|
76
|
+
|
77
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scout-gear
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Miguel Vazquez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-03-
|
11
|
+
date: 2023-03-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: term-ansicolor
|
@@ -90,6 +90,7 @@ extra_rdoc_files:
|
|
90
90
|
- README.rdoc
|
91
91
|
files:
|
92
92
|
- ".document"
|
93
|
+
- ".gitmodules"
|
93
94
|
- ".vimproject"
|
94
95
|
- LICENSE.txt
|
95
96
|
- README.rdoc
|
@@ -110,15 +111,26 @@ files:
|
|
110
111
|
- lib/scout/log/progress/util.rb
|
111
112
|
- lib/scout/meta_extension.rb
|
112
113
|
- lib/scout/misc.rb
|
114
|
+
- lib/scout/misc/format.rb
|
113
115
|
- lib/scout/path.rb
|
114
116
|
- lib/scout/path/find.rb
|
115
117
|
- lib/scout/path/util.rb
|
118
|
+
- lib/scout/simple_opt.rb
|
119
|
+
- lib/scout/simple_opt/accessor.rb
|
120
|
+
- lib/scout/simple_opt/doc.rb
|
121
|
+
- lib/scout/simple_opt/get.rb
|
122
|
+
- lib/scout/simple_opt/parse.rb
|
123
|
+
- lib/scout/simple_opt/setup.rb
|
116
124
|
- lib/scout/tmpfile.rb
|
117
125
|
- scout-gear.gemspec
|
126
|
+
- test/scout/indiferent_hash/test_case_insensitive.rb
|
118
127
|
- test/scout/indiferent_hash/test_options.rb
|
119
128
|
- test/scout/log/test_progress.rb
|
120
129
|
- test/scout/path/test_find.rb
|
121
130
|
- test/scout/path/test_util.rb
|
131
|
+
- test/scout/simple_opt/test_get.rb
|
132
|
+
- test/scout/simple_opt/test_parse.rb
|
133
|
+
- test/scout/simple_opt/test_setup.rb
|
122
134
|
- test/scout/test_indiferent_hash.rb
|
123
135
|
- test/scout/test_log.rb
|
124
136
|
- test/scout/test_meta_extension.rb
|