toys-core 0.11.5 → 0.13.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/CHANGELOG.md +62 -0
- data/LICENSE.md +1 -1
- data/README.md +5 -2
- data/docs/guide.md +1 -1
- data/lib/toys/acceptor.rb +13 -4
- data/lib/toys/arg_parser.rb +7 -7
- data/lib/toys/cli.rb +170 -120
- data/lib/toys/compat.rb +71 -23
- data/lib/toys/completion.rb +18 -6
- data/lib/toys/context.rb +24 -15
- data/lib/toys/core.rb +6 -2
- data/lib/toys/dsl/base.rb +87 -0
- data/lib/toys/dsl/flag.rb +26 -20
- data/lib/toys/dsl/flag_group.rb +18 -14
- data/lib/toys/dsl/internal.rb +206 -0
- data/lib/toys/dsl/positional_arg.rb +26 -16
- data/lib/toys/dsl/tool.rb +180 -218
- data/lib/toys/errors.rb +64 -8
- data/lib/toys/flag.rb +662 -656
- data/lib/toys/flag_group.rb +24 -10
- data/lib/toys/input_file.rb +13 -7
- data/lib/toys/loader.rb +293 -140
- data/lib/toys/middleware.rb +46 -22
- data/lib/toys/mixin.rb +10 -8
- data/lib/toys/positional_arg.rb +21 -20
- data/lib/toys/settings.rb +914 -0
- data/lib/toys/source_info.rb +147 -35
- data/lib/toys/standard_middleware/add_verbosity_flags.rb +2 -0
- data/lib/toys/standard_middleware/apply_config.rb +6 -4
- data/lib/toys/standard_middleware/handle_usage_errors.rb +1 -0
- data/lib/toys/standard_middleware/set_default_descriptions.rb +19 -18
- data/lib/toys/standard_middleware/show_help.rb +19 -5
- data/lib/toys/standard_middleware/show_root_version.rb +2 -0
- data/lib/toys/standard_mixins/bundler.rb +24 -15
- data/lib/toys/standard_mixins/exec.rb +43 -34
- data/lib/toys/standard_mixins/fileutils.rb +3 -1
- data/lib/toys/standard_mixins/gems.rb +21 -17
- data/lib/toys/standard_mixins/git_cache.rb +46 -0
- data/lib/toys/standard_mixins/highline.rb +8 -8
- data/lib/toys/standard_mixins/terminal.rb +5 -5
- data/lib/toys/standard_mixins/xdg.rb +56 -0
- data/lib/toys/template.rb +11 -9
- data/lib/toys/{tool.rb → tool_definition.rb} +292 -226
- data/lib/toys/utils/completion_engine.rb +7 -2
- data/lib/toys/utils/exec.rb +162 -132
- data/lib/toys/utils/gems.rb +85 -60
- data/lib/toys/utils/git_cache.rb +813 -0
- data/lib/toys/utils/help_text.rb +117 -37
- data/lib/toys/utils/terminal.rb +11 -3
- data/lib/toys/utils/xdg.rb +293 -0
- data/lib/toys/wrappable_string.rb +9 -2
- data/lib/toys-core.rb +18 -6
- metadata +14 -7
data/lib/toys-core.rb
CHANGED
@@ -17,16 +17,21 @@ module Toys
|
|
17
17
|
# Namespace for DSL classes. These classes provide the directives that can be
|
18
18
|
# used in configuration files. Most are defined in {Toys::DSL::Tool}.
|
19
19
|
#
|
20
|
-
module DSL
|
20
|
+
module DSL
|
21
|
+
end
|
21
22
|
|
22
23
|
##
|
23
24
|
# Namespace for standard middleware classes.
|
24
25
|
#
|
25
26
|
module StandardMiddleware
|
26
|
-
##
|
27
|
+
##
|
28
|
+
# @private
|
29
|
+
#
|
27
30
|
COMMON_FLAG_GROUP = :__common
|
28
31
|
|
29
|
-
##
|
32
|
+
##
|
33
|
+
# @private
|
34
|
+
#
|
30
35
|
def self.append_common_flag_group(tool)
|
31
36
|
tool.add_flag_group(type: :optional, name: COMMON_FLAG_GROUP,
|
32
37
|
desc: "Common Flags", report_collisions: false)
|
@@ -37,7 +42,8 @@ module Toys
|
|
37
42
|
##
|
38
43
|
# Namespace for standard mixin classes.
|
39
44
|
#
|
40
|
-
module StandardMixins
|
45
|
+
module StandardMixins
|
46
|
+
end
|
41
47
|
|
42
48
|
##
|
43
49
|
# Namespace for common utility classes.
|
@@ -46,7 +52,8 @@ module Toys
|
|
46
52
|
# For example, before using {Toys::Utils::Exec}, you must
|
47
53
|
# `require "toys/utils/exec"`.
|
48
54
|
#
|
49
|
-
module Utils
|
55
|
+
module Utils
|
56
|
+
end
|
50
57
|
|
51
58
|
class << self
|
52
59
|
##
|
@@ -59,7 +66,9 @@ module Toys
|
|
59
66
|
attr_accessor :executable_path
|
60
67
|
end
|
61
68
|
|
69
|
+
##
|
62
70
|
# @private
|
71
|
+
#
|
63
72
|
CORE_LIB_PATH = __dir__
|
64
73
|
end
|
65
74
|
|
@@ -70,8 +79,10 @@ require "toys/compat"
|
|
70
79
|
require "toys/completion"
|
71
80
|
require "toys/context"
|
72
81
|
require "toys/core"
|
82
|
+
require "toys/dsl/base"
|
73
83
|
require "toys/dsl/flag"
|
74
84
|
require "toys/dsl/flag_group"
|
85
|
+
require "toys/dsl/internal"
|
75
86
|
require "toys/dsl/positional_arg"
|
76
87
|
require "toys/dsl/tool"
|
77
88
|
require "toys/errors"
|
@@ -83,7 +94,8 @@ require "toys/middleware"
|
|
83
94
|
require "toys/mixin"
|
84
95
|
require "toys/module_lookup"
|
85
96
|
require "toys/positional_arg"
|
97
|
+
require "toys/settings"
|
86
98
|
require "toys/source_info"
|
87
99
|
require "toys/template"
|
88
|
-
require "toys/
|
100
|
+
require "toys/tool_definition"
|
89
101
|
require "toys/wrappable_string"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: toys-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.13.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Azuma
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-02-08 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Toys-Core is the command line tool framework underlying Toys. It can
|
14
14
|
be used to create command line executables using the Toys DSL and classes.
|
@@ -31,8 +31,10 @@ files:
|
|
31
31
|
- lib/toys/completion.rb
|
32
32
|
- lib/toys/context.rb
|
33
33
|
- lib/toys/core.rb
|
34
|
+
- lib/toys/dsl/base.rb
|
34
35
|
- lib/toys/dsl/flag.rb
|
35
36
|
- lib/toys/dsl/flag_group.rb
|
37
|
+
- lib/toys/dsl/internal.rb
|
36
38
|
- lib/toys/dsl/positional_arg.rb
|
37
39
|
- lib/toys/dsl/tool.rb
|
38
40
|
- lib/toys/errors.rb
|
@@ -44,6 +46,7 @@ files:
|
|
44
46
|
- lib/toys/mixin.rb
|
45
47
|
- lib/toys/module_lookup.rb
|
46
48
|
- lib/toys/positional_arg.rb
|
49
|
+
- lib/toys/settings.rb
|
47
50
|
- lib/toys/source_info.rb
|
48
51
|
- lib/toys/standard_middleware/add_verbosity_flags.rb
|
49
52
|
- lib/toys/standard_middleware/apply_config.rb
|
@@ -55,24 +58,28 @@ files:
|
|
55
58
|
- lib/toys/standard_mixins/exec.rb
|
56
59
|
- lib/toys/standard_mixins/fileutils.rb
|
57
60
|
- lib/toys/standard_mixins/gems.rb
|
61
|
+
- lib/toys/standard_mixins/git_cache.rb
|
58
62
|
- lib/toys/standard_mixins/highline.rb
|
59
63
|
- lib/toys/standard_mixins/terminal.rb
|
64
|
+
- lib/toys/standard_mixins/xdg.rb
|
60
65
|
- lib/toys/template.rb
|
61
|
-
- lib/toys/
|
66
|
+
- lib/toys/tool_definition.rb
|
62
67
|
- lib/toys/utils/completion_engine.rb
|
63
68
|
- lib/toys/utils/exec.rb
|
64
69
|
- lib/toys/utils/gems.rb
|
70
|
+
- lib/toys/utils/git_cache.rb
|
65
71
|
- lib/toys/utils/help_text.rb
|
66
72
|
- lib/toys/utils/terminal.rb
|
73
|
+
- lib/toys/utils/xdg.rb
|
67
74
|
- lib/toys/wrappable_string.rb
|
68
75
|
homepage: https://github.com/dazuma/toys
|
69
76
|
licenses:
|
70
77
|
- MIT
|
71
78
|
metadata:
|
72
|
-
changelog_uri: https://dazuma.github.io/toys/gems/toys-core/v0.
|
79
|
+
changelog_uri: https://dazuma.github.io/toys/gems/toys-core/v0.13.0/file.CHANGELOG.html
|
73
80
|
source_code_uri: https://github.com/dazuma/toys/tree/main/toys-core
|
74
81
|
bug_tracker_uri: https://github.com/dazuma/toys/issues
|
75
|
-
documentation_uri: https://dazuma.github.io/toys/gems/toys-core/v0.
|
82
|
+
documentation_uri: https://dazuma.github.io/toys/gems/toys-core/v0.13.0
|
76
83
|
post_install_message:
|
77
84
|
rdoc_options: []
|
78
85
|
require_paths:
|
@@ -81,14 +88,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
81
88
|
requirements:
|
82
89
|
- - ">="
|
83
90
|
- !ruby/object:Gem::Version
|
84
|
-
version: 2.
|
91
|
+
version: 2.4.0
|
85
92
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
86
93
|
requirements:
|
87
94
|
- - ">="
|
88
95
|
- !ruby/object:Gem::Version
|
89
96
|
version: '0'
|
90
97
|
requirements: []
|
91
|
-
rubygems_version: 3.1.
|
98
|
+
rubygems_version: 3.1.6
|
92
99
|
signing_key:
|
93
100
|
specification_version: 4
|
94
101
|
summary: Framework for creating command line executables
|