mister_bin 0.0.2 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +23 -1
- data/lib/mister_bin/runner.rb +15 -7
- data/lib/mister_bin/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4855be0420ff86441a00e588e967c8b2853b421a29965fd834a565867889c9c6
|
4
|
+
data.tar.gz: 3091bd565021ec3e53e42b33f5a6bbde9ae204f15bc8afb30a9b1fd3bf233c2d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f58f8e52666cd8461f500d19165271d349871ec7d7bdb6f3b10104097ae3657d3055ce79b67bed4d30c1221ed0720b5d14a8ccd0bef0769dc57f73aafbb11632
|
7
|
+
data.tar.gz: 5e67542db23b0ff6d65307d702f5559259fd8f7ee645977d961d5791f023e375777553250cf470d7cc2fa10595bae165ea8e228443cccec20a94efbdac241585
|
data/README.md
CHANGED
@@ -27,6 +27,13 @@ Design Goals
|
|
27
27
|
|
28
28
|
|
29
29
|
|
30
|
+
Example
|
31
|
+
--------------------------------------------------
|
32
|
+
|
33
|
+
See the [example](/example) folder.
|
34
|
+
|
35
|
+
|
36
|
+
|
30
37
|
Usage
|
31
38
|
--------------------------------------------------
|
32
39
|
|
@@ -105,7 +112,7 @@ require 'mister_bin'
|
|
105
112
|
exit MisterBin::Runner.run __FILE__, ARGV
|
106
113
|
```
|
107
114
|
|
108
|
-
|
115
|
+
It will start the execution chain based on the arguments provided
|
109
116
|
when running it.
|
110
117
|
|
111
118
|
The `Runner.run` method requires two parameters:
|
@@ -114,6 +121,21 @@ The `Runner.run` method requires two parameters:
|
|
114
121
|
need).
|
115
122
|
2. An array of arguments (usually `ARGV` is what you need).
|
116
123
|
|
124
|
+
In addition, you may provide a `header` and a `footer` that will be
|
125
|
+
displayed when executing without arguments:
|
126
|
+
|
127
|
+
```ruby
|
128
|
+
# git
|
129
|
+
#!/usr/bin/env ruby
|
130
|
+
require 'mister_bin'
|
131
|
+
|
132
|
+
exitcode = MisterBin::Runner.run __FILE__, ARGV,
|
133
|
+
header: "This is a sample header.",
|
134
|
+
footer: "This is a sample footer."
|
135
|
+
|
136
|
+
exit exitcode
|
137
|
+
```
|
138
|
+
|
117
139
|
|
118
140
|
|
119
141
|
Creating Subcommands
|
data/lib/mister_bin/runner.rb
CHANGED
@@ -1,13 +1,19 @@
|
|
1
|
+
require 'colsole'
|
2
|
+
|
1
3
|
module MisterBin
|
2
4
|
class Runner
|
3
|
-
|
5
|
+
include Colsole
|
6
|
+
|
7
|
+
attr_reader :basefile, :basedir, :name, :header, :footer
|
4
8
|
|
5
|
-
def self.run(basefile, argv=[])
|
6
|
-
new(basefile).run argv
|
9
|
+
def self.run(basefile, argv=[], header: nil, footer: nil)
|
10
|
+
new(basefile, header: header, footer: footer).run argv
|
7
11
|
end
|
8
12
|
|
9
|
-
def initialize(basefile)
|
13
|
+
def initialize(basefile, header: nil, footer: nil)
|
10
14
|
@basefile = basefile
|
15
|
+
@header = header
|
16
|
+
@footer = footer
|
11
17
|
@basedir = File.dirname basefile
|
12
18
|
@name = File.basename basefile
|
13
19
|
end
|
@@ -28,8 +34,8 @@ module MisterBin
|
|
28
34
|
if command
|
29
35
|
execute_command command, argv
|
30
36
|
else
|
31
|
-
puts "Unknown command: #{argv[0]}"
|
32
|
-
|
37
|
+
puts "Unknown command: #{argv[0]}\n\n"
|
38
|
+
show_subs
|
33
39
|
end
|
34
40
|
end
|
35
41
|
|
@@ -41,8 +47,10 @@ module MisterBin
|
|
41
47
|
if commands.all.empty?
|
42
48
|
puts "No subcommands found"
|
43
49
|
else
|
44
|
-
|
50
|
+
say "#{header}\n" if header
|
51
|
+
puts "Commands:"
|
45
52
|
commands.names.each { |command| puts " #{name} #{command}" }
|
53
|
+
say "\n#{footer}" if footer
|
46
54
|
end
|
47
55
|
|
48
56
|
return 1
|
data/lib/mister_bin/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mister_bin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Danny Ben Shitrit
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-04-
|
11
|
+
date: 2018-04-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colsole
|