bashly 1.2.1 → 1.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/bashly/commands/shell.rb +1 -1
- data/lib/bashly/concerns/completions.rb +3 -3
- data/lib/bashly/docs/env.yml +10 -0
- data/lib/bashly/docs/flag.yml +23 -0
- data/lib/bashly/libraries/ini/ini.sh +1 -0
- data/lib/bashly/libraries/render/mandoc/mandoc.gtx +7 -4
- data/lib/bashly/libraries/render/markdown/markdown.gtx +7 -3
- data/lib/bashly/libraries/settings/settings.yml +5 -0
- data/lib/bashly/libraries/strings/strings.yml +4 -0
- data/lib/bashly/script/command.rb +9 -208
- data/lib/bashly/script/environment_variable.rb +5 -1
- data/lib/bashly/script/flag.rb +5 -2
- data/lib/bashly/script/introspection/arguments.rb +41 -0
- data/lib/bashly/script/introspection/commands.rb +111 -0
- data/lib/bashly/script/introspection/dependencies.rb +16 -0
- data/lib/bashly/script/introspection/environment_variables.rb +47 -0
- data/lib/bashly/script/introspection/examples.rb +14 -0
- data/lib/bashly/script/introspection/flags.rb +58 -0
- data/lib/bashly/script/introspection/visibility.rb +19 -0
- data/lib/bashly/settings.rb +5 -0
- data/lib/bashly/version.rb +1 -1
- data/lib/bashly/views/argument/usage.gtx +3 -3
- data/lib/bashly/views/command/environment_variables_filter.gtx +6 -0
- data/lib/bashly/views/command/fixed_flags_filter.gtx +2 -1
- data/lib/bashly/views/command/long_usage.gtx +8 -4
- data/lib/bashly/views/command/needy_flags_filter.gtx +9 -0
- data/lib/bashly/views/command/parse_requirements.gtx +1 -0
- data/lib/bashly/views/command/usage_commands.gtx +10 -3
- data/lib/bashly/views/command/usage_environment_variables.gtx +20 -4
- data/lib/bashly/views/command/usage_flags.gtx +10 -2
- data/lib/bashly/views/environment_variable/usage.gtx +2 -2
- data/lib/bashly/views/environment_variable/validations.gtx +9 -0
- data/lib/bashly/views/flag/needs.gtx +22 -0
- data/lib/bashly/views/flag/usage.gtx +11 -3
- data/lib/bashly.rb +27 -40
- metadata +67 -3
@@ -0,0 +1,16 @@
|
|
1
|
+
module Bashly
|
2
|
+
module Script
|
3
|
+
module Introspection
|
4
|
+
module Dependencies
|
5
|
+
# Returns an array of Dependency objects
|
6
|
+
def dependencies
|
7
|
+
return [] unless options['dependencies']
|
8
|
+
|
9
|
+
@dependencies ||= options['dependencies'].map do |key, value|
|
10
|
+
Dependency.from_config key, value
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module Bashly
|
2
|
+
module Script
|
3
|
+
module Introspection
|
4
|
+
module EnvironmentVariables
|
5
|
+
# Returns an array of all the Environment Variables with default values
|
6
|
+
def default_environment_variables
|
7
|
+
environment_variables.select(&:default)
|
8
|
+
end
|
9
|
+
|
10
|
+
# Returns an array of EnvironmentVariable objects
|
11
|
+
def environment_variables
|
12
|
+
return [] unless options['environment_variables']
|
13
|
+
|
14
|
+
options['environment_variables'].map do |options|
|
15
|
+
EnvironmentVariable.new options
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
# Returns only environment variables that are not private
|
20
|
+
def public_environment_variables
|
21
|
+
environment_variables.reject(&:private)
|
22
|
+
end
|
23
|
+
|
24
|
+
# Returns an array of all the required EnvironmentVariables
|
25
|
+
def required_environment_variables
|
26
|
+
environment_variables.select(&:required)
|
27
|
+
end
|
28
|
+
|
29
|
+
# Returns an array of all the environment_variables with a validation
|
30
|
+
def validated_environment_variables
|
31
|
+
environment_variables.select(&:validate)
|
32
|
+
end
|
33
|
+
|
34
|
+
# Returns only public environment variables, or both public and private
|
35
|
+
# environment variables if Settings.private_reveal_key is set
|
36
|
+
def visible_environment_variables
|
37
|
+
Settings.private_reveal_key ? environment_variables : public_environment_variables
|
38
|
+
end
|
39
|
+
|
40
|
+
# Returns an array of all the environment_variables with a whitelist arg
|
41
|
+
def whitelisted_environment_variables
|
42
|
+
environment_variables.select(&:allowed)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Bashly
|
2
|
+
module Script
|
3
|
+
module Introspection
|
4
|
+
module Examples
|
5
|
+
# Returns an array of examples
|
6
|
+
def examples
|
7
|
+
return nil unless options['examples']
|
8
|
+
|
9
|
+
options['examples'].is_a?(Array) ? options['examples'] : [options['examples']]
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
module Bashly
|
2
|
+
module Script
|
3
|
+
module Introspection
|
4
|
+
module Flags
|
5
|
+
# Returns an array of all the default Flags
|
6
|
+
def default_flags
|
7
|
+
flags.select(&:default)
|
8
|
+
end
|
9
|
+
|
10
|
+
# Returns an array of Flags
|
11
|
+
def flags
|
12
|
+
return [] unless options['flags']
|
13
|
+
|
14
|
+
options['flags'].map do |options|
|
15
|
+
Flag.new options
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
# Returns true if this command's flags should be considered as gloal
|
20
|
+
# flags, and cascade to subcommands
|
21
|
+
def global_flags?
|
22
|
+
flags.any? and commands.any?
|
23
|
+
end
|
24
|
+
|
25
|
+
# Returns an array of all fpags that need other flags
|
26
|
+
def needy_flags
|
27
|
+
flags.select(&:needs)
|
28
|
+
end
|
29
|
+
|
30
|
+
# Returns only flags that are not private
|
31
|
+
def public_flags
|
32
|
+
flags.reject(&:private)
|
33
|
+
end
|
34
|
+
|
35
|
+
# Returns an array of all the required Flags
|
36
|
+
def required_flags
|
37
|
+
flags.select(&:required)
|
38
|
+
end
|
39
|
+
|
40
|
+
# Returns true if one of the flags matches the provided short code
|
41
|
+
def short_flag_exist?(flag)
|
42
|
+
flags.any? { |f| f.short == flag }
|
43
|
+
end
|
44
|
+
|
45
|
+
# Returns only public flags, or both public and private flags if
|
46
|
+
# Settings.private_reveal_key is set
|
47
|
+
def visible_flags
|
48
|
+
Settings.private_reveal_key ? flags : public_flags
|
49
|
+
end
|
50
|
+
|
51
|
+
# Returns an array of all the flags with a whitelist arg
|
52
|
+
def whitelisted_flags
|
53
|
+
flags.select(&:allowed)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Bashly
|
2
|
+
module Script
|
3
|
+
module Introspection
|
4
|
+
module Visibility
|
5
|
+
# Returns :public, :private, or :semi_private based on the `private`
|
6
|
+
# option of the host, in conjunction with `Settings.private_reveal_key`.
|
7
|
+
def visibility
|
8
|
+
if !options['private']
|
9
|
+
:public
|
10
|
+
elsif Settings.private_reveal_key
|
11
|
+
:semi_private
|
12
|
+
else
|
13
|
+
:private
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/bashly/settings.rb
CHANGED
@@ -10,6 +10,7 @@ module Bashly
|
|
10
10
|
:config_path,
|
11
11
|
:lib_dir,
|
12
12
|
:partials_extension,
|
13
|
+
:private_reveal_key,
|
13
14
|
:show_examples_on_error,
|
14
15
|
:source_dir,
|
15
16
|
:strict,
|
@@ -54,6 +55,10 @@ module Bashly
|
|
54
55
|
@partials_extension ||= get :partials_extension
|
55
56
|
end
|
56
57
|
|
58
|
+
def private_reveal_key
|
59
|
+
@private_reveal_key ||= get :private_reveal_key
|
60
|
+
end
|
61
|
+
|
57
62
|
def production?
|
58
63
|
env == :production
|
59
64
|
end
|
data/lib/bashly/version.rb
CHANGED
@@ -4,14 +4,14 @@
|
|
4
4
|
> printf "{{ help.wrap(76).indent(4).sanitize_for_print }}\n"
|
5
5
|
|
6
6
|
if allowed
|
7
|
-
> printf " {{ strings[:allowed] % { values: allowed.join(', ') } }}
|
7
|
+
> printf " %s\n" "{{ strings[:allowed] % { values: allowed.join(', ') } }}"
|
8
8
|
end
|
9
9
|
|
10
10
|
if default
|
11
11
|
if default.is_a? Array
|
12
|
-
> printf " {{ strings[:default] % { value: default.join(', ') } }}
|
12
|
+
> printf " %s\n" "{{ strings[:default] % { value: default.join(', ') } }}"
|
13
13
|
else
|
14
|
-
> printf " {{ strings[:default] % { value: default } }}
|
14
|
+
> printf " %s\n" "{{ strings[:default] % { value: default } }}"
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
@@ -1,13 +1,17 @@
|
|
1
1
|
= view_marker
|
2
2
|
|
3
|
-
> if [[ -n $long_usage ]]; then
|
4
|
-
options_caption =
|
3
|
+
> if [[ -n "$long_usage" ]]; then
|
4
|
+
options_caption = strings[:options]
|
5
|
+
if commands.any? && (public_flags.any? || (flags.any? && Settings.private_reveal_key))
|
6
|
+
options_caption = strings[:global_options]
|
7
|
+
end
|
8
|
+
|
5
9
|
> printf "%s\n" "{{ options_caption.color(:caption) }}"
|
6
10
|
>
|
7
|
-
= render(:usage_flags).indent 2 if
|
11
|
+
= render(:usage_flags).indent 2 if flags.any?
|
8
12
|
= render(:usage_fixed_flags).indent 2
|
9
13
|
= render(:usage_args).indent 2 if args.any? or catch_all.help
|
10
|
-
= render(:usage_environment_variables).indent 2 if
|
14
|
+
= render(:usage_environment_variables).indent 2 if environment_variables.any?
|
11
15
|
= render(:usage_examples).indent 2 if examples
|
12
16
|
= render(:footer).indent 2 if footer
|
13
17
|
>
|
@@ -13,6 +13,7 @@ end
|
|
13
13
|
= render(:parse_requirements_while).indent 2
|
14
14
|
= render(:required_args_filter).indent 2
|
15
15
|
= render(:required_flags_filter).indent 2
|
16
|
+
= render(:needy_flags_filter).indent 2
|
16
17
|
= render(:catch_all_filter).indent 2
|
17
18
|
= render(:default_assignments).indent 2
|
18
19
|
= render(:validations).indent 2
|
@@ -6,11 +6,18 @@ command_help_data.each do |group, commands|
|
|
6
6
|
> printf "%s\n" "{{ group.color(:caption) }}"
|
7
7
|
|
8
8
|
commands.each do |command, info|
|
9
|
+
next if info[:visibility] == :private
|
10
|
+
|
11
|
+
line = %Q[printf " %s #{info[:summary].sanitize_for_print}\\n" "#{command.ljust(maxlen).color(:command)}"]
|
9
12
|
if info[:help_only]
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
+
line = %Q[[[ -n "$long_usage" ]] && #{line}]
|
14
|
+
end
|
15
|
+
|
16
|
+
if info[:visibility] == :semi_private
|
17
|
+
line = %Q[[[ -n "${#{Settings.private_reveal_key}:-}" ]] && #{line}]
|
13
18
|
end
|
19
|
+
|
20
|
+
= line
|
14
21
|
end
|
15
22
|
|
16
23
|
> echo
|
@@ -1,10 +1,26 @@
|
|
1
1
|
= view_marker
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
caption = %Q[printf "%s\\n" "#{strings[:environment_variables].color(:caption)}"]
|
4
|
+
if public_environment_variables.any?
|
5
|
+
= caption
|
6
|
+
>
|
7
|
+
elsif environment_variables.any? && Settings.private_reveal_key
|
8
|
+
> if [[ -n "${{{ Settings.private_reveal_key }}:-}" ]]; then
|
9
|
+
= caption.indent(2)
|
10
|
+
> fi
|
11
|
+
>
|
12
|
+
end
|
13
|
+
|
14
|
+
environment_variables.each do |env_var|
|
15
|
+
next if env_var.visibility == :private
|
5
16
|
|
6
|
-
|
7
|
-
|
17
|
+
if env_var.visibility == :semi_private
|
18
|
+
> if [[ -n "${{{ Settings.private_reveal_key }}:-}" ]]; then
|
19
|
+
= env_var.render(:usage).indent(2)
|
20
|
+
> fi
|
21
|
+
else
|
22
|
+
= env_var.render :usage
|
23
|
+
end
|
8
24
|
end
|
9
25
|
|
10
26
|
>
|
@@ -1,7 +1,15 @@
|
|
1
1
|
= view_marker
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
flags.each do |flag|
|
4
|
+
next if flag.visibility == :private
|
5
|
+
|
6
|
+
if flag.visibility == :semi_private
|
7
|
+
> if [[ -n "${{{ Settings.private_reveal_key }}:-}" ]]; then
|
8
|
+
= flag.render(:usage).indent(2)
|
9
|
+
> fi
|
10
|
+
else
|
11
|
+
= flag.render :usage
|
12
|
+
end
|
5
13
|
end
|
6
14
|
|
7
15
|
>
|
@@ -4,11 +4,11 @@
|
|
4
4
|
> printf "{{ help.wrap(76).indent(4).sanitize_for_print }}\n"
|
5
5
|
|
6
6
|
if allowed
|
7
|
-
> printf " {{ strings[:allowed] % { values: allowed.join(', ') } }}
|
7
|
+
> printf " %s\n" "{{ strings[:allowed] % { values: allowed.join(', ') } }}"
|
8
8
|
end
|
9
9
|
|
10
10
|
if default
|
11
|
-
> printf " {{ strings[:default] % { value: default } }}
|
11
|
+
> printf " %s\n" "{{ strings[:default] % { value: default } }}"
|
12
12
|
end
|
13
13
|
|
14
14
|
> echo
|
@@ -0,0 +1,9 @@
|
|
1
|
+
if validate
|
2
|
+
= view_marker
|
3
|
+
|
4
|
+
> if [[ -v {{ name.upcase }} && -n $(validate_{{ validate }} "${{ name.upcase }}") ]]; then
|
5
|
+
> printf "{{ strings[:environment_variable_validation_error] }}\n" "{{ usage_string }}" "$(validate_{{ validate }} "${{ name.upcase }}")" >&2
|
6
|
+
> exit 1
|
7
|
+
> fi
|
8
|
+
>
|
9
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
if needs
|
2
|
+
|
3
|
+
= view_marker
|
4
|
+
|
5
|
+
if needs.count == 1
|
6
|
+
> if [[ -n ${args['{{ name }}']+x} ]] && [[ -z "${args[{{ needs.first }}]:-}" ]]; then
|
7
|
+
> printf "%s\n" "{{ strings[:flag_needs_another] % { name: name, need: needs.first } }}" >&2
|
8
|
+
> exit 1
|
9
|
+
> fi
|
10
|
+
>
|
11
|
+
else
|
12
|
+
> if [[ -n ${args['{{ name }}']+x} ]]; then
|
13
|
+
> for need in {{ needs.join ' ' }}; do
|
14
|
+
> if [[ -z "${args[$need]:-}" ]]; then
|
15
|
+
> printf "%s\n" "{{ strings[:flag_needs_another] % { name: name, need: "$need" } }}" >&2
|
16
|
+
> exit 1
|
17
|
+
> fi
|
18
|
+
> done
|
19
|
+
> fi
|
20
|
+
>
|
21
|
+
end
|
22
|
+
end
|
@@ -4,16 +4,24 @@
|
|
4
4
|
> printf "{{ help.wrap(76).indent(4).sanitize_for_print }}\n"
|
5
5
|
|
6
6
|
if allowed
|
7
|
-
> printf " {{ strings[:allowed] % { values: allowed.join(', ') } }}
|
7
|
+
> printf " %s\n" "{{ strings[:allowed] % { values: allowed.join(', ') } }}"
|
8
8
|
end
|
9
9
|
|
10
10
|
if default
|
11
11
|
if default.is_a? Array
|
12
|
-
> printf " {{ strings[:default] % { value: default.join(', ') } }}
|
12
|
+
> printf " %s\n" "{{ strings[:default] % { value: default.join(', ') } }}"
|
13
13
|
else
|
14
|
-
> printf " {{ strings[:default] % { value: default } }}
|
14
|
+
> printf " %s\n" "{{ strings[:default] % { value: default } }}"
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
+
if needs
|
19
|
+
> printf " %s\n" "{{ strings[:needs] % { values: needs.join(', ') } }}"
|
20
|
+
end
|
21
|
+
|
22
|
+
if conflicts
|
23
|
+
> printf " %s\n" "{{ strings[:conflicts] % { values: conflicts.join(', ') } }}"
|
24
|
+
end
|
25
|
+
|
18
26
|
> echo
|
19
27
|
>
|
data/lib/bashly.rb
CHANGED
@@ -3,53 +3,40 @@ if ENV['DEBUGGER']
|
|
3
3
|
require 'lp'
|
4
4
|
end
|
5
5
|
|
6
|
-
require '
|
7
|
-
|
8
|
-
|
9
|
-
require 'bashly/extensions/yaml'
|
10
|
-
require 'bashly/exceptions'
|
6
|
+
require 'requires'
|
7
|
+
requires 'bashly/extensions'
|
8
|
+
requires 'bashly/exceptions'
|
11
9
|
|
12
10
|
module Bashly
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
autoload :AssetHelper, 'bashly/concerns/asset_helper'
|
25
|
-
autoload :Completions, 'bashly/concerns/completions'
|
26
|
-
autoload :ComposeRefinements, 'bashly/refinements/compose_refinements'
|
27
|
-
autoload :Renderable, 'bashly/concerns/renderable'
|
28
|
-
autoload :Settings, 'bashly/settings'
|
29
|
-
autoload :ValidationHelpers, 'bashly/concerns/validation_helpers'
|
11
|
+
autoloads 'bashly/refinements', %i[ComposeRefinements]
|
12
|
+
|
13
|
+
autoloads 'bashly', %i[
|
14
|
+
CLI Config ConfigValidator Library LibrarySource LibrarySourceConfig
|
15
|
+
MessageStrings RenderContext RenderSource Settings VERSION
|
16
|
+
]
|
17
|
+
|
18
|
+
autoloads 'bashly/concerns', %i[
|
19
|
+
AssetHelper Completions Renderable ValidationHelpers
|
20
|
+
]
|
30
21
|
|
31
22
|
module Script
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
23
|
+
autoloads 'bashly/script', %i[
|
24
|
+
Argument Base CatchAll Command Dependency EnvironmentVariable Flag
|
25
|
+
Wrapper
|
26
|
+
]
|
27
|
+
|
28
|
+
module Introspection
|
29
|
+
autoloads 'bashly/script/introspection', %i[
|
30
|
+
Arguments Commands Dependencies EnvironmentVariables Examples Flags
|
31
|
+
Visibility
|
32
|
+
]
|
33
|
+
end
|
40
34
|
end
|
41
35
|
|
42
36
|
module Commands
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
autoload :Doc, 'bashly/commands/doc'
|
47
|
-
autoload :Generate, 'bashly/commands/generate'
|
48
|
-
autoload :Init, 'bashly/commands/init'
|
49
|
-
autoload :Preview, 'bashly/commands/preview'
|
50
|
-
autoload :Render, 'bashly/commands/render'
|
51
|
-
autoload :Shell, 'bashly/commands/shell'
|
52
|
-
autoload :Validate, 'bashly/commands/validate'
|
37
|
+
autoloads 'bashly/commands', %i[
|
38
|
+
Add Base Completions Doc Generate Init Preview Render Shell Validate
|
39
|
+
]
|
53
40
|
end
|
54
41
|
|
55
42
|
module Libraries
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bashly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.3
|
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: 2024-
|
11
|
+
date: 2024-10-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colsole
|
@@ -100,6 +100,20 @@ dependencies:
|
|
100
100
|
- - "~>"
|
101
101
|
- !ruby/object:Gem::Version
|
102
102
|
version: '0.7'
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: requires
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 1.1.0
|
110
|
+
type: :runtime
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - "~>"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: 1.1.0
|
103
117
|
- !ruby/object:Gem::Dependency
|
104
118
|
name: tty-markdown
|
105
119
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,6 +128,46 @@ dependencies:
|
|
114
128
|
- - "~>"
|
115
129
|
- !ruby/object:Gem::Version
|
116
130
|
version: '0.7'
|
131
|
+
- !ruby/object:Gem::Dependency
|
132
|
+
name: logger
|
133
|
+
requirement: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - ">="
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '1'
|
138
|
+
- - "<"
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: '3'
|
141
|
+
type: :runtime
|
142
|
+
prerelease: false
|
143
|
+
version_requirements: !ruby/object:Gem::Requirement
|
144
|
+
requirements:
|
145
|
+
- - ">="
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
version: '1'
|
148
|
+
- - "<"
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: '3'
|
151
|
+
- !ruby/object:Gem::Dependency
|
152
|
+
name: ostruct
|
153
|
+
requirement: !ruby/object:Gem::Requirement
|
154
|
+
requirements:
|
155
|
+
- - ">="
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '0'
|
158
|
+
- - "<"
|
159
|
+
- !ruby/object:Gem::Version
|
160
|
+
version: '2'
|
161
|
+
type: :runtime
|
162
|
+
prerelease: false
|
163
|
+
version_requirements: !ruby/object:Gem::Requirement
|
164
|
+
requirements:
|
165
|
+
- - ">="
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
version: '0'
|
168
|
+
- - "<"
|
169
|
+
- !ruby/object:Gem::Version
|
170
|
+
version: '2'
|
117
171
|
- !ruby/object:Gem::Dependency
|
118
172
|
name: psych
|
119
173
|
requirement: !ruby/object:Gem::Requirement
|
@@ -220,6 +274,13 @@ files:
|
|
220
274
|
- lib/bashly/script/dependency.rb
|
221
275
|
- lib/bashly/script/environment_variable.rb
|
222
276
|
- lib/bashly/script/flag.rb
|
277
|
+
- lib/bashly/script/introspection/arguments.rb
|
278
|
+
- lib/bashly/script/introspection/commands.rb
|
279
|
+
- lib/bashly/script/introspection/dependencies.rb
|
280
|
+
- lib/bashly/script/introspection/environment_variables.rb
|
281
|
+
- lib/bashly/script/introspection/examples.rb
|
282
|
+
- lib/bashly/script/introspection/flags.rb
|
283
|
+
- lib/bashly/script/introspection/visibility.rb
|
223
284
|
- lib/bashly/script/wrapper.rb
|
224
285
|
- lib/bashly/settings.rb
|
225
286
|
- lib/bashly/templates/bashly.yml
|
@@ -248,6 +309,7 @@ files:
|
|
248
309
|
- lib/bashly/views/command/inspect_args.gtx
|
249
310
|
- lib/bashly/views/command/long_usage.gtx
|
250
311
|
- lib/bashly/views/command/master_script.gtx
|
312
|
+
- lib/bashly/views/command/needy_flags_filter.gtx
|
251
313
|
- lib/bashly/views/command/normalize_input.gtx
|
252
314
|
- lib/bashly/views/command/normalize_input_function.gtx
|
253
315
|
- lib/bashly/views/command/normalize_input_simple.gtx
|
@@ -275,10 +337,12 @@ files:
|
|
275
337
|
- lib/bashly/views/command/version_command.gtx
|
276
338
|
- lib/bashly/views/command/whitelist_filter.gtx
|
277
339
|
- lib/bashly/views/environment_variable/usage.gtx
|
340
|
+
- lib/bashly/views/environment_variable/validations.gtx
|
278
341
|
- lib/bashly/views/flag/case.gtx
|
279
342
|
- lib/bashly/views/flag/case_arg.gtx
|
280
343
|
- lib/bashly/views/flag/case_no_arg.gtx
|
281
344
|
- lib/bashly/views/flag/conflicts.gtx
|
345
|
+
- lib/bashly/views/flag/needs.gtx
|
282
346
|
- lib/bashly/views/flag/usage.gtx
|
283
347
|
- lib/bashly/views/flag/validations.gtx
|
284
348
|
- lib/bashly/views/wrapper/bash3_bouncer.gtx
|
@@ -308,7 +372,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
308
372
|
- !ruby/object:Gem::Version
|
309
373
|
version: '0'
|
310
374
|
requirements: []
|
311
|
-
rubygems_version: 3.5.
|
375
|
+
rubygems_version: 3.5.16
|
312
376
|
signing_key:
|
313
377
|
specification_version: 4
|
314
378
|
summary: Bash Command Line Tool Generator
|