bashly 1.2.1 → 1.2.3
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/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
|