mister_bin 0.0.2 → 0.1.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/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
|